Closed Bug 1517711 Opened 5 years ago Closed 5 years ago

Intermittent /feature-policy/reporting/microphone-report-only.https.html | application crashed [@ mozilla::detail::MutexImpl::lock()]

Categories

(Core :: Audio/Video: MediaStreamGraph, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox-esr60 --- unaffected
firefox64 --- unaffected
firefox65 --- fixed
firefox66 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: pehrsons)

References

Details

(Keywords: crash, intermittent-failure)

Crash Data

Attachments

(2 files)

Filed by: csabou [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=219933237&repo=autoland

https://queue.taskcluster.net/v1/task/N0Ms7obETWai7i_5C2u7aw/runs/0/artifacts/public/logs/live_backing.log

[task 2019-01-04T09:33:02.029Z] 09:33:02     INFO - PROCESS-CRASH | /feature-policy/reporting/microphone-report-only.https.html | application crashed [@ mozilla::detail::MutexImpl::lock()]
[task 2019-01-04T09:33:02.030Z] 09:33:02     INFO - Crash dump filename: /tmp/tmp2cZk4y.mozrunner/minidumps/276203e5-49ed-5283-3404-cb0bd92b5875.dmp
[task 2019-01-04T09:33:02.031Z] 09:33:02     INFO - Operating system: Linux
[task 2019-01-04T09:33:02.032Z] 09:33:02     INFO -                   0.0.0 Linux 4.4.0-1014-aws #14taskcluster1-Ubuntu SMP Tue Apr 3 10:27:00 UTC 2018 x86_64
[task 2019-01-04T09:33:02.032Z] 09:33:02     INFO - CPU: x86
[task 2019-01-04T09:33:02.033Z] 09:33:02     INFO -      GenuineIntel family 6 model 62 stepping 4
[task 2019-01-04T09:33:02.033Z] 09:33:02     INFO -      4 CPUs
[task 2019-01-04T09:33:02.034Z] 09:33:02     INFO - 
[task 2019-01-04T09:33:02.035Z] 09:33:02     INFO - GPU: UNKNOWN
[task 2019-01-04T09:33:02.035Z] 09:33:02     INFO - 
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO - Crash reason:  SIGSEGV /SEGV_MAPERR
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO - Crash address: 0x0
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO - Process uptime: not available
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO - 
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO - Thread 29 (crashed)
[task 2019-01-04T09:33:02.036Z] 09:33:02     INFO -  0  firefox-bin!mozilla::detail::MutexImpl::lock() [Mutex_posix.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 125 + 0x0]
[task 2019-01-04T09:33:02.037Z] 09:33:02     INFO -     eip = 0x5657c587   esp = 0xe4dd5930   ebp = 0xe4dd5948   ebx = 0x565ae000
[task 2019-01-04T09:33:02.038Z] 09:33:02     INFO -     esi = 0x5659f197   edi = 0xe79b7540   eax = 0x5659f1d8   ecx = 0x565ae514
[task 2019-01-04T09:33:02.039Z] 09:33:02     INFO -     edx = 0x00000000   efl = 0x00210282
[task 2019-01-04T09:33:02.039Z] 09:33:02     INFO -     Found by: given as instruction pointer in context
[task 2019-01-04T09:33:02.039Z] 09:33:02     INFO -  1  libxul.so!mozilla::OffTheBooksMutex::Lock() [BlockingResourceBase.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 347 + 0x8]
[task 2019-01-04T09:33:02.040Z] 09:33:02     INFO -     eip = 0xed1d7bb9   esp = 0xe4dd5950   ebp = 0xe4dd5968   ebx = 0xf5464000
[task 2019-01-04T09:33:02.040Z] 09:33:02     INFO -     esi = 0xe79b7528   edi = 0xe79b7540
[task 2019-01-04T09:33:02.041Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -  2  libxul.so!mozilla::SourceMediaStream::SetPullingEnabled(int, bool)::Message::Run() [Mutex.h:777128d1fd48dff16999326fb8a475784a5de03a : 159 + 0x8]
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -     eip = 0xef3bd895   esp = 0xe4dd5970   ebp = 0xe4dd5998   ebx = 0xf5464000
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -     esi = 0xe4dd5978   edi = 0xe5fd11a0
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -  3  libxul.so!mozilla::MediaStreamGraphImpl::RunMessagesInQueue() [MediaStreamGraph.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 1175 + 0x9]
[task 2019-01-04T09:33:02.042Z] 09:33:02     INFO -     eip = 0xef3abd2f   esp = 0xe4dd59a0   ebp = 0xe4dd5af8   ebx = 0xf5464000
[task 2019-01-04T09:33:02.043Z] 09:33:02     INFO -     esi = 0x00000008   edi = 0x00000000
[task 2019-01-04T09:33:02.044Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.044Z] 09:33:02     INFO -  4  libxul.so!mozilla::MediaStreamGraphImpl::OneIteration(long long) [MediaStreamGraph.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 1392 + 0xc]
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     eip = 0xef3ad518   esp = 0xe4dd5b00   ebp = 0xe4dd5c58   ebx = 0xf5464000
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     esi = 0x00000000   edi = 0x00049800
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -  5  libxul.so!mozilla::ThreadedDriver::RunThread() [GraphDriver.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 306 + 0xf]
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     eip = 0xef2c87a3   esp = 0xe4dd5c60   ebp = 0xe4dd5c98   ebx = 0xf5464000
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     esi = 0x00049800   edi = 0xe5ffb060
[task 2019-01-04T09:33:02.045Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.046Z] 09:33:02     INFO -  6  libxul.so!mozilla::MediaStreamGraphInitThreadRunnable::Run() [GraphDriver.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 204 + 0x8]
[task 2019-01-04T09:33:02.046Z] 09:33:02     INFO -     eip = 0xef2d5620   esp = 0xe4dd5ca0   ebp = 0xe4dd5ce8   ebx = 0xf5464000
[task 2019-01-04T09:33:02.046Z] 09:33:02     INFO -     esi = 0xe5fd1134   edi = 0xe5fd1134
[task 2019-01-04T09:33:02.046Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.046Z] 09:33:02     INFO -  7  libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 1157 + 0x8]
[task 2019-01-04T09:33:02.048Z] 09:33:02     INFO -     eip = 0xed1f8770   esp = 0xe4dd5cf0   ebp = 0xe4dd6208   ebx = 0xf5464000
[task 2019-01-04T09:33:02.048Z] 09:33:02     INFO -     esi = 0xe4dd5d58   edi = 0xe5fcf200
[task 2019-01-04T09:33:02.048Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.049Z] 09:33:02     INFO -  8  libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 468 + 0x11]
[task 2019-01-04T09:33:02.049Z] 09:33:02     INFO -     eip = 0xed1fb2ba   esp = 0xe4dd6210   ebp = 0xe4dd6238   ebx = 0xf5464000
[task 2019-01-04T09:33:02.050Z] 09:33:02     INFO -     esi = 0xe4dd622b   edi = 0xe70e1f10
[task 2019-01-04T09:33:02.050Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.050Z] 09:33:02     INFO -  9  libxul.so!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [MessagePump.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 303 + 0x13]
[task 2019-01-04T09:33:02.050Z] 09:33:02     INFO -     eip = 0xed744ec5   esp = 0xe4dd6240   ebp = 0xe4dd6278   ebx = 0xf5464000
[task 2019-01-04T09:33:02.051Z] 09:33:02     INFO -     esi = 0xe5ffd080   edi = 0xe70e1f10
[task 2019-01-04T09:33:02.052Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.053Z] 09:33:02     INFO - 10  libxul.so!MessageLoop::RunInternal() [message_loop.cc:777128d1fd48dff16999326fb8a475784a5de03a : 314 + 0xb]
[task 2019-01-04T09:33:02.053Z] 09:33:02     INFO -     eip = 0xed70181f   esp = 0xe4dd6280   ebp = 0xe4dd62a8   ebx = 0xf5464000
[task 2019-01-04T09:33:02.053Z] 09:33:02     INFO -     esi = 0xe70e1f10   edi = 0xe4dd62b8
[task 2019-01-04T09:33:02.053Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.055Z] 09:33:02     INFO - 11  libxul.so!MessageLoop::Run() [message_loop.cc:777128d1fd48dff16999326fb8a475784a5de03a : 307 + 0x8]
[task 2019-01-04T09:33:02.055Z] 09:33:02     INFO -     eip = 0xed70177c   esp = 0xe4dd62b0   ebp = 0xe4dd62d8   ebx = 0xf5464000
[task 2019-01-04T09:33:02.055Z] 09:33:02     INFO -     esi = 0xe70e1f10   edi = 0xe4dd62b8
[task 2019-01-04T09:33:02.055Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.056Z] 09:33:02     INFO - 12  libxul.so!nsThread::ThreadFunc(void*) [nsThread.cpp:777128d1fd48dff16999326fb8a475784a5de03a : 450 + 0x8]
[task 2019-01-04T09:33:02.057Z] 09:33:02     INFO -     eip = 0xed1f60a1   esp = 0xe4dd62e0   ebp = 0xe4dd6328   ebx = 0xf5464000
[task 2019-01-04T09:33:02.058Z] 09:33:02     INFO -     esi = 0xe70e1f10   edi = 0xe5fcf200
[task 2019-01-04T09:33:02.058Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.058Z] 09:33:02     INFO - 13  libnspr4.so!_pt_root [ptthread.c:777128d1fd48dff16999326fb8a475784a5de03a : 201 + 0x6]
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO -     eip = 0xf737716a   esp = 0xe4dd6330   ebp = 0xe4dd6368   ebx = 0xf7388000
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO -     esi = 0xf738a348   edi = 0xe5ff81c0
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO - 14  libpthread-2.23.so + 0x6295
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO -     eip = 0xf7748295   esp = 0xe4dd6370   ebp = 0xe4dd6428   ebx = 0x00000000
[task 2019-01-04T09:33:02.059Z] 09:33:02     INFO -     esi = 0x00000000   edi = 0x003d0f00
[task 2019-01-04T09:33:02.060Z] 09:33:02     INFO -     Found by: call frame info
[task 2019-01-04T09:33:02.060Z] 09:33:02     INFO - 15  libc-2.23.so + 0xe70ae
[task 2019-01-04T09:33:02.060Z] 09:33:02     INFO -     eip = 0xf74730ae   esp = 0xe4dd6430   ebp = 0x00000000
[task 2019-01-04T09:33:02.060Z] 09:33:02     INFO -     Found by: previous frame's frame pointer
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Assignee: nobody → apehrson
Status: RESOLVED → REOPENED
Rank: 11
Component: DOM → Audio/Video: MediaStreamGraph
Priority: P5 → P2
Resolution: DUPLICATE → ---
See Also: → 1517710

Bug 1517710 fixed part of the problem -- that we grabbed GraphImpl() on the media thread when a MediaStream may get Destroy()ed on main thread before our main thread runnable ran.

However, GraphImpl() is reset on the MediaStreamGraph thread, so checking it on the main thread like bug 1517710 did is not enough. We have IsDestroyed() for that. Trivial fix.

Blocks: 1513973
Blocks: 1518232
Blocks: 1518046
Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f134e4af88f7
Check for a destroyed MediaStream on the right thread. r=padenot
https://hg.mozilla.org/integration/autoland/rev/c2de6f3221df
Guard other uses of SetPullingEnabled too. r=padenot
Status: ASSIGNED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66

Please request Beta approval on this when you're comfortable doing so.

Flags: needinfo?(apehrson)

Comment on attachment 9034900 [details]
Bug 1517711 - Check for a destroyed MediaStream on the right thread. r?padenot

[Beta/Release Uplift Approval Request]

Feature/Bug causing the regression: Bug 1513973

User impact if declined: Null pointer crashes when doing microphone capture

Is this code covered by automated tests?: Yes

Has the fix been verified in Nightly?: No

Needs manual test from QE?: No

If yes, steps to reproduce:

List of other uplifts needed: None

Risk to taking this patch: Low

Why is the change risky/not risky? (and alternatives if risky): Trivial change to do the check for whether a MediaStream has been scheduled to be destroyed on the right thread. The other patch adds a check where there was none. Those places are less likely to cause problems than the ones this patch is fixing, but it's still possible so it should also be taken.

String changes made/needed:

Flags: needinfo?(apehrson)
Attachment #9034900 - Flags: approval-mozilla-beta?
No longer blocks: 1517844
No longer blocks: 1517845
No longer blocks: 1517913
No longer blocks: 1517990

Comment on attachment 9034900 [details]
Bug 1517711 - Check for a destroyed MediaStream on the right thread. r?padenot

[Triage Comment]
Fixes null pointer crashes causing a number of intermittent test failures in automation. Approved for 65.0b10.

Attachment #9034900 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
No longer blocks: 1518046, 1518232
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: