Bug 1399734 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

1. <contact me for the url if you are working on this bug>

2. Click Ok in Alert.

3. Browser Window disappears and browser hangs.

In Bughunter automation using marionette, two crash dumps are created. One is related to breakpad while the other is related to mozilla::detail::ConditionVariableImpl::wait(). You can see both in the attached log. Search for "Crash reason:".

It appears that an exception is thrown in mozilla::dom::ValueToPrimitive<bool,0>() which results in the call to wait which hangs.

Reproducible in Windows and Linux opt builds in Bughunter. Locally, I can reproduce the hang on debug builds on Fedora.

Crash reason:  EXCEPTION_BREAKPOINT
Crash address: 0x774c6c74
Process uptime: 21 seconds

Thread 0 (crashed)
 0  ntdll.dll + 0x46c74
    eip = 0x774c6c74   esp = 0x003fa3e8   ebp = 0x003fa430   ebx = 0x003fa444
    esi = 0x00000000   edi = 0x00000000   eax = 0x003fa4c0   ecx = 0x00f44420
    edx = 0x00000000   efl = 0x00000247
    Found by: given as instruction pointer in context
 1  kernel32.dll + 0x33135
    eip = 0x76b83135   esp = 0x003fa438   ebp = 0x003fa464
    Found by: previous frame's frame pointer
 2  mozglue.dll!mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl &) [ConditionVariable_windows.cpp:c15e2f280729 : 58 + 0xa]
    eip = 0x6db5837f   esp = 0x003fa46c   ebp = 0x003fa47c
    Found by: previous frame's frame pointer
 3  xul.dll!mozilla::CondVar::Wait(unsigned int) [CondVar.h:c15e2f280729 : 68 + 0xb]
    eip = 0x5c5b9bbc   esp = 0x003fa484   ebp = 0x003fa494
    Found by: call frame info
 4  xul.dll!mozilla::ThreadEventQueue<mozilla::PrioritizedEventQueue<mozilla::LabeledEventQueue> >::GetEvent(bool,mozilla::EventPriority *) [ThreadEventQueue.cpp:c15e2f280729 : 138 + 0xa]
    eip = 0x5c5be347   esp = 0x003fa49c   ebp = 0x003fa4b4
    Found by: call frame info
 5  xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:c15e2f280729 : 967 + 0x1e]
    eip = 0x5c5c02f2   esp = 0x003fa4bc   ebp = 0x003faa38
    Found by: call frame info
 6  xul.dll!js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [Interpreter.cpp:c15e2f280729 : 513 + 0xa]
    eip = 0x5e5dcee0   esp = 0x003fa52c   ebp = 0x003faa80
    Found by: stack scanning
 7  xul.dll!js::Call(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,js::AnyInvokeArgs const &,JS::MutableHandle<JS::Value>) [Interpreter.cpp:c15e2f280729 : 559 + 0x5]
    eip = 0x5e5d9b60   esp = 0x003fa5b0   ebp = 0x003faa98
    Found by: call frame info with scanning
 8  xul.dll!JS_CallFunctionValue(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::HandleValueArray const &,JS::MutableHandle<JS::Value>) [jsapi.cpp:c15e2f280729 : 2907 + 0x12]
    eip = 0x5e2f0d55   esp = 0x003fa5e8   ebp = 0x003fa660
    Found by: call frame info with scanning
 9  xul.dll!mozilla::dom::AutoJSAPI::ReportException() [ScriptSettings.cpp:c15e2f280729 : 570 + 0x8]
    eip = 0x5d59666e   esp = 0x003fa5fc   ebp = 0x003fa660
    Found by: stack scanning
10  xul.dll!mozilla::dom::AutoJSAPI::ReportException() [ScriptSettings.cpp:c15e2f280729 : 635 + 0x3e]
    eip = 0x5d596959   esp = 0x003fa608   ebp = 0x003fa660
    Found by: stack scanning
11  xul.dll!mozilla::dom::ValueToPrimitive<bool,0>(JSContext *,JS::Handle<JS::Value>,bool *) [PrimitiveConversions.h:c15e2f280729 : 348 + 0xf]
    eip = 0x5c9fc8d7   esp = 0x003fa65c   ebp = 0x003fa620
    Found by: stack scanning

Back to Bug 1399734 Comment 0