Closed Bug 1582190 Opened 2 years ago Closed 2 years ago

Crash in [@ mozilla::PeerConnectionImpl::GetDatachannelParameters]

Categories

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

Unspecified
Windows 10
defect

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- wontfix
firefox-esr68 --- wontfix
firefox67 --- wontfix
firefox68 --- wontfix
firefox69 --- wontfix
firefox70 --- wontfix
firefox71 --- fixed

People

(Reporter: bwc, Assigned: bwc)

References

Details

(Keywords: crash)

Crash Data

Attachments

(3 files)

This bug is for crash report bp-7eff701d-b283-41cd-93cf-dab630190915.

Top 10 frames of crashing thread:

0 xul.dll nsresult mozilla::PeerConnectionImpl::GetDatachannelParameters media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:912
1 xul.dll nsresult mozilla::PeerConnectionImpl::InitializeDataChannel media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:1024
2 xul.dll mozilla::PeerConnectionImpl::SetSignalingState_m media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:2261
3 xul.dll mozilla::PeerConnectionImpl::SetLocalDescription media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:1303
4 xul.dll static bool mozilla::dom::PeerConnectionImpl_Binding::setLocalDescription dom/bindings/PeerConnectionImplBinding.cpp:227
5 xul.dll mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions> dom/bindings/BindingUtils.cpp:3181
6 xul.dll js::InternalCallOrConstruct js/src/vm/Interpreter.cpp:540
7 xul.dll static bool InternalCall js/src/vm/Interpreter.cpp:595
8 xul.dll static bool Interpret js/src/vm/Interpreter.cpp:3088
9 xul.dll js::RunScript js/src/vm/Interpreter.cpp:425

Looks like a nullptr crash, perhaps caused by not checking whether a JsepTransceiver is closed before trying to get transport parameters out of it.

Yeah, the transport object does not necessarily live on the datachannel transceiver. This code is just broken. I'm going to write some tests.

Try looks good.

Pushed by bcampen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/650cdeb64391
Add test-case that reproduces this bug. r=jib
https://hg.mozilla.org/integration/autoland/rev/298906d6f07e
Get transport-related parameters for datachannel from the bundle-tag, if bundle is being used. r=mjf
https://hg.mozilla.org/integration/autoland/rev/147fe8671a55
Close DataChannelConnection when datachannel negotiation fails for some reason. r=ng
Failed to create upstream wpt PR due to merge conflicts. This requires fixup from a wpt sync admin.
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/19468 for changes under testing/web-platform/tests
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(wptsync)
Resolution: --- → FIXED
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Upstream PR merged by moz-wptsync-bot
Flags: in-testsuite+
Target Milestone: --- → mozilla71
Regressions: 1586633
You need to log in before you can comment on or make changes to this bug.