Closed Bug 1152532 Opened 11 years ago Closed 10 years ago

[e10s] crash on shutdown while in a H264 WebRTC call

Categories

(Core :: WebRTC, defect, P2)

40 Branch
x86
macOS
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox38 --- unaffected
firefox39 --- unaffected
firefox40 --- affected

People

(Reporter: drno, Unassigned)

Details

Just found out: it only crashes when I'm in a H264 call.
Summary: [e10s] crash on shutdown while in a WebRTC call → [e10s] crash on shutdown while in a H264 WebRTC call
Just reproduced with a fresh profile (and fresh H264 plugin): https://crash-stats.mozilla.com/report/index/18974263-3387-4f45-b75e-7c8e12150408
Recent GMP regression? Nils, can you regression-window a bit on this (say try 39, 38, 37); is this a new crash?
Flags: needinfo?(drno)
Not reproducible on 39 or 38 (did not test 37). Will try mozregression...
Flags: needinfo?(drno)
Hold on... when I test 39 and 38 they don't have e10s on - and trying to get that on is a pain...
Nightly from 2015-04-04 has the problem. Nightly's from 2015-04-02 and earlier don't seem to allow me to establish H264 calls. I'm assuming because of the different handling media.navigator.video.preferred_codec which I guess got recently fixed.
GMP Plugins did not load at all on e10s until the landing of bug 1057908 on April 2nd. Probably unrelated to preferred_codec setting.
Peter, more follow up to your landing
Flags: needinfo?(peterv)
I did some testing by selecting "Require H.264 video" on the loopback test page: http://mozilla.github.io/webrtc-landing/pc_test.html I was unable to get a crash using a release build of Nightly, but with a debug build I consistently get this MOZ_CRASH followed by the SIGPIPE: Hit MOZ_CRASH() at /Users/ehugg/mozilla/mozilla-central/memory/mozjemalloc/jemalloc.c:1610 [Parent 32344] WARNING: No docshells for remote frames!: file /Users/ehugg/mozilla/mozilla-central/dom/base/nsFrameLoader.cpp, line 492 Process 32344 stopped * thread #1: tid = 0x41aaf, 0x00000001016642b1 XUL`mozilla::DebugOnly<bool>::DebugOnly(this=0x0000000147f1b988, aOther=0x0000000000000008) + 1 at DebugOnly.h:44, queue = 'com.apple.main-thread', stop reason = signal SIGPIPE frame #0: 0x00000001016642b1 XUL`mozilla::DebugOnly<bool>::DebugOnly(this=0x0000000147f1b988, aOther=0x0000000000000008) + 1 at DebugOnly.h:44 41 T value; 42 43 DebugOnly() { } -> 44 MOZ_IMPLICIT DebugOnly(const T& aOther) : value(aOther) { } 45 DebugOnly(const DebugOnly& aOther) : value(aOther.value) { } 46 DebugOnly& operator=(const T& aRhs) { 47 value = aRhs; (lldb) bt * thread #1: tid = 0x41aaf, 0x00000001016642b1 XUL`mozilla::DebugOnly<bool>::DebugOnly(this=0x0000000147f1b988, aOther=0x0000000000000008) + 1 at DebugOnly.h:44, queue = 'com.apple.main-thread', stop reason = signal SIGPIPE * frame #0: 0x00000001016642b1 XUL`mozilla::DebugOnly<bool>::DebugOnly(this=0x0000000147f1b988, aOther=0x0000000000000008) + 1 at DebugOnly.h:44 frame #1: 0x000000010709703d XUL`js::TemporaryTypeSet::getKnownMIRType(this=0x0000000147f1b988) + 157 at TypeInference.cpp:1541 frame #2: 0x0000000107336e50 XUL`js::jit::IonBuilder::getPropTryCache(this=0x00007fff5fbc4f40, emitted=0x00007fff5fbc47f7, obj=0x0000000147f1b560, name=0x000000011b611ec8, barrier=NoBarrier, types=0x0000000147f1b988) + 800 at IonBuilder.cpp:10991 frame #3: 0x000000010731a9b0 XUL`js::jit::IonBuilder::jsop_getprop(this=0x00007fff5fbc4f40, name=0x000000011b611ec8) + 1488 at IonBuilder.cpp:10060 frame #4: 0x0000000107310390 XUL`js::jit::IonBuilder::inspectOpcode(this=0x00007fff5fbc4f40, op=JSOP_CALLPROP) + 4160 at IonBuilder.cpp:1924 frame #5: 0x000000010730cb64 XUL`js::jit::IonBuilder::traverseBytecode(this=0x00007fff5fbc4f40) + 1012 at IonBuilder.cpp:1478 frame #6: 0x000000010730deb2 XUL`js::jit::IonBuilder::buildInline(this=0x00007fff5fbc4f40, callerBuilder=0x000000013ebb1298, callerResumePoint=0x0000000147f1b680, callInfo=0x00007fff5fbc59e0) + 2210 at IonBuilder.cpp:1054 frame #7: 0x0000000107324a54 XUL`js::jit::IonBuilder::inlineScriptedCall(this=0x000000013ebb1298, callInfo=0x00007fff5fbc59e0, target=0x000000011b616a00) + 2132 at IonBuilder.cpp:4710 frame #8: 0x00000001073263f5 XUL`js::jit::IonBuilder::inlineSingleCall(this=0x000000013ebb1298, callInfo=0x00007fff5fbc59e0, targetArg=0x000000011b616a00) + 197 at IonBuilder.cpp:5219 frame #9: 0x000000010732661c XUL`js::jit::IonBuilder::inlineCallsite(this=0x000000013ebb1298, targets=0x00007fff5fbc5a68, callInfo=0x00007fff5fbc59e0) + 508 at IonBuilder.cpp:5273 frame #10: 0x0000000107317a12 XUL`js::jit::IonBuilder::jsop_call(this=0x000000013ebb1298, argc=1, constructing=true) + 658 at IonBuilder.cpp:6151 frame #11: 0x000000010730fd6c XUL`js::jit::IonBuilder::inspectOpcode(this=0x000000013ebb1298, op=JSOP_NEW) + 2588 at IonBuilder.cpp:1813 frame #12: 0x000000010730cb64 XUL`js::jit::IonBuilder::traverseBytecode(this=0x000000013ebb1298) + 1012 at IonBuilder.cpp:1478 frame #13: 0x0000000107306cb2 XUL`js::jit::IonBuilder::build(this=0x000000013ebb1298) + 1650 at IonBuilder.cpp:884 frame #14: 0x000000010737f762 XUL`js::jit::IonCompile(cx=0x0000000100326840, script=0x000000011b617a88, baselineFrame=0x00007fff5fbc6648, osrPc=0x0000000000000000, constructing=false, recompile=false, optimizationLevel=Optimization_Normal) + 1938 at Ion.cpp:1921 frame #15: 0x00000001072fd54f XUL`js::jit::Compile(cx=0x0000000100326840, script=JS::HandleScript at 0x00007fff5fbc6370, osrFrame=0x00007fff5fbc6648, osrPc=0x0000000000000000, constructing=false, forceRecompile=false) + 1023 at Ion.cpp:2137 frame #16: 0x00000001072fdc76 XUL`js::jit::CompileFunctionForBaseline(cx=0x0000000100326840, script=JS::HandleScript at 0x00007fff5fbc63e0, frame=0x00007fff5fbc6648) + 646 at Ion.cpp:2316 frame #17: 0x0000000107275c56 XUL`js::jit::EnsureCanEnterIon(cx=0x0000000100326840, stub=0x0000000127fec520, frame=0x00007fff5fbc6648, script=JS::HandleScript at 0x00007fff5fbc6460, pc=0x000000011b3c5809, jitcodePtr=0x00007fff5fbc6518) + 454 at BaselineIC.cpp:824 frame #18: 0x00000001071fb9da XUL`js::jit::DoWarmUpCounterFallback(cx=0x0000000100326840, stub=0x0000000127fec520, frame=0x00007fff5fbc6648, infoPtr=0x00007fff5fbc65e0) + 954 at BaselineIC.cpp:985 frame #19: 0x00000001006dd555
Juan - can you re-verify, with and without e10s? Thanks
backlog: --- → webRTC+
Rank: 25
Flags: needinfo?(jbecerra)
Priority: -- → P2
I was not able to reproduce the problem on the latest nightly with either e10s or non-e10s. On Dev Edition I am able to reproduce the problem, and I get two types of crashes depending on which mode I am on: Firefox Dev Edition (40.0a2 - 2015-06-10), e10s: https://crash-stats.mozilla.com/report/index/200f7723-7eb5-4d4d-be51-984712150610 0 XUL IPC::Channel::ChannelImpl::ProcessIncomingMessages() ipc/chromium/src/chrome/common/ipc_channel_posix.cc 1 XUL IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking(int) ipc/chromium/src/chrome/common/ipc_channel_posix.cc 2 XUL event_base_loop ipc/chromium/src/third_party/libevent/event.c 3 XUL base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ipc/chromium/src/base/message_pump_libevent.cc 4 XUL MessageLoop::Run() ipc/chromium/src/base/message_loop.cc 5 XUL base::Thread::ThreadMain() ipc/chromium/src/base/thread.cc 6 XUL ThreadFunc ipc/chromium/src/base/platform_thread_posix.cc 7 libsystem_pthread.dylib _pthread_body 8 libsystem_pthread.dylib _pthread_start 9 libsystem_pthread.dylib thread_start 10 XUL XUL@0x37cb9f ================================================================================= Fx Dev Edition, non-e10s: https://crash-stats.mozilla.com/report/index/107237b9-bb1d-4025-a419-0ab452150610 0 XUL mozilla::gmp::GMPParent::ChildTerminated() dom/media/gmp/GMPParent.cpp 1 XUL nsRunnableMethodImpl<void (mozilla::gmp::GMPParent::*)(), true, >::Run obj-firefox/x86_64/dist/include/nsThreadUtils.h 2 XUL mozilla::gmp::GMPProcessParent::DoDelete() dom/media/gmp/GMPProcessParent.cpp 3 XUL MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) ipc/chromium/src/base/message_loop.cc 4 XUL MessageLoop::DoWork() ipc/chromium/src/base/message_loop.cc 5 XUL base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ipc/chromium/src/base/message_pump_libevent.cc 6 XUL MessageLoop::Run() ipc/chromium/src/base/message_loop.cc 7 XUL base::Thread::ThreadMain() ipc/chromium/src/base/thread.cc 8 XUL ThreadFunc ipc/chromium/src/base/platform_thread_posix.cc 9 libsystem_pthread.dylib _pthread_body 10 libsystem_pthread.dylib _pthread_start 11 libsystem_pthread.dylib thread_start 12 XUL XUL@0x37cb9f
Flags: needinfo?(jbecerra)
based on juans comments that this was no longer reproducible on Nightly last summer, that and there are no longer reports of the signatures he posted for Dev-Ed back then, marking this one WFM
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(peterv)
You need to log in before you can comment on or make changes to this bug.