question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

M_LIMIT_EXCEEDED error due to multiple networks (Docker) when trying to make or receive a voice call

See original GitHub issue

Steps to reproduce

When making or receiving calls I got a pop-up message each time saying M_LIMIT_EXCEEDED and the call was immediately disconnected. The solution for me was to remove some of my Docker networks.

I accumulated a large number of Docker networks over a period of many months, so it’s hard to say whether creating them manually will trigger this error. However the problem was definitely solved by removing them as a call beforehand failed with the above error but a subsequent call after removing the networks connected successfully. I’m also not sure exactly how many Docker networks are needed in order to trigger the error but I probably had 20 to 30 at a guess. After deletion I currently have only 4 and calls now work fine.

I’m not sure if this is a problem with Element, the homeserver, Firefox’s implementation of WebRTC or something else. If it’s not down to Element then could you let me know and I’ll report this to the relevant people?

I’m not an expert in ICE, STUN, and WebRTC but I’d imagine the solution would be to filter out the Docker networks so that they are never used during call set-up.

Outcome

What did you expect?

For the call to be established correctly.

What happened instead?

The call seemed to connect however almost immediately a pop-up containing the message M_LIMIT_EXCEEDED was shown and the call was disconnected.

Operating system

Arch Linux 5.19.13-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 04 Oct 2022 14:36:58 +0000 x86_64 GNU/Linux

Browser information

Firefox 105.0.3 (64-bit)

URL for webapp

https://app.element.io/

Application version

Element version: 1.11.8, Olm version: 3.2.12

Homeserver

matrix.org

Will you send logs?

No

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
polaris64commented, Oct 13, 2022

@MadLittleMods I just deleted the highlighted item in my screenshot and refreshed the Element web app. Now I can see entries being added (under logs and logslastmod) so it looks like it’s working again.

Sadly though that means that I don’t have logs for the period of time when I was getting these errors, so I’ll have to try to reproduce them and then send over the new logs.

0reactions
MadLittleModscommented, Oct 13, 2022

@polaris64 I’m not sure how the logs exactly work 🙇. Perhaps you have a browser setting that doesn’t allow or clears IndexedDB 🤷

For reference, I see a bunch of entries in the IndexedDB logs in Firefox and Chrome.

In any case, it looks like the information we need isn’t available so you will need to figure out how to make the logs record and reproduce again to get the details needed here.

Read more comments on GitHub >

github_iconTop Results From Across the Web

4 Reasons Why Your Docker Containers Can't Talk to Each ...
A container can belong to more than one network, and a network can have multiple containers inside. To find out if two containers...
Read more >
Networking with overlay networks - Docker Documentation
Use an overlay network for standalone containers shows how to communicate between standalone containers on different Docker daemons using an overlay network.
Read more >
Use overlay networks | Docker Documentation
The overlay network driver creates a distributed network among multiple Docker daemon hosts. This network sits on top of (overlays) the host-specific networks, ......
Read more >
docker network create - Docker Documentation
If you want to create a network that spans multiple Docker hosts each running an Engine, you must create an overlay network.
Read more >
Networking with standalone containers - Docker Documentation
In this example, you start two different alpine containers on the same Docker host and do some tests to understand how they communicate...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found