Closed
Bug 210405
Opened 23 years ago
Closed 14 years ago
Pasting crashed [@ LookupUCProperty] obj = 0
Categories
(Core :: DOM: Events, defect)
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: timeless, Assigned: dbradley)
Details
(Keywords: crash)
Crash Data
Attachments
(1 file)
|
650 bytes,
patch
|
Details | Diff | Splinter Review |
LookupUCProperty(JSContext * 0x004c78d0, JSObject * 0x00000000, const unsigned
short * 0x0012d374, unsigned int 15, JSObject * * 0x0012d240, JSProperty * *
0x0012d238) line 2289 + 23 bytes
JS_LookupUCProperty(JSContext * 0x004c78d0, JSObject * 0x00000000, const
unsigned short * 0x0012d374, unsigned int 15, long * 0x0012d344) line 2540 + 29
bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x02c14cb0,
nsIDOMEvent * 0x04cc4ba8) line 137 + 53 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x02c14ee0,
nsIDOMEvent * 0x04cc4ba8, nsIDOMEventTarget * 0x04cc4b20, unsigned int 32,
unsigned int 7) line 1191 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x02c14d00,
nsIPresContext * 0x0251a9a0, nsEvent * 0x0012de38, nsIDOMEvent * * 0x0012ddac,
nsIDOMEventTarget * 0x04cc4b20, unsigned int 7, nsEventStatus * 0x0012de60)
line 2190 + 36 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02bd30d0, nsIPresContext *
0x0251a9a0, nsEvent * 0x0012de38, nsIDOMEvent * * 0x0012ddac, unsigned int 7,
nsEventStatus * 0x0012de60) line 3303
nsXULCommandDispatcher::UpdateCommands(nsXULCommandDispatcher * const
0x024f3f20, const nsAString & {...}) line 390
GlobalWindowImpl::UpdateCommands(GlobalWindowImpl * const 0x004c7c94, const
nsAString & {...}) line 3501
nsTextInputListener::UpdateTextInputCommands(const nsAString & {...}) line 399
+ 30 bytes
nsTextInputListener::NotifySelectionChanged(nsTextInputListener * const
0x03278110, nsIDOMDocument * 0x024f27f4, nsISelection * 0x03278530, short 0)
line 293 + 25 bytes
nsTypedSelection::NotifySelectionListeners() line 7839
nsSelection::NotifySelectionListeners(short 1) line 3310 + 16 bytes
nsSelection::EndBatchChanges(nsSelection * const 0x032785b0) line 3300
nsTypedSelection::EndBatchChanges(nsTypedSelection * const 0x03278534) line 7859
nsEditor::EndUpdateViewBatch() line 4482
nsEditor::EndPlaceHolderTransaction(nsEditor * const 0x03278750) line 785
nsAutoPlaceHolderBatch::~nsAutoPlaceHolderBatch() line 67 + 47 bytes
nsAutoEditBatch::~nsAutoEditBatch() line 79 + 15 bytes
nsPlaintextEditor::InsertTextFromTransferable(nsPlaintextEditor * const
0x03278750, nsITransferable * 0x04cc4d60, nsIDOMNode * 0x00000000, int 0, int
1) line 138 + 11 bytes
nsPlaintextEditor::Paste(nsPlaintextEditor * const 0x03278750, int 1) line 444
+ 30 bytes
nsPasteCommand::DoCommand(nsPasteCommand * const 0x0327ac60, const char *
0x0012e810, nsISupports * 0x03278750) line 414 + 28 bytes
nsControllerCommandTable::DoCommand(nsControllerCommandTable * const
0x03279610, const char * 0x0012e810, nsISupports * 0x03278750) line 191 + 31
bytes
nsBaseCommandController::DoCommand(nsBaseCommandController * const 0x032796c0,
const char * 0x0012e810) line 133
nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver * 0x0326a4e0,
nsIDOMEvent * 0x04cc73d8) line 320
nsXBLEventHandler::DoKey(nsIAtom * 0x0038c788 {???}, nsIDOMEvent * 0x04cc73d8)
line 129
nsXBLKeyHandler::KeyPress(nsXBLKeyHandler * const 0x0326a130, nsIDOMEvent *
0x04cc73d8) line 90
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x031f5af0,
nsIPresContext * 0x0251a9a0, nsEvent * 0x0012f774, nsIDOMEvent * * 0x0012f074,
nsIDOMEventTarget * 0x04cc5df0, unsigned int 519, nsEventStatus * 0x0012f5f4)
line 1631 + 41 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x031f3550,
nsIPresContext * 0x0251a9a0, nsEvent * 0x0012f774, nsIDOMEvent * * 0x0012f074,
unsigned int 519, nsEventStatus * 0x0012f5f4) line 1921
nsHTMLInputElement::HandleDOMEvent(nsHTMLInputElement * const 0x031f3550,
nsIPresContext * 0x0251a9a0, nsEvent * 0x0012f774, nsIDOMEvent * * 0x00000000,
unsigned int 513, nsEventStatus * 0x0012f5f4) line 1442 + 29 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f774, nsIView * 0x0251bf90,
unsigned int 1, nsEventStatus * 0x0012f5f4) line 6383 + 55 bytes
PresShell::HandleEvent(PresShell * const 0x0251b7c4, nsIView * 0x0251bf90,
nsGUIEvent * 0x0012f774, nsEventStatus * 0x0012f5f4, int 1, int & 1) line 6257
+ 25 bytes
nsViewManager::HandleEvent(nsView * 0x0251bf90, nsGUIEvent * 0x0012f774, int 0)
line 2270
nsView::HandleEvent(nsViewManager * 0x0251a180, nsGUIEvent * 0x0012f774, int 0)
line 308
nsViewManager::DispatchEvent(nsViewManager * const 0x0251a180, nsGUIEvent *
0x0012f774, nsEventStatus * 0x0012f734) line 2046 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f774) line 82
nsWindow::DispatchEvent(nsWindow * const 0x0251bea4, nsGUIEvent * 0x0012f774,
nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f774) line 1075
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 118, unsigned int
0, long 0) line 2915 + 15 bytes
nsWindow::OnChar(unsigned int 22, unsigned int 0, unsigned char 0) line 3102
nsWindow::ProcessMessage(unsigned int 258, unsigned int 22, long 3080193, long
* 0x0012fbe0) line 3813 + 38 bytes
nsWindow::WindowProc(HWND__ * 0x01c20570, unsigned int 258, unsigned int 22,
long 3080193) line 1337 + 27 bytes
NS_IMETHODIMP XPCWrappedNative::GetJSObject(JSObject * *aJSObject)
{
*aJSObject = mFlatJSObject;
return NS_OK;
}
Note that it always returns OK even for null out. Some impls will ASSERT non
null out, but most will return OK + null.
Frame that caused cascade:
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x02c14cb0,
nsIDOMEvent * 0x04cc4ba8) line 137 + 53 bytes
Code:
rv = wrapper->GetJSObject(&obj);
NS_ENSURE_SUCCESS(rv, rv);
if (!JS_LookupUCProperty(cx, obj,
NS_REINTERPRET_CAST(const jschar *,
eventString.get()),
eventString.Length(), &funval)) {
jst: you own blame for the NS_ENSURE, so this bug is for you :)
Problematic local variable:
- wrapper {0x034775f0}
\- nsCOMPtr_base {...}
\- mRawPtr 0x034775f0
|- [XPCWrappedNative] {...}
||+ nsIXPConnectWrappedNative {...}
||+ mRefCnt {2}
||+ mMaybeScope 0x02dd0b80
||+ mMaybeProto 0x02dd0b80
||+ mSet 0x024dd670
||+ mIdentity 0x02bd30d0
||+ mFlatJSObject 0x00000000
||- mScriptableInfo 0x02dd0b40
||\- mCallback {0x024d0ab0}
|| \- nsCOMPtr_base {...}
|| \- mRawPtr 0x024d0ab0
|| \+ __vfptr 0x01f119c0 const nsElementSH::`vftable'{for
`nsIXPCScriptable'}
||- mShared 0x024dd5f0
|||+ mFlags {...}
||\- mJSClass {...}
|| |+ name 0x024db230 "XULElement"
|| | flags 13
|| | ...
|| | call 0x00000000
|| | construct 0x00000000
|| | xdrObject 0x00000000
|| | hasInstance 0x00000000
|| | mark 0x012e81e0 XPC_WN_Shared_Mark(JSContext *, JSObject *, void *)
|| \ spare 0
|\+ mFirstChunk {...}
+ __vfptr 0x012f4740 const XPCWrappedNative::`vftable'
| Assignee | ||
Comment 1•23 years ago
|
||
The only way this obj should be null is if the system is shutting down, the
object is being finalized, or possible if it wasn't completely initialized. From
your dump of the wrapped native and the stack, it doesn't look like it was
shutting down and pretty sure it wasn't being finalized given there's no GC
reference on the stack and this is the main thread.
If you can reproduce on a clean CVS build then I'd say lets spend some time
investigating. There's just no obvious way that the wrapped native and it's
tearoff could have gotten into this state..
| Assignee | ||
Comment 3•23 years ago
|
||
Was talking to timeless after he added some checks. The object has been
finalized, so there must be some kind of race condition in GC. If someone held
the wrapper, the object shouldn't have been finalized. I suspect his system was
operating slowly and triggered the situation.
I'll take this for now and see how this could have occured.
Assignee: jst → dbradley
LookupUCProperty(JSContext * 0x021303f0, JSObject * 0xfffffffd, const unsigned
short * 0x001297f4, unsigned int 15, JSObject * * 0x001296c0, JSProperty * *
0x001296b8) line 2332 + 33 bytes
JS_LookupUCProperty(JSContext * 0x021303f0, JSObject * 0xfffffffd, const
unsigned short * 0x001297f4, unsigned int 15, long * 0x001297c4) line 2583 + 29
bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x0388d9c0, nsIDOMEvent
* 0x01830b34) line 136 + 53 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x0388e880,
nsIDOMEvent * 0x01830b34, nsIDOMEventTarget * 0x0551d288, unsigned int 32,
unsigned int 7) line 1422 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x0388e818,
nsIPresContext * 0x021d9d78, nsEvent * 0x00129f10, nsIDOMEvent * * 0x00129e44,
nsIDOMEventTarget * 0x0551d288, unsigned int 7, nsEventStatus * 0x00129f38) line
1515 + 56 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02af7e08, nsIPresContext *
0x021d9d78, nsEvent * 0x00129f10, nsIDOMEvent * * 0x00129e44, unsigned int 7,
nsEventStatus * 0x00129f38) line 3168
nsXULCommandDispatcher::UpdateCommands(nsXULCommandDispatcher * const
0x029c50e0, const nsAString & {...}) line 382
GlobalWindowImpl::UpdateCommands(GlobalWindowImpl * const 0x0216c7cc, const
nsAString & {...}) line 3527
nsFocusController::UpdateCommands(nsFocusController * const 0x02a32168, const
nsAString & {...}) line 168
nsFocusController::Focus(nsFocusController * const 0x02a3216c, nsIDOMEvent *
0x04e71388) line 318 + 33 bytes
DispatchToInterface(nsIDOMEvent * 0x04e71388, nsIDOMEventListener * 0x02a3216c,
unsigned int (nsIDOMEvent *)* 0x013be3a0 `vcall'(nsIDOMEvent *), const nsID &
{...}, int * 0x0012a1a0) line 128 + 11 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x02205398,
nsIPresContext * 0x021d9d78, nsEvent * 0x0012a5f8, nsIDOMEvent * * 0x0012a30c,
nsIDOMEventTarget * 0x029cc160, unsigned int 4, nsEventStatus * 0x0012a5f4) line
1508 + 35 bytes
nsWindowRoot::HandleChromeEvent(nsWindowRoot * const 0x029cc168, nsIPresContext
* 0x021d9d78, nsEvent * 0x0012a5f8, nsIDOMEvent * * 0x0012a30c, unsigned int 4,
nsEventStatus * 0x0012a5f4) line 214
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x0216c7c8,
nsIPresContext * 0x021d9d78, nsEvent * 0x0012a5f8, nsIDOMEvent * * 0x0012a30c,
unsigned int 7, nsEventStatus * 0x0012a5f4) line 842
nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x02c51a18,
nsIPresContext * 0x021d9d78, nsEvent * 0x0012a974, nsIFrame * 0x038f2dc4,
nsEventStatus * 0x0012a7a0, nsIView * 0x0220afb0) line 541
PresShell::HandleEventInternal(nsEvent * 0x0012a974, nsIView * 0x0220afb0,
unsigned int 1, nsEventStatus * 0x0012a7a0) line 6178 + 49 bytes
PresShell::HandleEvent(PresShell * const 0x02a0dcd8, nsIView * 0x0220afb0,
nsGUIEvent * 0x0012a974, nsEventStatus * 0x0012a7a0, int 1, int & 1) line 6079 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x0220afb0, nsGUIEvent * 0x0012a974, int 0)
line 2255
nsView::HandleEvent(nsViewManager * 0x0220add0, nsGUIEvent * 0x0012a974, int 0)
line 298
nsViewManager::DispatchEvent(nsViewManager * const 0x0220add0, nsGUIEvent *
0x0012a974, nsEventStatus * 0x0012a8e4) line 2038 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012a974) line 79
nsWindow::DispatchEvent(nsWindow * const 0x0220b05c, nsGUIEvent * 0x0012a974,
nsEventStatus & nsEventStatus_eIgnore) line 1049 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012a974) line 1070
nsWindow::DispatchFocus(unsigned int 105, int 1) line 5385 + 15 bytes
nsWindow::ProcessMessage(unsigned int 7, unsigned int 459650, long 0, long *
0x0012ad94) line 4129 + 23 bytes
nsWindow::WindowProc(HWND__ * 0x00040400, unsigned int 7, unsigned int 459650,
long 0) line 1332 + 27 bytes
USER32! SetTimer + 1077 bytes
USER32! GetMonitorInfoW + 156 bytes
USER32! GetMonitorInfoW + 222 bytes
NTDLL! KiUserCallbackDispatcher + 19 bytes
nsEventStateManager::SendFocusBlur(nsIPresContext * 0x021d9d78, nsIContent *
0x03b18618, int 1) line 4241
nsEventStateManager::SetContentState(nsEventStateManager * const 0x02c51a18,
nsIContent * 0x03b18618, int 2) line 3945
nsXULElement::SetFocus(nsXULElement * const 0x03b18618, nsIPresContext *
0x021d9d78) line 4223
nsXULElement::Focus(nsXULElement * const 0x03b1861c) line 4112 + 28 bytes
XPTC_InvokeByIndex(nsISupports * 0x03b1861c, unsigned int 108, unsigned int 0,
nsXPTCVariant * 0x0012b460) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x021303f0, JSObject * 0x03a8f5b0, unsigned int 0,
long * 0x055aa0b0, long * 0x0012b718) line 1269 + 14 bytes
js_Invoke(JSContext * 0x021303f0, unsigned int 0, unsigned int 0) line 912 + 23
bytes
js_Interpret(JSContext * 0x021303f0, long * 0x0012c04c) line 2933 + 15 bytes
js_Invoke(JSContext * 0x021303f0, unsigned int 1, unsigned int 2) line 929 + 13
bytes
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJSClass * const 0x02b5c7b0,
nsXPCWrappedJS * 0x03b55978, unsigned short 3, const nsXPTMethodInfo *
0x0203f8e0, nsXPTCMiniVariant * 0x0012c3dc) line 1331 + 22 bytes
nsXPCWrappedJS::CallMethod(nsXPCWrappedJS * const 0x03b55978, unsigned short 3,
const nsXPTMethodInfo * 0x0203f8e0, nsXPTCMiniVariant * 0x0012c3dc) line 429
PrepareAndDispatch(nsXPTCStubBase * 0x03b55978, unsigned int 3, unsigned int *
0x0012c48c, unsigned int * 0x0012c47c) line 117 + 31 bytes
SharedStub() line 147
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x03b559f0,
nsIDOMEvent * 0x04ededd0, nsIDOMEventTarget * 0x020625a8, unsigned int 4,
unsigned int 2) line 1422 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x029c9280,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
nsIDOMEventTarget * 0x020625a8, unsigned int 2, nsEventStatus * 0x0012f5f0) line
1515 + 56 bytes
nsXULDocument::HandleDOMEvent(nsXULDocument * const 0x02062510, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 1267
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02ab7f60, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3191 + 47 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02c01500, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02bfadf8, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02b268f8, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x02bfce70, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x03b3ba70, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x03b18690, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04710170, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3185 + 61 bytes
nsXULElement::HandleChromeEvent(nsXULElement * const 0x0471017c, nsIPresContext
* 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 4304 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x03f31e48,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
unsigned int 2, nsEventStatus * 0x0012f5f0) line 868
nsDocument::HandleDOMEvent(nsDocument * const 0x046bfc68, nsIPresContext *
0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0, unsigned int 2,
nsEventStatus * 0x0012f5f0) line 3566
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x03ee5260,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
unsigned int 2, nsEventStatus * 0x0012f5f0) line 2037 + 47 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x03fb76a8,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
unsigned int 2, nsEventStatus * 0x0012f5f0) line 2030 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x03fe1df8,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
unsigned int 2, nsEventStatus * 0x0012f5f0) line 2030 + 60 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x0470ef48,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x0012f1e0,
unsigned int 7, nsEventStatus * 0x0012f5f0) line 2030 + 60 bytes
nsGenericHTMLElement::HandleDOMEventForAnchors(nsIPresContext * 0x047ca1b0,
nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x00000000, unsigned int 1, nsEventStatus
* 0x0012f5f0) line 1405 + 32 bytes
nsHTMLAnchorElement::HandleDOMEvent(nsHTMLAnchorElement * const 0x0470ef48,
nsIPresContext * 0x047ca1b0, nsEvent * 0x0012f7c4, nsIDOMEvent * * 0x00000000,
unsigned int 1, nsEventStatus * 0x0012f5f0) line 352
PresShell::HandleEventInternal(nsEvent * 0x0012f7c4, nsIView * 0x03e2a5f8,
unsigned int 1, nsEventStatus * 0x0012f5f0) line 6192 + 47 bytes
PresShell::HandleEvent(PresShell * const 0x03d96010, nsIView * 0x03e2a5f8,
nsGUIEvent * 0x0012f7c4, nsEventStatus * 0x0012f5f0, int 1, int & 1) line 6079 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x03e2a5f8, nsGUIEvent * 0x0012f7c4, int 0)
line 2255
nsView::HandleEvent(nsViewManager * 0x03e2a418, nsGUIEvent * 0x0012f7c4, int 0)
line 298
nsViewManager::DispatchEvent(nsViewManager * const 0x03e2a418, nsGUIEvent *
0x0012f7c4, nsEventStatus * 0x0012f734) line 2038 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f7c4) line 79
nsWindow::DispatchEvent(nsWindow * const 0x03e2a6a4, nsGUIEvent * 0x0012f7c4,
nsEventStatus & nsEventStatus_eIgnore) line 1049 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7c4) line 1070
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 0, unsigned int 33,
long 21561345) line 2916 + 15 bytes
nsWindow::OnKeyDown(unsigned int 33, unsigned int 329, long 21561345) line 3006
nsWindow::ProcessMessage(unsigned int 256, unsigned int 33, long 21561345, long
* 0x0012fc34) line 3905 + 36 bytes
nsWindow::WindowProc(HWND__ * 0x00070382, unsigned int 256, unsigned int 33,
long 21561345) line 1332 + 27 bytes
USER32! SetTimer + 1077 bytes
USER32! DispatchMessageW + 278 bytes
USER32! DispatchMessageW + 11 bytes
nsAppShellService::Run(nsAppShellService * const 0x00c5d738) line 476
Index: xpcprivate.h
===================================================================
RCS file: /cvsroot/mozilla/js/src/xpconnect/src/xpcprivate.h,v
retrieving revision 1.138
diff -u -r1.138 xpcprivate.h
--- xpcprivate.h
+++ xpcprivate.h
@@ -1741,7 +1744,12 @@
NS_DECL_NSIXPCONNECTWRAPPEDNATIVE
JSBool
- IsValid() const {return nsnull != mFlatJSObject;}
+ IsValid() const {
+ // XXX dbradley made me do it
+ return
+ mFlatJSObject < (JSObject*)-5 &&
+ mFlatJSObject > nsnull;
+ }
#define XPC_SCOPE_TAG ((jsword)0x1)
#define XPC_SCOPE_WORD(s) ((jsword)(s))
Index: xpcwrappednative.cpp
===================================================================
RCS file: /cvsroot/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp,v
retrieving revision 1.80
diff -u -r1.80 xpcwrappednative.cpp
--- xpcwrappednative.cpp
+++ xpcwrappednative.cpp
@@ -891,7 +895,8 @@
}
//This makes IsValid return false from now on...
- mFlatJSObject = nsnull;
+ // XXX dbradley made me do it
+ mFlatJSObject = (JSObject*)-3;
NS_ASSERTION(mIdentity, "bad pointer!");
#ifdef XP_WIN
I believe this is profile 'two' (i think profile 'n7' is busy playing games w/
venkman+jsd). i'll try to leave the stack alive for a while.
Updated•16 years ago
|
QA Contact: desale → events
Updated•15 years ago
|
Crash Signature: [@ LookupUCProperty]
Comment 5•14 years ago
|
||
This bug has no information on current versions and no clear lead as to what the crashes that it tracks are. This should either be updated with current info and reopened or new bugs be filed on concrete actions/crashes on current code.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•