Closed Bug 1763832 Opened 3 months ago Closed 3 months ago

Discord broken: Chromium users can't see&hear me talk

Categories

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

x86_64
All
defect

Tracking

()

VERIFIED FIXED
101 Branch
Webcompat Priority ?
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- unaffected
firefox100 --- unaffected
firefox101 + verified

People

(Reporter: jan, Assigned: bwc)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(12 files)

Attached video 2022-04-08_18-04-06.mp4

Debian Testing, Gnome Wayland, Intel Macbook Pro

After joining the channel, others users (Chromium) see me shortly green as if I was talking for a part of a second.
After this, no one sees or hears me talking.

mozregression --good 2022-04-04 --bad 2022-04-06 -a https://discord.gg/xxxxxxxxxxxxxx

26:24.91 INFO: Last good revision: 056457fa52febdeee37b554ce563ecd0b4f336ae
26:24.91 INFO: First bad revision: f853e1e31b3862bcb514005accfd7405ece5225d
26:24.91 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=056457fa52febdeee37b554ce563ecd0b4f336ae&tochange=f853e1e31b3862bcb514005accfd7405ece5225d

f853e1e31b3862bcb514005accfd7405ece5225d Byron Campen — Bug 1616937: Fix some warnings from clang-tidy on pre-existing code. r=mjf
6908b674bc94430e1956cf66049f0ec6e4f4310f Byron Campen — Bug 1616937: Move some sender and receiver logic to RTCRtpSender/Receiver. r=mjf
91a1718d9a5a57f6660d2eb350eb9eff6619567a Byron Campen — Bug 1616937: Improve error handling during conduit updates. r=mjf
f045541b25753d63f5e05177697263a7bd2d9727 Byron Campen — Bug 1616937: Hold strong refs to the PC in Transceiver/Sender/Receiver. r=mjf
41ff3e562389dc586985302c710f034f13f5dd74 Byron Campen — Bug 1616937: Remove main thread parameters/members. r=mjf
31d4e8adf1dc76bab13e45ef3ba578651744232e Byron Campen — Bug 1616937: Move RTCRtpSender to c++ r=mjf,webidl,smaug
235f461a1229a4695210fbcba292ca64140c51f4 Byron Campen — Bug 1624989: Some simplifications that are possible because PeerConnectionImpl is cycle-collected. r=jib
d570e7369906010743035437ff6ff4b4c7a34e67 Byron Campen [:bwc] — Bug 1624989: Move RTCPeerConnection's operations chain to c++ r=jib,webidl,smaug

:bwc, since you are the author of the regressor, bug 1616937, could you take a look?
For more information, please visit auto_nag documentation.

Flags: needinfo?(docfaraday)
Attached file aboutsupport.txt
Attached file aboutsupport.json

Profile with Media Preset: https://share.firefox.dev/35SqqzF
made with: mozregression --repo autoland --launch f853e1e31b3862bcb514005accfd7405ece5225d -a https://discord.gg/xxxxxxxxxxxxxx

There is no crash (no Nightly crash report, no Asan Nightly crash report), it just doesn't work.

Could you attach a copy of about:webrtc? I suspect this is a site issue, but not sure about the details.

Flags: needinfo?(docfaraday)
Flags: needinfo?(jan)
Attached file aboutWebrtc.html

mozregression --launch 20220408094506 -a https://discord.com/channels/xxxxxxxx -a about:webrtc

Flags: needinfo?(jan)
Attached file aboutWebrtc2.html

The push contained commits from two bugs. Adding the other one.

Regressed by: 1624989
Attached file aboutWebrtc_win10.html

Problem also occurs on Win10.

OS: Linux → All
Attached file aboutsupport_win10.txt
Has Regression Range: --- → yes

I'm seeing multiple problems here. For some reason, discord stopped putting ssrc attributes in its SDP, has apparently never supported the RTP MID extension, and uses multiple bundled audio m-sections with the same payload type. This can never work; it is impossible to determine what m-section an incoming RTP packet belongs to.

Actually, it is worse than this; the audio m-section provided in the remote SDP is recvonly. If discord is saying that it is not going to send any data, of course we won't be receiving any...

about:webrtc from last good autoland build:
mozregression --repo autoland --launch 056457fa52febdeee37b554ce563ecd0b4f336ae -a https://discord.gg/xxxxxxx -a about:webrtc

about:webrtc from first bad autoland build:
mozregression --repo autoland --launch f853e1e31b3862bcb514005accfd7405ece5225d -a https://discord.gg/xxxxxxxx -a about:webrtc

Ok, this is really weird. Minutes after joining the room, discord decided to renegotiate. Now it seems to be negotiating properly? This inconsistent operation is making it really hard to figure out what is going on.

Ok, now that I have some baseline functionality, I think I see the problem. Running a fix through its paces.

Webcompat Priority: --- → ?
Assignee: nobody → docfaraday
Status: NEW → ASSIGNED

Patches resolve the issue for me, can you check that the try build works for you as well?

Flags: needinfo?(jan)

Debian Testing, Gnome Wayland, Intel Macbook Pro

Today's Nightly 20220412094307 is still broken.

The try build is good/fixed. Thanks!
mozregression --repo try --launch eddb069ca4a1a38d26648505a6e83cfcfbc7e39e -a https://discord.com/invite/xxxxxxx -a about:webrtc

Flags: needinfo?(jan)

Awesome, thanks for the bug report and the verification!

Pushed by bcampen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fcd802d2e400
Test-case for bug. r=mjf
https://hg.mozilla.org/integration/autoland/rev/e475c8d65a8d
Make sure we update the pipeline track even when not sending. r=mjf
Severity: -- → S2
Priority: -- → P1
Duplicate of this bug: 1763852
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
Flags: qe-verify+

I managed to reproduce the issue on a 2022-04-08 Nightly build on macOS 11. Verified as fixed on Nightly 102.0a1(20220516215740) and Firefox 101.0b7(20220515185854) on Win10, Ubuntu 20.04, macOS 11.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.