Closed Bug 1258144 Opened 4 years ago Closed 4 years ago

Intermittent 880404.html,test_convolverNodeChannelCount.html,test_convolverNodeDelay.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()] (Assertion failure: CurrentDriver()->OnThread(), @ dom\media\MediaStreamGraphImpl.h:273)

Categories

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

47 Branch
Unspecified
Windows
defect

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox46 --- fixed
firefox47 --- fixed
firefox48 --- fixed

People

(Reporter: RyanVM, Assigned: jesup)

References

Details

(Keywords: assertion, crash, intermittent-failure)

Attachments

(1 file)

https://treeherder.mozilla.org/logviewer.html#?job_id=919690&repo=mozilla-beta

14:10:06     INFO -  REFTEST TEST-START | file:///C:/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/880342-2.html
14:10:06     INFO -  REFTEST TEST-LOAD | file:///C:/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/880342-2.html | 422 / 2979 (14%)
14:10:06     INFO -  ++DOMWINDOW == 98 (00000007025F8400) [pid = 2740] [serial = 1171] [outer = 0000000774046000]
14:10:06     INFO -  Assertion failure: CurrentDriver()->OnThread(), at c:\builds\moz2_slave\m-beta-w64-d-00000000000000000\build\src\dom\media\MediaStreamGraphImpl.h:273
14:10:06     INFO -  #01: nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:995]
14:10:06     INFO -  #02: NS_ProcessNextEvent(nsIThread *,bool) [xpcom/glue/nsThreadUtils.cpp:297]
14:10:06     INFO -  #03: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:326]
14:10:06     INFO -  #04: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:228]
14:10:06     INFO -  #05: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:202]
14:10:06     INFO -  #06: nsThread::ThreadFunc(void *) [xpcom/threads/nsThread.cpp:403]
14:10:06     INFO -  #07: PR_NativeRunThread [nsprpub/pr/src/threads/combined/pruthr.c:406]
14:10:06     INFO -  #08: pr_root [nsprpub/pr/src/md/windows/w95thred.c:96]
14:10:06     INFO -  #09: MSVCR120 + 0x24f7f
14:10:06     INFO -  #10: MSVCR120 + 0x25126
14:10:06     INFO -  #11: KERNEL32 + 0x167e
14:10:06     INFO -  #12: ntdll + 0x1c3f1
14:10:06     INFO -  REFTEST TEST-PASS | file:///C:/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/880342-2.html | (LOAD ONLY)
14:10:06     INFO -  REFTEST TEST-END | file:///C:/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/880342-2.html

14:10:21    ERROR -  REFTEST PROCESS-CRASH | file:///C:/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/880404.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()]
14:10:21     INFO -  Crash dump filename: c:\users\cltbld~1.t-w\appdata\local\temp\tmputzbqh.mozrunner\minidumps\a58686d8-9740-49d3-9625-20a4e4af2108.dmp
14:10:21     INFO -  Operating system: Windows NT
14:10:21     INFO -                    6.2.9200
14:10:21     INFO -  CPU: amd64
14:10:21     INFO -       family 6 model 30 stepping 5
14:10:21     INFO -       8 CPUs
14:10:21     INFO -  Crash reason:  EXCEPTION_BREAKPOINT
14:10:21     INFO -  Crash address: 0x7f8fa8c3df5
14:10:21     INFO -  Process uptime: 116 seconds
14:10:21     INFO -  Thread 113 (crashed)
14:10:21     INFO -   0  xul.dll!mozilla::MediaStreamGraphImpl::SwapMessageQueues() [MediaStreamGraphImpl.h:83043e8064e2 : 273 + 0xa4]
14:10:21     INFO -      rax = 0x0000000000000000   rdx = 0x0000000000000002
14:10:21     INFO -      rcx = 0x000007f8fd7e8540   rbx = 0x0000000000000111
14:10:21     INFO -      rsi = 0x0000000700b3c800   rdi = 0x000000076fca6800
14:10:21     INFO -      rbp = 0x00000000000000d8   rsp = 0x00000007091ff320
14:10:21     INFO -       r8 = 0x000007f9113b19b0    r9 = 0x000007f9113b19b0
14:10:21     INFO -      r10 = 0x0000000000000000   r11 = 0x0000000000000246
14:10:21     INFO -      r12 = 0x0000000000000000   r13 = 0x00000007091ff570
14:10:21     INFO -      r14 = 0x0000000000000000   r15 = 0x0000000000000000
14:10:21     INFO -      rip = 0x000007f8fa8c3df5
14:10:21     INFO -      Found by: given as instruction pointer in context
14:10:21     INFO -   1  xul.dll!mozilla::MediaStreamGraphInitThreadRunnable::Run() [GraphDriver.cpp:83043e8064e2 : 214 + 0xd]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff360   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8fa8b75a3
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   2  xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:83043e8064e2 : 995 + 0x15]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff3b0   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f8541a16
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   3  xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:83043e8064e2 : 297 + 0xd]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff530   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f858d0eb
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   4  xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [MessagePump.cpp:83043e8064e2 : 326 + 0xb]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff570   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f89b84bb
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   5  xul.dll!MessageLoop::RunHandler() [message_loop.cc:83043e8064e2 : 227 + 0x5]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff5d0   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f8964156
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   6  xul.dll!MessageLoop::Run() [message_loop.cc:83043e8064e2 : 201 + 0x8]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff600   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f8963e5e
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   7  xul.dll!nsThread::ThreadFunc(void *) [nsThread.cpp:83043e8064e2 : 401 + 0x32]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff650   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f8f854b047
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   8  nss3.dll!PR_NativeRunThread [pruthr.c:83043e8064e2 : 397 + 0x7]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff6e0   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f90278e8a0
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -   9  nss3.dll!pr_root [w95thred.c:83043e8064e2 : 95 + 0x6]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff710   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f90277d2ba
14:10:21     INFO -      Found by: call frame info
14:10:21     INFO -  10  msvcr120.dll!_callthreadstartex [threadex.c : 376 + 0xd]
14:10:21     INFO -      rbx = 0x0000000000000111   rbp = 0x00000000000000d8
14:10:21     INFO -      rsp = 0x00000007091ff740   r12 = 0x0000000000000000
14:10:21     INFO -      r13 = 0x00000007091ff570   r14 = 0x0000000000000000
14:10:21     INFO -      r15 = 0x0000000000000000   rip = 0x000007f9112f4f7f
14:10:21     INFO -      Found by: call frame info
Summary: Intermittent 880404.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()] (Assertion failure: CurrentDriver()->OnThread(), at dom\media\MediaStreamGraphImpl.h:273) → Intermittent 880404.html,test_convolverNodeChannelCount.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()] (Assertion failure: CurrentDriver()->OnThread(), at dom\media\MediaStreamGraphImpl.h:273)
Summary: Intermittent 880404.html,test_convolverNodeChannelCount.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()] (Assertion failure: CurrentDriver()->OnThread(), at dom\media\MediaStreamGraphImpl.h:273) → Intermittent 880404.html,test_convolverNodeChannelCount.html,test_convolverNodeDelay.html | application crashed [@ mozilla::MediaStreamGraphImpl::SwapMessageQueues()] (Assertion failure: CurrentDriver()->OnThread(), @ dom\media\MediaStreamGraphImpl.h:273)
Given when this started failing in Android mochitests, it should be from bug 1256510.
Blocks: 1256510
Flags: needinfo?(rjesup)
Assignee: nobody → rjesup
Rank: 10
Flags: needinfo?(rjesup)
Priority: -- → P1
The only way I can conceive that this assertion could fire is if something
called driver->Start() on this driver either before or after we forced it to start for
shutdown.  In any case, if we've called Start for the driver already,
calling it again shouldn't do anything.

Review commit: https://reviewboard.mozilla.org/r/41223/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/41223/
Attachment #8732576 - Flags: review?(padenot)
Rank: 10 → 15
Comment on attachment 8732576 [details]
MozReview Request: Bug 1258144: Don't start a thread for SystemClockDriver if already started r?padenot

https://reviewboard.mozilla.org/r/41223/#review38091
Attachment #8732576 - Flags: review?(padenot) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/39cfff135061a1754c5e475a3b918c5c535304cf
Bug 1258144: Don't start a thread for SystemClockDriver if already started r=padenot
https://hg.mozilla.org/mozilla-central/rev/39cfff135061
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Trunk is looking good on OrangeFactor since this landed. Please request Aurora/Beta approval on this when you get a chance.
Flags: needinfo?(rjesup)
Comment on attachment 8732576 [details]
MozReview Request: Bug 1258144: Don't start a thread for SystemClockDriver if already started r?padenot

Approval Request Comment
[Feature/regressing bug #]: N/A (existing problem, may have been triggered in automation due to timing, may have been causing other odd failures)

[User impact if declined]: Debug assertions, possible leak or crash in opt

[Describe test coverage new/current, TreeHerder]: We got a few hits on an assertion that only made sense if we tried to start an already-started driver.

[Risks and why]: Extremely low risk; avoids unpredictable behavior in opt builds if this gets hit.

[String/UUID change made/needed]: none

Note: the NS_WARN_IF sense is backwards, so we're throwing warnings in the everything-is-ok case; this will be fixed under rs=me on inbound and included in the uplift.
Flags: needinfo?(rjesup)
Attachment #8732576 - Flags: approval-mozilla-beta?
Attachment #8732576 - Flags: approval-mozilla-aurora?
Comment on attachment 8732576 [details]
MozReview Request: Bug 1258144: Don't start a thread for SystemClockDriver if already started r?padenot

Fixes an intermittent test failure, Aurora47+
Attachment #8732576 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment on attachment 8732576 [details]
MozReview Request: Bug 1258144: Don't start a thread for SystemClockDriver if already started r?padenot

This should help with test failures; please uplift to beta.
Attachment #8732576 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment on attachment 8732576 [details]
MozReview Request: Bug 1258144: Don't start a thread for SystemClockDriver if already started r?padenot

After talking with Wes and Ryan, leaving this till I can talk with jesup about what is intended here.
Attachment #8732576 - Flags: approval-mozilla-beta+ → approval-mozilla-beta-
Talked it over with jesup on IRC. Comment 12 was that followup he mentioned, and I've folded it into the following uplifts:

https://hg.mozilla.org/releases/mozilla-aurora/rev/6f6db82dd8f3
https://hg.mozilla.org/releases/mozilla-beta/rev/f8740db4414b


I went with your original a+ for the beta approval, Liz, since that seemed prudent to get this into the next beta.
Flags: needinfo?(lhenry)
Thanks Wes.
Flags: needinfo?(lhenry)
You need to log in before you can comment on or make changes to this bug.