Closed
Bug 1245805
Opened 10 years ago
Closed 10 years ago
Content process crash when swapping docShells
Categories
(Core :: WebRTC, defect, P1)
Core
WebRTC
Tracking
()
RESOLVED
DUPLICATE
of bug 957691
| Tracking | Status | |
|---|---|---|
| firefox47 | --- | affected |
| backlog | webrtc/webaudio+ |
People
(Reporter: mikedeboer, Unassigned)
References
Details
(Whiteboard: [e10s])
Attachments
(1 file)
|
12.93 KB,
patch
|
jesup
:
review+
|
Details | Diff | Splinter Review |
In Firefox Hello we now support running chat windows in the content process.
When we detach a chat window from the browser window to a popup, the content process almost immediately crashes.
This is very easy to reproduce by re-enabling and running the 'browser_tearoff.js' mochitest in 'browser/base/content/test/chat/browser.ini'.
I'll attach a crash sig asap.
| Reporter | ||
Comment 1•10 years ago
|
||
[Parent 37351] WARNING: Releasing screensaver: file /Users/mikedeboer/Projects/fx-team/widget/cocoa/nsAppShell.mm, line 83
[Child 37356] WARNING: Slice out of range: 'aStart >= 0 && aEnd <= aSource.mDuration', file /Users/mikedeboer/Projects/fx-team/dom/media/MediaSegment.h, line 355
[Child 37356] WARNING: Audio Buffer is not full by the end of the callback.: 'Available() == 0 || mSampleWriteOffset == 0', file /Users/mikedeboer/Projects/fx-team/dom/media/AudioBufferUtils.h, line 87
[Child 37356] WARNING: Slice out of range: 'aStart >= 0 && aEnd <= aSource.mDuration', file /Users/mikedeboer/Projects/fx-team/dom/media/MediaSegment.h, line 355
Assertion failure: outputTrack->GetEnd() == GraphTimeToStreamTimeWithBlocking(interval.mStart) (Samples missing), at /Users/mikedeboer/Projects/fx-team/dom/media/TrackUnionStream.cpp:268
#01: mozilla::MediaStreamGraphImpl::Process()[/Users/mikedeboer/Projects/fx-team/obj-x86_64-apple-darwin14.5.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x24855f6]
#02: mozilla::MediaStreamGraphImpl::OneIteration(long long)[/Users/mikedeboer/Projects/fx-team/obj-x86_64-apple-darwin14.5.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x2485c52]
#03: mozilla::AudioCallbackDriver::DataCallback(float const*, float*, long)[/Users/mikedeboer/Projects/fx-team/obj-x86_64-apple-darwin14.5.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x23c9dac]
#04: audiounit_output_callback[/Users/mikedeboer/Projects/fx-team/obj-x86_64-apple-darwin14.5.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3ad63a5]
#05: AUConverterBase::RenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int)[/System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio +0x98f5]
#06: AUBase::DoRenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, AUOutputElement*, unsigned int, AudioBufferList&)[/System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio +0x6f1e]
#07: AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&)[/System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio +0x560d]
#08: AUHAL::AUIOProc(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*)[/System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio +0xd131]
#09: HALC_ProxyIOContext::IOWorkLoop()[/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio +0x29f3e]
#10: HALC_ProxyIOContext::IOThreadEntry(void*)[/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio +0x29612]
#11: HALB_IOThread::Entry(void*)[/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio +0x294e3]
#12: _pthread_body[/usr/lib/system/libsystem_pthread.dylib +0x405a]
#13: _pthread_body[/usr/lib/system/libsystem_pthread.dylib +0x3fd7]
| Reporter | ||
Comment 2•10 years ago
|
||
Maire, this is quite easy to reproduce on the current fx-team (one the patches in bug 1154277 are merged to m-c, it will there as well):
1. Open NightlyDebug.app and set 'loop.remote.autostart' to 'true' in about:config
2. Start a conversation in Firefox Hello
3. End the conversation and notice that the content process crashed in the active tab.
This might be something your team would like to look at ;-)
Flags: needinfo?(mreavy)
Comment 3•10 years ago
|
||
Hi Mike -- I'm almost certain Pehrsons has a fix for this in his patch queue on Bug 1208371. It's a huge patch queue (circa 100 patches), but is extremely close to landing. Unfortunately for this bug, Pehrsons just left on PTO for a week. He's planning to land 1208371 shortly after he gets back if the patches haven't bit-rotted too badly. I can ask someone to look through Pehrsons' patches to find the fix and see if it can be "cherry-picked" for this bug (no guarantees how quick or successful we'll be, but we can try) -- or we can wait for Pehrsons to get back. How blocked are you/the team on this bug?
Andreas -- If you can confirm that I'm right about the fix for this being in your patch queue, that would help a lot. Enjoy your PTO! And Thanks!
backlog: --- → webrtc/webaudio+
Rank: 15
Flags: needinfo?(mreavy) → needinfo?(pehrsons)
Priority: -- → P1
See Also: → 1208371
| Reporter | ||
Comment 4•10 years ago
|
||
Holy guacamole, 100!?!? I need to level up, pronto!
It might end up blocking e10s, but we'll see how serious it gets.
Comment 5•10 years ago
|
||
I recognize the assert at least. Mike, could you see if these two help you somehow:
https://bugzilla.mozilla.org/attachment.cgi?id=8711413
https://bugzilla.mozilla.org/attachment.cgi?id=8711414
Thanks!
Flags: needinfo?(pehrsons)
| Reporter | ||
Comment 6•10 years ago
|
||
I tried applying the patches and indeed: content process crash is a goner!
(I had to make remove the deprecated isAudio bool arg for StopTrack, which I think you removed in another place as well.)
/me posting the unbitrotted patch here for posterity...
| Reporter | ||
Comment 7•10 years ago
|
||
| Reporter | ||
Comment 8•10 years ago
|
||
I was curious how our infra would react to these changes: https://treeherder.mozilla.org/#/jobs?repo=try&revision=a3893591d2af
| Reporter | ||
Comment 9•10 years ago
|
||
^-- looks to me there are some memory leaks with this patch applied. Other than that, don't see really sad-making stuff...
Comment 10•10 years ago
|
||
I'd be surprised if this was causing that.
Too many oranges though.. you were referring to the ASAN mochitest one right?
Updated•10 years ago
|
Attachment #8716255 -
Flags: review+
Comment 11•10 years ago
|
||
I suspect those are all pre-existing ones... (note that they generally match known leaks). It could be this is making a known leak worse (MediaStreamGraph shutdown issues). But I think not. We can push a Try without the patch, then retrigger the tests a bunch
| Reporter | ||
Comment 12•10 years ago
|
||
| Reporter | ||
Comment 13•10 years ago
|
||
^-- based off m-c, not fx-team. Should be more stable on try too.
| Reporter | ||
Comment 14•10 years ago
|
||
That's looking _lots_ better to me. Randell, could you land the patch for Andreas with a correct commit message? (I've got no clue as to what would be appropriate here :P )
Should the method override that I commented out be removed instead? Or is it fine like this?
| Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(rjesup)
| Reporter | ||
Comment 15•10 years ago
|
||
This patch just landed for bug 957691 instead, as https://hg.mozilla.org/integration/mozilla-inbound/rev/1aa33a896ebc
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(rjesup)
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•