Closed Bug 1396419 Opened 8 years ago Closed 8 years ago

Crash in mozilla::PeerConnectionImpl::ExecuteStatsQuery_s

Categories

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

55 Branch
All
Windows
defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- wontfix
firefox56 --- wontfix
firefox57 --- fixed

People

(Reporter: philipp, Assigned: mjf)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is report bp-de4a6ebb-1724-4ab4-bef6-874ad0170903. ============================================================= Crashing Thread (11), Name: Socket Thread Frame Module Signature Source 0 xul.dll mozilla::PeerConnectionImpl::ExecuteStatsQuery_s(mozilla::RTCStatsQuery*) media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:3688 1 xul.dll mozilla::EverySecondTelemetryCallback_s media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.cpp:228 2 xul.dll mozilla::runnable_args_func<void (*)(nsAutoPtr<std::deque<mozilla::TransportLayer*, std::allocator<mozilla::TransportLayer*> > >), nsAutoPtr<std::deque<mozilla::TransportLayer*, std::allocator<mozilla::TransportLayer*> > > >::Run() media/mtransport/runnable_utils.h:121 3 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1446 4 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/threads/nsThreadUtils.cpp:480 5 xul.dll mozilla::net::nsSocketTransportService::Run() netwerk/base/nsSocketTransportService2.cpp:976 6 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1446 7 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/threads/nsThreadUtils.cpp:480 8 xul.dll mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:339 9 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:319 10 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:299 11 xul.dll nsThread::ThreadFunc(void*) xpcom/threads/nsThread.cpp:506 12 nss3.dll _PR_NativeRunThread nsprpub/pr/src/threads/combined/pruthr.c:397 13 nss3.dll pr_root nsprpub/pr/src/md/windows/w95thred.c:95 14 ucrtbase.dll thread_start<unsigned int (__stdcall*)(void*)> 15 kernel32.dll BaseThreadInitThunk 16 mozglue.dll patched_BaseThreadInitThunk mozglue/build/WindowsDllBlocklist.cpp:815 17 ntdll.dll __RtlUserThreadStart 18 ntdll.dll _RtlUserThreadStart crashes with this signature seem to be regressing in firefox 55 and their volume is getting worse during the 56.0b cycle.
Rank: 12
Priority: -- → P1
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
Flags: needinfo?(na-g)
Flags: needinfo?(na-g) → needinfo?(mfroman)
I'll take a look.
Flags: needinfo?(mfroman)
Assignee: nobody → mfroman
Comment on attachment 8910007 [details] Bug 1396419 - adding null checks to avoid intermittent crash. https://reviewboard.mozilla.org/r/181484/#review186750 Any idea how we get into the situation where the pipeline or it's conduit are gone?
Attachment #8910007 - Flags: review?(drno) → review+
Comment on attachment 8910007 [details] Bug 1396419 - adding null checks to avoid intermittent crash. https://reviewboard.mozilla.org/r/181484/#review186762 ::: media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:3716 (Diff revision 1) > ASSERT_ON_THREAD(query->iceCtx->thread()); > > // Gather stats from pipelines provided (can't touch mMedia + stream on STS) > > for (size_t p = 0; p < query->pipelines.Length(); ++p) { > + MOZ_ASSERT(query->pipelines[p]); Drive-by, unrequested comment that this will still crash in debug builds because of the asserts. Is that desirable?
Comment on attachment 8910007 [details] Bug 1396419 - adding null checks to avoid intermittent crash. https://reviewboard.mozilla.org/r/181484/#review186750 No, and that was my reason for adding the asserts (see below reply to Nico).
Comment on attachment 8910007 [details] Bug 1396419 - adding null checks to avoid intermittent crash. https://reviewboard.mozilla.org/r/181484/#review186762 > Drive-by, unrequested comment that this will still crash in debug builds because of the asserts. Is that desirable? I will remove them if you feel strongly, but because I don't know why we're getting into this state I'd like a debug build to assert to potentially catch it. I suspect this is a teardown timing issue, but have nothing to base that on but gut feeling.
Comment on attachment 8910007 [details] Bug 1396419 - adding null checks to avoid intermittent crash. https://reviewboard.mozilla.org/r/181484/#review186762 > I will remove them if you feel strongly, but because I don't know why we're getting into this state I'd like a debug build to assert to potentially catch it. I suspect this is a teardown timing issue, but have nothing to base that on but gut feeling. Just double checking the intent. Dropping.
After looking at the distribution in the crash reports, it looks like we've had only 2 crashes in 57 (~2%), ~36% in 55, and the remaining ~62% in 56. I see 56 is marked as won't fix, but should we reconsider that?
Flags: needinfo?(drno)
56 RC was cut on Monday (Sept. 18th).
Pushed by mfroman@nostrum.com: https://hg.mozilla.org/integration/autoland/rev/648e06c8b1b5 adding null checks to avoid intermittent crash. r=drno
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
crashes with this signature are still ongoing in 57beta - do we need to reopen this bug or should a new one be filed?
Flags: needinfo?(mfroman)
I've been watching this - we have a trio of what I'm beginning to suspect are related. This bug, Bug 1389793, and a new one, Bug 1405940. I'm starting with 1405940 now.
Flags: needinfo?(mfroman)
Here is a another one which apparently has the new asserts and continue statements in it, but still crashed at the old place: https://crash-stats.mozilla.com/report/index/ae6e78c7-c50c-43fc-846d-783ef0171205#tab-details I guess that means something destroys the conduit while the stats query is going it's loop. I'm also wondering if this has the same root cause as bug 1389793. Michael should we re-open this bug, or do we continue over in bug 1389793?
Flags: needinfo?(drno) → needinfo?(mfroman)
See Also: → 1389793
I think continuing in Bug 1389793 is probably sufficient.
Flags: needinfo?(mfroman)
Blocks: meet
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: