Closed
Bug 931271
Opened 11 years ago
Closed 11 years ago
B2G parent assertion: MOZ_ASSERT(JS_IsExceptionPending(cx)) at EventListenerBinding.cpp:27
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: gwagner, Unassigned)
Details
with debug build on nexus4, current b2g-inbound and gaia trunk.
STR: opening multiple mlb.com tabs
Program received signal SIGSEGV, Segmentation fault.
0xb4f7c546 in mozilla::dom::EventListener::HandleEvent (this=0xae4c6860, cx=<optimized out>, aThisObj=..., event=..., aRv=...) at EventListenerBinding.cpp:27
27 MOZ_ASSERT(JS_IsExceptionPending(cx));
(gdb) [Child 2557] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file ../../../../dom/src/storage/DOMStorageManager.cpp, line 460
[Child 2557] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file ../../../dom/base/nsGlobalWindow.cpp, line 9866
[Child 2557] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file ../../../../dom/src/storage/DOMStorageManager.cpp, line 460
[Child 2557] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file ../../../dom/base/nsGlobalWindow.cpp, line 9866
bt
#0 0xb4f7c546 in mozilla::dom::EventListener::HandleEvent (this=0xae4c6860, cx=<optimized out>, aThisObj=..., event=..., aRv=...) at EventListenerBinding.cpp:27
#1 0xb487e260 in mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*> (this=0xae4c6860, thisObj=<optimized out>, event=..., aRv=..., aExceptionHandling=mozilla::dom::CallbackObject::eReportExceptions) at ../../../dist/include/mozilla/dom/EventListenerBinding.h:51
#2 0xb487e320 in nsEventListenerManager::HandleEventSubType (this=0xae4d4760, aListenerStruct=<optimized out>, aListener=..., aDOMEvent=0xa7a6f270, aCurrentTarget=0xb02a5900, aPusher=0xbe774360) at ../../../../content/events/src/nsEventListenerManager.cpp:952
#3 0xb487e520 in nsEventListenerManager::HandleEventInternal (this=0xae4d4760, aPresContext=0xae43c000, aEvent=0xbe7743f8, aDOMEvent=0xbe774328, aCurrentTarget=0xb02a5900, aEventStatus=0xbe77432c, aPusher=0xbe774360) at ../../../../content/events/src/nsEventListenerManager.cpp:1029
#4 0xb487a048 in HandleEvent (aPusher=0xbe774360, aEventStatus=0xbe77432c, aCurrentTarget=0xb02a5900, aDOMEvent=0xbe774328, aEvent=<optimized out>, aPresContext=<optimized out>, this=<optimized out>) at ../../../../content/events/src/nsEventListenerManager.h:326
#5 nsEventTargetChainItem::HandleEvent (this=<optimized out>, aVisitor=..., aCd=<optimized out>, aPusher=0xbe774360) at ../../../../content/events/src/nsEventDispatcher.cpp:197
#6 0xb487abba in nsEventTargetChainItem::HandleEventTargetChain (aChain=..., aVisitor=..., aCallback=0xbe7744c8, aCd=..., aPusher=0xbe774360) at ../../../../content/events/src/nsEventDispatcher.cpp:313
#7 0xb487b4f4 in nsEventDispatcher::Dispatch (aTarget=<optimized out>, aPresContext=0xae43c000, aEvent=0xbe7743f8, aDOMEvent=0x0, aEventStatus=0xbe7743e8, aCallback=0xbe7744c8, aTargets=0x0) at ../../../../content/events/src/nsEventDispatcher.cpp:609
#8 0xb464e2b4 in PresShell::DispatchTouchEvent (this=0xaf7d8340, aEvent=<optimized out>, aStatus=0xbe774628, aEventCB=0xbe7744c8, aTouchIsNew=true) at ../../../layout/base/nsPresShell.cpp:6988
#9 0xb4655114 in PresShell::HandleEventInternal (this=0xaf7d8340, aEvent=0xbe774680, aStatus=0xbe774628) at ../../../layout/base/nsPresShell.cpp:6876
#10 0xb4655494 in PresShell::HandlePositionedEvent (this=0xaf7d8340, aTargetFrame=<optimized out>, aEvent=0xbe774680, aEventStatus=0xbe774628) at ../../../layout/base/nsPresShell.cpp:6599
#11 0xb4655b9e in HandleEvent (aEventStatus=0xbe774628, aDontRetargetEvents=<optimized out>, aEvent=0xbe774680, aFrame=<optimized out>, this=0xb203d280) at ../../../layout/base/nsPresShell.cpp:6398
#12 PresShell::HandleEvent (this=0xb203d280, aFrame=<optimized out>, aEvent=0xbe774680, aDontRetargetEvents=<optimized out>, aEventStatus=0xbe774628) at ../../../layout/base/nsPresShell.cpp:6009
#13 0xb499b356 in nsViewManager::DispatchEvent (this=<optimized out>, aEvent=0xbe774680, aView=<optimized out>, aStatus=0xbe774628) at ../../../view/src/nsViewManager.cpp:752
#14 0xb49990dc in nsView::HandleEvent (this=<optimized out>, aEvent=0xbe774680, aUseAttachedEvents=<optimized out>) at ../../../view/src/nsView.cpp:1084
#15 0xb4dbca22 in nsWindow::DispatchEvent (this=0xafb84250, aEvent=<optimized out>, aStatus=@0xbe774654) at ../../../widget/gonk/nsWindow.cpp:484
#16 0xb4dbdc92 in nsWindow::DispatchInputEvent (aEvent=..., aWasCaptured=0xbe77467f) at ../../../widget/gonk/nsWindow.cpp:288
#17 0xb4dbc154 in sendTouchEvent (captured=0xbe77467f, data=...) at ../../../widget/gonk/nsAppShell.cpp:215
#18 GeckoInputDispatcher::dispatchOnce (this=<optimized out>) at ../../../widget/gonk/nsAppShell.cpp:523
#19 0xb4dbb0de in nsAppShell::ProcessNextNativeEvent (this=0xb2036e20, mayWait=<optimized out>) at ../../../widget/gonk/nsAppShell.cpp:846
#20 0xb4dc251c in nsBaseAppShell::DoProcessNextNativeEvent (this=0xb2036e20, mayWait=<optimized out>, recursionDepth=0) at ../../../widget/xpwidgets/nsBaseAppShell.cpp:137
#21 0xb4dc25d0 in nsBaseAppShell::OnProcessNextEvent (this=0xb2036e20, thr=0xb6a02390, mayWait=true, recursionDepth=0) at ../../../widget/xpwidgets/nsBaseAppShell.cpp:283
#22 0xb512aa92 in nsThread::ProcessNextEvent (this=0xb6a02390, mayWait=<optimized out>, result=0xbe774e28) at ../../../xpcom/threads/nsThread.cpp:595
#23 0xb513d406 in NS_InvokeByIndex (that=0xb6a02390, methodIndex=8, paramCount=<optimized out>, params=<optimized out>) at ../../../../../../../xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp:164
#24 0xb4cac5b2 in Invoke (this=0xbe774df0) at ../../../../js/xpconnect/src/XPCWrappedNative.cpp:2797
#25 CallMethodHelper::Call (this=0xbe774df0) at ../../../../js/xpconnect/src/XPCWrappedNative.cpp:2137
#26 0xb4cac9d4 in XPCWrappedNative::CallMethod (ccx=..., mode=XPCWrappedNative::CALL_METHOD) at ../../../../js/xpconnect/src/XPCWrappedNative.cpp:2103
#27 0xb4caf196 in XPC_WN_CallMethod (cx=0xb6ad5bc0, argc=1, vp=<optimized out>) at ../../../../js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1308
#28 0xb56c4458 in js::CallJSNative (cx=0xb6ad5bc0, native=0xb4caf0a1 <XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)>, args=...) at ../../../js/src/jscntxtinlines.h:220
#29 0xb56cdcac in js::Invoke (cx=0xb6ad5bc0, args=..., construct=js::NO_CONSTRUCT) at ../../../js/src/vm/Interpreter.cpp:463
#30 0xb56cb818 in Interpret (cx=0xb6ad5bc0, state=...) at ../../../js/src/vm/Interpreter.cpp:2466
#31 0xb56cd520 in js::RunScript (cx=0xb6ad5bc0, state=...) at ../../../js/src/vm/Interpreter.cpp:420
#32 0xb56cdc34 in RunScript (state=..., cx=0xb6ad5bc0) at ../../../js/src/vm/Interpreter.cpp:389
#33 js::Invoke (cx=0xb6ad5bc0, args=..., construct=js::NO_CONSTRUCT) at ../../../js/src/vm/Interpreter.cpp:482
#34 0xb55e9f38 in js::CallOrConstructBoundFunction (cx=<optimized out>, argc=1, vp=0xbe775f20) at ../../../js/src/jsfun.cpp:1257
#35 0xb56c4458 in js::CallJSNative (cx=0xb6ad5bc0, native=0xb55e9d9d <js::CallOrConstructBoundFunction(JSContext*, unsigned int, JS::Value*)>, args=...) at ../../../js/src/jscntxtinlines.h:220
#36 0xb56cdcac in js::Invoke (cx=0xb6ad5bc0, args=..., construct=js::NO_CONSTRUCT) at ../../../js/src/vm/Interpreter.cpp:463
#37 0xb56ce334 in js::Invoke (cx=0xb6ad5bc0, thisv=..., fval=<optimized out>, argc=1, argv=0xbe776188, rval=...) at ../../../js/src/vm/Interpreter.cpp:513
#38 0xb559d7c2 in JS_CallFunctionValue (cx=0xb6ad5bc0, objArg=<optimized out>, fval=..., argc=1, argv=0xbe776188, rval=0xbe776110) at ../../../js/src/jsapi.cpp:5070
#39 0xb4ca76d8 in nsXPCWrappedJSClass::CallMethod (this=0xaf2f8160, wrapper=<optimized out>, methodIndex=<optimized out>, info_=0xb230e2e0, nativeParams=0xbe776300) at ../../../../js/xpconnect/src/XPCWrappedJSClass.cpp:1423
#40 0xb4ca3ec4 in nsXPCWrappedJS::CallMethod (this=0xaf3b8880, methodIndex=<optimized out>, info=0xb230e2e0, params=0xbe776300) at ../../../../js/xpconnect/src/XPCWrappedJS.cpp:591
#41 0xb513dcee in PrepareAndDispatch (self=0xb024dda0, methodIndex=<optimized out>, args=<optimized out>) at ../../../../../../../xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp:105
#42 0xb513d41c in SharedStub () from /Volumes/mac/moz/ib2g/debnexusbuild/dist/bin/libxul.so
#43 0xb487e36c in nsEventListenerManager::HandleEventSubType (this=0xaead7a60, aListenerStruct=<optimized out>, aListener=..., aDOMEvent=0xa7a6e780, aCurrentTarget=0xaead74c0, aPusher=0xbe776578) at ../../../../content/events/src/nsEventListenerManager.cpp:955
#44 0xb487e520 in nsEventListenerManager::HandleEventInternal (this=0xaead7a60, aPresContext=0xae43c000, aEvent=0xbe776610, aDOMEvent=0xbe776540, aCurrentTarget=0xaead74c0, aEventStatus=0xbe776544, aPusher=0xbe776578) at ../../../../content/events/src/nsEventListenerManager.cpp:1029
#45 0xb487a048 in HandleEvent (aPusher=0xbe776578, aEventStatus=0xbe776544, aCurrentTarget=0xaead74c0, aDOMEvent=0xbe776540, aEvent=<optimized out>, aPresContext=<optimized out>, this=<optimized out>) at ../../../../content/events/src/nsEventListenerManager.h:326
#46 nsEventTargetChainItem::HandleEvent (this=<optimized out>, aVisitor=..., aCd=<optimized out>, aPusher=0xbe776578) at ../../../../content/events/src/nsEventDispatcher.cpp:197
#47 0xb487abba in nsEventTargetChainItem::HandleEventTargetChain (aChain=..., aVisitor=..., aCallback=0xbe7766e0, aCd=..., aPusher=0xbe776578) at ../../../../content/events/src/nsEventDispatcher.cpp:313
#48 0xb487ab60 in nsEventTargetChainItem::HandleEventTargetChain (aChain=..., aVisitor=..., aCallback=0xbe7766e0, aCd=..., aPusher=0xbe776578) at ../../../../content/events/src/nsEventDispatcher.cpp:346
#49 0xb487b4f4 in nsEventDispatcher::Dispatch (aTarget=<optimized out>, aPresContext=0xae43c000, aEvent=0xbe776610, aDOMEvent=0x0, aEventStatus=0xbe776600, aCallback=0xbe7766e0, aTargets=0x0) at ../../../../content/events/src/nsEventDispatcher.cpp:609
#50 0xb464e2b4 in PresShell::DispatchTouchEvent (this=0xaf7d8340, aEvent=<optimized out>, aStatus=0xbe776840, aEventCB=0xbe7766e0, aTouchIsNew=false) at ../../../layout/base/nsPresShell.cpp:6988
#51 0xb4655114 in PresShell::HandleEventInternal (this=0xaf7d8340, aEvent=0xbe776898, aStatus=0xbe776840) at ../../../layout/base/nsPresShell.cpp:6876
#52 0xb4655494 in PresShell::HandlePositionedEvent (this=0xaf7d8340, aTargetFrame=<optimized out>, aEvent=0xbe776898, aEventStatus=0xbe776840) at ../../../layout/base/nsPresShell.cpp:6599
#53 0xb4655b9e in HandleEvent (aEventStatus=0xbe776840, aDontRetargetEvents=<optimized out>, aEvent=0xbe776898, aFrame=<optimized out>, this=0xb203d280) at ../../../layout/base/nsPresShell.cpp:6398
#54 PresShell::HandleEvent (this=0xb203d280, aFrame=<optimized out>, aEvent=0xbe776898, aDontRetargetEvents=<optimized out>, aEventStatus=0xbe776840) at ../../../layout/base/nsPresShell.cpp:6009
#55 0xb499b356 in nsViewManager::DispatchEvent (this=<optimized out>, aEvent=0xbe776898, aView=<optimized out>, aStatus=0xbe776840) at ../../../view/src/nsViewManager.cpp:752
#56 0xb49990dc in nsView::HandleEvent (this=<optimized out>, aEvent=0xbe776898, aUseAttachedEvents=<optimized out>) at ../../../view/src/nsView.cpp:1084
#57 0xb4dbca22 in nsWindow::DispatchEvent (this=0xafb84250, aEvent=<optimized out>, aStatus=@0xbe77686c) at ../../../widget/gonk/nsWindow.cpp:484
#58 0xb4dbdc92 in nsWindow::DispatchInputEvent (aEvent=..., aWasCaptured=0xbe776897) at ../../../widget/gonk/nsWindow.cpp:288
#59 0xb4dbc154 in sendTouchEvent (captured=0xbe776897, data=...) at ../../../widget/gonk/nsAppShell.cpp:215
#60 GeckoInputDispatcher::dispatchOnce (this=<optimized out>) at ../../../widget/gonk/nsAppShell.cpp:523
#61 0xb4dbb0de in nsAppShell::ProcessNextNativeEvent (this=0xb2036e20, mayWait=<optimized out>) at ../../../widget/gonk/nsAppShell.cpp:846
#62 0xb4dc251c in nsBaseAppShell::DoProcessNextNativeEvent (this=0xb2036e20, mayWait=<optimized out>, recursionDepth=0) at ../../../widget/xpwidgets/nsBaseAppShell.cpp:137
#63 0xb4dc25e8 in nsBaseAppShell::OnProcessNextEvent (this=0xb2036e20, thr=0xb6a02390, mayWait=false, recursionDepth=0) at ../../../widget/xpwidgets/nsBaseAppShell.cpp:295
#64 0xb512aa92 in nsThread::ProcessNextEvent (this=0xb6a02390, mayWait=<optimized out>, result=0xbe777040) at ../../../xpcom/threads/nsThread.cpp:595
#65 0xb513d406 in NS_InvokeByIndex (that=0xb6a02390, methodIndex=8, paramCount=<optimized out>, params=<optimized out>) at ../../../../../../../xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp:164
#66 0xb4cac5b2 in Invoke (this=0xbe777008) at ../../../../js/xpconnect/src/XPCWrappedNative.cpp:2797
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) p this
$1 = (mozilla::dom::EventListener * const) 0xae4c6860
(gdb) p *this
$2 = {<mozilla::dom::CallbackInterface> = {<mozilla::dom::CallbackObject> = {<nsISupports> = {_vptr.nsISupports = 0xb62b0068}, mRefCnt = {mRefCntAndFlags = 9}, _mOwningThread = {mThread = 0xb6a34080}, static _cycleCollectorGlobal = {
<nsXPCOMCycleCollectionParticipant> = {<nsScriptObjectTracer> = {<nsCycleCollectionParticipant> = {_vptr.nsCycleCollectionParticipant = 0xb62cfa40, mMightSkip = false}, <No data fields>}, <No data fields>}, <No data fields>}, mCallback = {<js::HeapBase<JSObject*>> = {<No data fields>},
ptr = 0xb2154ca0}}, <No data fields>}, <No data fields>}
(gdb) l
22 }
23 unsigned argc = 1;
24
25 do {
26 if (!WrapNewBindingObject(cx, CallbackPreserveColor(), event, argv.handleAt(0))) {
27 MOZ_ASSERT(JS_IsExceptionPending(cx));
28 aRv.Throw(NS_ERROR_UNEXPECTED);
29 return;
30 }
31 break;
(gdb) p cx
$3 = <optimized out>
(gdb) p event
$4 = (nsDOMEvent &) @0xa7a6f270: {<nsDOMEventBase> = {<nsIDOMEvent> = {<nsISupports> = {_vptr.nsISupports = 0xb6200408}, <No data fields>}, <No data fields>}, <nsWrapperCache> = {_vptr.nsWrapperCache = 0xb62004d0, mWrapper = {<js::HeapBase<JSObject*>> = {<No data fields>}, ptr = 0x0},
mFlags = 2}, mRefCnt = {mRefCntAndFlags = 8}, _mOwningThread = {mThread = 0xb6a34080}, static _cycleCollectorGlobal = {<nsXPCOMCycleCollectionParticipant> = {<nsScriptObjectTracer> = {<nsCycleCollectionParticipant> = {_vptr.nsCycleCollectionParticipant = 0xb61feaa8,
mMightSkip = false}, <No data fields>}, <No data fields>}, <No data fields>}, mEvent = 0xbe7743f8, mPresContext = {mRawPtr = 0xae43c000}, mExplicitOriginalTarget = {mRawPtr = 0x0}, mOwner = {mRawPtr = 0xb02a5910}, mEventIsInternal = false, mPrivateDataDuplicated = false,
mIsMainThreadEvent = true}
(gdb)
![]() |
||
Comment 1•11 years ago
|
||
Gregor, can you reproduce this reliably?
If so, what is the concrete type of "event" in this case? I mean the most-derived type, not just nsDOMEvent.
Flags: needinfo?(anygregor)
Reporter | ||
Comment 2•11 years ago
|
||
I couldn't reproduce it any more today. I will reopen if I see it again.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(anygregor)
Resolution: --- → WORKSFORME
Assignee | ||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•