Closed Bug 1626029 Opened 6 years ago Closed 6 years ago

Firefox 74 is spamming my network w/ millions of mDNS (?) requests.

Categories

(Core :: WebRTC: Networking, defect, P1)

74 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: gilboad, Assigned: dminor)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0

Steps to reproduce:

Fedora 31 (Linux, x86_64 build):
Since the upgrade to 74 firefox seems to be spamming my network w/ what looks like mDNS requests.

Because mDNS is blocked by my local machine iptables firewall, firefox is sending > 100 failed mDNS requests a second to no end, flooding my log file.

Far worse, it took me ages to locate which process is sending the mDNS requests (as the request never goes out), took me a while, but I managed to confirm that indeed firefix is the culprit.
$ netstat -nlvp | grep 5353
udp 0 0 0.0.0.0:5353 0.0.0.0:* 2676951/firefox

The only means to stop the flood is either kill firefox, or momentarily stopping the iptables, letting the mDNS request through, and restarting it again after 30 seconds.

Actual results:

  • Millions of failed mDNS requests.
  • Log spam.

Expected results:

  • Firefox is most likely ignoring EPERM errors, generated by iptables blocking the request.
  • Visible error message, which such a request fails.
  • A way to disable mDNS requests.

May or may not be relevant (WebRTC?):

  1. I have an open Google hangouts tab.
  2. I have multiple open Google mail / drive and youtube tabs.
  3. I have an open web-based WhatsApp tab.

Double checked.

  • Avahi daemon is removed from the machine.
  • mDNS is not present in /etc/nsswitch.conf

Forgot to add, the requests are mDNS multicast requests to 224.0.0.251.

Hi,

We do not have right environment set up in order to reproduce this issue but I will set the component for it and maybe one of our developers will be able to reproduce it on their end.

Thanks for the report.

Best regards,

Clara.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

(In reply to Clara Guerrero from comment #4)

Hi,

We do not have right environment set up in order to reproduce this issue but I will set the component for it and maybe one of our developers will be able to reproduce it on their end.

Thanks for the report.

Best regards,

Clara.

A. Thanks for the fast response.
B. Being a developer by trade. If you need any assistance trying to remotely debug this (e.g. traces, gdb, etc), please let me know.

  • Gilboa
Component: Widget: Gtk → WebRTC: Networking

Sorry about the delay, I didn't see this bug until just now. You're correct, we're not handling EPERM currently. I'll have a patch up for review shortly. For now, you can disable mDNS by setting media.peerconnection.ice.obfuscate_host_addresses to false in about:config.

Assignee: nobody → dminor
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P1

We currently retry sending queries on all failures to write to the socket on
the assumption that write errors represent transient errors. With this change,
we treat EPERM has a permanent error and drop queries if we see it. This is
not a problem when sending answers, as we don't retry in case of errors there,
on the assumption that the other side will retry their query in the future.

We do have code to limit the number of times we attempt an mDNS query, but we
didn't hit it in this case, because it only counts sends that are successful.

Pushed by dminor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1c17543d6342 Don't attempt to resend mDNS packets on EPERM; r=mjf
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: