Closed
Bug 224058
Opened 21 years ago
Closed 21 years ago
Error invalid active window while closing a window
Categories
(Core Graveyard :: Embedding: APIs, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.6beta
People
(Reporter: timeless, Assigned: danm.moz)
Details
Attachments
(1 file)
1.43 KB,
patch
|
emaijala+moz
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
NS_ERROR("invalid active window");
nsDebug::Assertion(const char * 0x00fac304, const char * 0x00fac2fc, const char
* 0x00fac2b0, int 884) line 109
nsWindowWatcher::SetActiveWindow(nsWindowWatcher * const 0x00c5d118,
nsIDOMWindow * 0x021d10e4) line 884 + 26 bytes
nsFocusController::UpdateWWActiveWindow() line 527
nsFocusController::SetActive(nsFocusController * const 0x02744090, int 1) line 493
nsWebShellWindow::HandleEvent(nsGUIEvent * 0x00127388) line 592
nsWindow::DispatchEvent(nsWindow * const 0x00c202ac, nsGUIEvent * 0x00127388,
nsEventStatus & nsEventStatus_eIgnore) line 1049 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x00127388) line 1070
nsWindow::DispatchFocus(unsigned int 105, int 1) line 5385 + 15 bytes
nsWindow::ProcessMessage(unsigned int 7, unsigned int 198664, long 0, long *
0x001277a8) line 4129 + 23 bytes
nsWindow::WindowProc(HWND__ * 0x0006022c, unsigned int 7, unsigned int 198664,
long 0) line 1332 + 27 bytes
USER32! SetTimer + 1077 bytes
USER32! GetMonitorInfoW + 156 bytes
USER32! GetMonitorInfoW + 222 bytes
NTDLL! KiUserCallbackDispatcher + 19 bytes
USER32! DefWindowProcW + 34 bytes
USER32! SetTimer + 1077 bytes
USER32! SetRect + 101 bytes
USER32! CallWindowProcW + 25 bytes
nsWindow::WindowProc(HWND__ * 0x0006022c, unsigned int 6, unsigned int 1, long
3671816) line 1339 + 31 bytes
USER32! SetTimer + 1077 bytes
USER32! GetMonitorInfoW + 156 bytes
USER32! GetMonitorInfoW + 222 bytes
NTDLL! KiUserCallbackDispatcher + 19 bytes
nsXULWindow::Destroy(nsXULWindow * const 0x0458cb10) line 473
^ it looks like this was:
parentWidget->PlaceBehind(eZPlacementTop, 0, PR_TRUE);
- this 0x0458cb10
|+ [nsWebShellWindow] {...}
|+ nsIBaseWindow {...}
|+ nsIInterfaceRequestor {...}
|+ nsIXULWindow {...}
|+ nsSupportsWeakReference {...}
|+ mRefCnt {0}
|+ _mOwningThread {...}
|+ mChromeTreeOwner 0x10687aa8
|+ mContentTreeOwner 0x0806d6d0
|+ mPrimaryContentTreeOwner 0x00000000
|+ mWindow {0x10610344}
|+ mDocShell {0x04d22060}
|+ mDOMWindow {0x00000000}
|+ mParentWindow {0x021d0c30}
|+ mPrompter {0x00000000}
|+ mAuthPrompter {0x00000000}
|+ mContentShells {...}
| mModalStatus 0
| mContinueModalLoop 0 ''
| mDebuting 0 ''
| mChromeLoaded 1 ''
| mShowAfterLoad 1 ''
| mIntrinsicallySized 0 ''
| mCenterAfterLoad 1 ''
| mIsHiddenWindow 0 ''
| mContextFlags 0
| mBlurSuppressionLevel 0
| mPersistentAttributesDirty 0
\ mPersistentAttributesMask 7
- (nsWebShellWindow*)(!parent.mRawPtr + 0x027a8c78) 0x027a8c78
|- nsXULWindow {...}
||+ nsIBaseWindow {...}
||+ nsIInterfaceRequestor {...}
||+ nsIXULWindow {...}
||+ nsSupportsWeakReference {...}
||+ mRefCnt {0}
||+ _mOwningThread {...}
||+ mChromeTreeOwner 0x021d0cc0
||+ mContentTreeOwner 0x027150b8
||+ mPrimaryContentTreeOwner 0x00000000
||- mWindow {0x00c202ac}
||\- nsCOMPtr_base {...}
|| \- mRawPtr 0x00c202ac
|| \+ __vfptr 0x01d69648 const nsWindow::`vftable'{for `nsBaseWidget'}
||+ mDocShell {0x021927a8}
||+ mDOMWindow {0x021d10e4}
||+ mParentWindow {0x00000000}
||+ mPrompter {0x07b6b650}
||+ mAuthPrompter {0x00000000}
||+ mContentShells {...}
|| mModalStatus 0
|| mContinueModalLoop 0 ''
|| mDebuting 0 ''
|| mChromeLoaded 1 ''
|| mShowAfterLoad 0 ''
|| mIntrinsicallySized 0 ''
|| mCenterAfterLoad 0 ''
|| mIsHiddenWindow 1 ''
|| mContextFlags 0
|| mBlurSuppressionLevel 0
|| mPersistentAttributesDirty 0
|\ mPersistentAttributesMask 7
|+ nsIWebShellWindow {...}
|+ nsIWebShellContainer {...}
|+ nsIWebProgressListener {...}
|+ nsIDocumentObserver {...}
|+ mRefCnt {4}
|+ _mOwningThread {...}
|+ mWebShell 0x021928f0
| mLockedUntilChromeLoad 0
| mLoadDefaultPage 0
|+ mMenuDelegates {...}
|+ contextMenuTest 0xcdcdcdcd
|+ mSPTimer {0x00000000}
| mSPTimerLock 0x00c201e0
\+ mPrompter {0x00000000}
console output:
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
Parse Time (this=08720928): Real time 0:0:1.192, CP time 1.052
DTD Time: Real time 0:0:0.0, CP time 0.000
Tokenize Time: Real time 0:0:1.92, CP time 1.052
Content creation time (this=085E24B8): Real time 0:0:0.0, CP time 0.000
Reflow time (this=104B7620): Real time 0:0:0.0, CP time 0.000
Frame construction plus style resolution time (this=104B7620): Real time
0:0:0.912, CP time 0.901
Style resolution time (this=104B7620): Real time 0:0:0.401, CP time 0.401
Parse Time (this=1042F490): Real time 0:0:0.40, CP time 0.000
DTD Time: Real time 0:0:0.50, CP time 0.000
Tokenize Time: Real time 0:0:0.0, CP time 0.000
Document http://random.yahoo.com/bin/ryl loaded successfully
Parse Time (this=0864E128): Real time 0:0:0.400, CP time 0.340
DTD Time: Real time 0:0:0.0, CP time 0.000
Tokenize Time: Real time 0:0:0.360, CP time 0.330
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
WARNING: Failed to get a global Object Owner, file
i:/build/mozilla/dom/src/base/nsJSEnvironment.cpp, line 160
XPC - Begin deferred Release of 2693 nsISupports pointers
XPC - End deferred Releases
WEBSHELL+ = 23
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
XPC - Begin deferred Release of 55 nsISupports pointers
XPC - End deferred Releases
Reflow time (this=085A1FF0): Real time 0:0:0.30, CP time 0.030
Frame construction plus style resolution time (this=085A1FF0): Real time
0:0:0.571, CP time 0.491
Style resolution time (this=085A1FF0): Real time 0:0:0.641, CP time 0.641
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
WARNING: getting z level of unregistered window, file
i:/build/mozilla/xpfe/appshell/src/nsWindowMediator.cpp, line 636
###!!! ASSERTION: invalid active window: 'Error', file
i:/build/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp,
line 884
Break: at file
i:/build/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp,
line 884
Wow. I can actually tell what's happening here. Someone opened an alert window
without giving it a real parent (so it uses HiddenWindow). Whoever's doing that
needs to send me a check for $10 right away. As the alert is closed it attempts
to focus its parent because of the screwy Windows problem from bug 22658.
WindowWatcher rightly complains that you shouldn't be focusing HiddenWindow.
Sadly this is not the situation we were trying to flush out when we added the
NS_ERROR that's tripping in this bug report. That was crash bug 170693. That
crash was caused by attempting to focus a deleted window, and that wouldn't be a
problem in this situation.
Still, it's a bug.
Assignee: adamlock → danm-moz
Windows attempt to focus their parent when being closed. This is a cosmetic
issue, and we should just skip it if the parent is HiddenWindow, an invalid
subject of focus. This patch resurrects a check that accidentally went missing
in rev 1.127.
Attachment #134396 -
Flags: review?(ere)
Good call, here's the rest of the stack (one line repeated for stitching):
nsXULWindow::Destroy(nsXULWindow * const 0x0458cb10) line 473
nsWebShellWindow::Destroy(nsWebShellWindow * const 0x0458cb10) line 1296 + 9 bytes
nsChromeTreeOwner::Destroy(nsChromeTreeOwner * const 0x10687aac) line 294
GlobalWindowImpl::ReallyCloseWindow(GlobalWindowImpl * const 0x08696288) line 3448
GlobalWindowImpl::CloseWindow(nsISupports * 0x08696274) line 4665
nsJSContext::ScriptEvaluated(nsJSContext * const 0x03743160, int 1) line 1736 +
18 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x03743160, void * 0x06e981e8,
void * 0x074b9610, unsigned int 2, void * 0x07f5a9b8, int * 0x00127c3c, int 0)
line 1305
GlobalWindowImpl::RunTimeout(nsTimeoutImpl * 0x07f7c398) line 5006 + 84 bytes
GlobalWindowImpl::TimerCallback(nsITimer * 0x083122a8, void * 0x07f7c398) line 5367
nsTimerImpl::Fire() line 382 + 17 bytes
nsTimerManager::FireNextIdleTimer(nsTimerManager * const 0x0206e778) line 616
nsAppShell::GetNativeEvent(nsAppShell * const 0x07c03498, int & 1, void * &
0x01d79a78 msg) line 197
nsXULWindow::ShowModal(nsXULWindow * const 0x0458cb18) line 362 + 31 bytes
nsWebShellWindow::ShowModal(nsWebShellWindow * const 0x0458cb18) line 743
nsContentTreeOwner::ShowAsModal(nsContentTreeOwner * const 0x0806d6dc) line 449
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x00c5d11c, nsIDOMWindow *
0x021d10e4, const char * 0x00fa8888 kPromptURL, const char * 0x00fae184, const
char * 0x00fae160, int 1, unsigned int 1, long * 0x10505d78, nsIDOMWindow * *
0x00128344) line 792
nsWindowWatcher::OpenWindow(nsWindowWatcher * const 0x00c5d118, nsIDOMWindow *
0x021d10e4, const char * 0x00fa8888 kPromptURL, const char * 0x00fae184, const
char * 0x00fae160, nsISupports * 0x07b8fea8, nsIDOMWindow * * 0x00128344) line
452 + 48 bytes
nsPromptService::DoDialog(nsPromptService * const 0x0217931c, nsIDOMWindow *
0x021d10e4, nsIDialogParamBlock * 0x07b8fea8, const char * 0x00fa8888
kPromptURL) line 631 + 77 bytes
nsPromptService::Confirm(nsPromptService * const 0x02179318, nsIDOMWindow *
0x021d10e4, const unsigned short * 0x022fdcf0, const unsigned short *
0x022fdd10, int * 0x001284d4) line 209 + 37 bytes
nsPrompt::Confirm(nsPrompt * const 0x07b6b650, const unsigned short *
0x022fdcf0, const unsigned short * 0x022fdd10, int * 0x001284d4) line 141
nsJSContext::DOMBranchCallback(JSContext * 0x027445e0, JSScript * 0x050b08a8)
line 514 + 47 bytes
js_Interpret(JSContext * 0x027445e0, long * 0x00128da4) line 1571 + 108 bytes
js_Invoke(JSContext * 0x027445e0, unsigned int 2, unsigned int 2) line 929 + 13
bytes
js_InternalInvoke(JSContext * 0x027445e0, JSObject * 0x050c4b88, long 84691856,
unsigned int 0, unsigned int 2, long * 0x00128e9c, long * 0x00128e98) line 1006
+ 20 bytes
sort_compare(const void * 0x1091b728, const void * 0x1091b72c, void *
0x00128f8c) line 764 + 312 bytes
HeapSortHelper(int 0, HSortArgs * 0x00128f18, unsigned int 1, unsigned int 30)
line 660 + 23 bytes
js_HeapSort(void * 0x1091b728, unsigned int 30, unsigned int 4, int (const void
*, const void *, void *)* 0x00df1a10 sort_compare(const void *, const void *,
void *), void * 0x00128f8c) line 722 + 26 bytes
array_sort(JSContext * 0x027445e0, JSObject * 0x050c3ba8, unsigned int 1, long *
0x108fd7cc, long * 0x0012905c) line 884 + 45 bytes
js_Invoke(JSContext * 0x027445e0, unsigned int 1, unsigned int 0) line 912 + 23
bytes
js_Interpret(JSContext * 0x027445e0, long * 0x00129990) line 2933 + 15 bytes
js_Invoke(JSContext * 0x027445e0, unsigned int 3, unsigned int 0) line 929 + 13
bytes
js_Interpret(JSContext * 0x027445e0, long * 0x0012a274) line 2933 + 15 bytes
js_Invoke(JSContext * 0x027445e0, unsigned int 2, unsigned int 0) line 929 + 13
bytes
js_Interpret(JSContext * 0x027445e0, long * 0x0012ab58) line 2933 + 15 bytes
js_Invoke(JSContext * 0x027445e0, unsigned int 1, unsigned int 2) line 929 + 13
bytes
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJSClass * const 0x06fdb260,
nsXPCWrappedJS * 0x06fdb310, unsigned short 3, const nsXPTMethodInfo *
0x069dfbb8, nsXPTCMiniVariant * 0x0012aee8) line 1331 + 22 bytes
nsXPCWrappedJS::CallMethod(nsXPCWrappedJS * const 0x06fdb310, unsigned short 3,
const nsXPTMethodInfo * 0x069dfbb8, nsXPTCMiniVariant * 0x0012aee8) line 429
PrepareAndDispatch(nsXPTCStubBase * 0x06fdb310, unsigned int 3, unsigned int *
0x0012af98, unsigned int * 0x0012af88) line 117 + 31 bytes
SharedStub() line 147
jsds_ScriptHookProc(JSDContext * 0x00bc2988, JSDScript * 0x10901d00, int 1, void
* 0x00000000) line 722
jsd_NewScriptHookProc(JSContext * 0x080081c8, const char * 0x033a5e8d, unsigned
int 684, JSScript * 0x10901c20, JSFunction * 0x108d84e0, void * 0x00bc2988) line
562 + 17 bytes
js_CallNewScriptHook(JSContext * 0x080081c8, JSScript * 0x10901c20, JSFunction *
0x108d84e0) line 1095 + 39 bytes
js_NewScriptFromCG(JSContext * 0x080081c8, JSCodeGenerator * 0x0012b0c0,
JSFunction * 0x108d84e0) line 1062 + 17 bytes
js_CompileFunctionBody(JSContext * 0x080081c8, JSTokenStream * 0x10901628,
JSFunction * 0x108d84e0) line 686 + 20 bytes
JS_CompileUCFunctionForPrincipals(JSContext * 0x080081c8, JSObject * 0x108a5828,
JSPrincipals * 0x0206e894, const char * 0x108d2c44, unsigned int 1, const char *
* 0x022fd6a0 char const * * gEventArgv, const unsigned short * 0x033d5758,
unsigned int 108, const char * 0x0012b4b0, unsigned int 684) line 3331 + 17 bytes
nsJSContext::CompileEventHandler(nsJSContext * const 0x080e4ad8, void *
0x108a5828, nsIAtom * 0x108d2c38 {"??????????????????????"}, const nsAString &
{...}, const char * 0x0012b4b0, unsigned int 684, int 1, void * * 0x0012b80c)
line 1185 + 83 bytes
nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver * 0x10903f48,
nsIDOMEvent * 0x108d8440) line 442
nsXBLPrototypeHandler::BindingAttached(nsIDOMEventReceiver * 0x10903f48) line 510
nsXBLPrototypeBinding::BindingAttached(nsIDOMEventReceiver * 0x10903f48) line
383 + 18 bytes
nsXBLBinding::ExecuteAttachedHandler(nsXBLBinding * const 0x108be678) line 850
nsBindingManager::ProcessAttachedQueue(nsBindingManager * const 0x0757d9a8) line 951
nsCSSFrameConstructor::ContentInserted(nsCSSFrameConstructor * const 0x04413d00,
nsIPresContext * 0x0849b018, nsIContent * 0x00000000, nsIFrame * 0x00000000,
nsIContent * 0x080aabd8, int 0, nsILayoutHistoryState * 0x00000000, int 0) line 8842
StyleSetImpl::ContentInserted(StyleSetImpl * const 0x081e4cd8, nsIPresContext *
0x0849b018, nsIContent * 0x00000000, nsIContent * 0x080aabd8, int 0) line 1639
PresShell::InitialReflow(PresShell * const 0x10459710, int 1560, int 0) line 2791
nsXULDocument::StartLayout() line 2247
nsXULDocument::ResumeWalk() line 3145
nsXULDocument::OnStreamComplete(nsXULDocument * const 0x07faa0dc,
nsIStreamLoader * 0x00000000, nsISupports * 0x00000000, unsigned int 0, unsigned
int 22180, const char * 0x105c6008) line 3360 + 14 bytes
nsStreamLoader::OnStopRequest(nsStreamLoader * const 0x104a3614, nsIRequest *
0x1054a958, nsISupports * 0x00000000, unsigned int 0) line 144
nsJARChannel::OnStopRequest(nsJARChannel * const 0x1054a960, nsIRequest *
0x104a3188, nsISupports * 0x00000000, unsigned int 0) line 664
nsInputStreamPump::OnStateStop() line 499
nsInputStreamPump::OnInputStreamReady(nsInputStreamPump * const 0x104a318c,
nsIAsyncInputStream * 0x104a3284) line 339 + 11 bytes
nsInputStreamReadyEvent::EventHandler(PLEvent * 0x1046a02c) line 117
PL_HandleEvent(PLEvent * 0x1046a02c) line 670 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x02a7cb80) line 605 + 9 bytes
_md_TimerProc(HWND__ * 0x000e0176, unsigned int 275, unsigned int 0, unsigned
long 66436170) line 976 + 9 bytes
USER32! SetTimer + 1077 bytes
USER32! DispatchMessageW + 398 bytes
USER32! DispatchMessageW + 11 bytes
nsXULWindow::ShowModal(nsXULWindow * const 0x048f3008) line 368
nsWebShellWindow::ShowModal(nsWebShellWindow * const 0x048f3008) line 743
nsContentTreeOwner::ShowAsModal(nsContentTreeOwner * const 0x04862a4c) line 449
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x00c5d11c, nsIDOMWindow *
0x04befc04, const char * 0x00fa8888 kPromptURL, const char * 0x00fae184, const
char * 0x00fae160, int 1, unsigned int 1, long * 0x051b1eb0, nsIDOMWindow * *
0x0012c934) line 792
nsWindowWatcher::OpenWindow(nsWindowWatcher * const 0x00c5d118, nsIDOMWindow *
0x04befc04, const char * 0x00fa8888 kPromptURL, const char * 0x00fae184, const
char * 0x00fae160, nsISupports * 0x04605c58, nsIDOMWindow * * 0x0012c934) line
452 + 48 bytes
nsPromptService::DoDialog(nsPromptService * const 0x0217931c, nsIDOMWindow *
0x04befc04, nsIDialogParamBlock * 0x04605c58, const char * 0x00fa8888
kPromptURL) line 631 + 77 bytes
nsPromptService::Alert(nsPromptService * const 0x02179318, nsIDOMWindow *
0x04befc04, const unsigned short * 0x0473db68, const unsigned short *
0x048b3680) line 135 + 37 bytes
XPTC_InvokeByIndex(nsISupports * 0x02179318, unsigned int 3, unsigned int 3,
nsXPTCVariant * 0x0012cbe0) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x04893d90, JSObject * 0x04329728, unsigned int 3,
long * 0x0512b160, long * 0x0012ce98) line 1269 + 14 bytes
js_Invoke(JSContext * 0x04893d90, unsigned int 3, unsigned int 0) line 912 + 23
bytes
js_Interpret(JSContext * 0x04893d90, long * 0x0012d7cc) line 2933 + 15 bytes
js_Invoke(JSContext * 0x04893d90, unsigned int 1, unsigned int 2) line 929 + 13
bytes
js_InternalInvoke(JSContext * 0x04893d90, JSObject * 0x02169ab8, long 70424184,
unsigned int 0, unsigned int 1, long * 0x0012da24, long * 0x0012d8f4) line 1006
+ 20 bytes
JS_CallFunctionValue(JSContext * 0x04893d90, JSObject * 0x02169ab8, long
70424184, unsigned int 1, long * 0x0012da24, long * 0x0012d8f4) line 3572 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x046f19e8, void * 0x02169ab8,
void * 0x04329678, unsigned int 1, void * 0x0012da24, int * 0x0012da28, int 0)
line 1297 + 33 bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x06b36fc0, nsIDOMEvent
* 0x04a3a698) line 180 + 77 bytes
nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver * 0x048468a8,
nsIDOMEvent * 0x04a3a698) line 462
nsXBLWindowHandler::WalkHandlersInternal(nsIDOMEvent * 0x04a3a698, nsIAtom *
0x0043d900 {???}, nsXBLPrototypeHandler * 0x0695a028) line 311 + 24 bytes
nsXBLWindowKeyHandler::WalkHandlers(nsXBLWindowKeyHandler * const 0x038da1d0,
nsIDOMEvent * 0x04a3a698, nsIAtom * 0x0043d900 {???}) line 162
nsXBLWindowKeyHandler::KeyPress(nsXBLWindowKeyHandler * const 0x038da1d0,
nsIDOMEvent * 0x04a3a698) line 178
DispatchToInterface(nsIDOMEvent * 0x04a3a698, nsIDOMEventListener * 0x038da1d0,
unsigned int (nsIDOMEvent *)* 0x013be3c0 `vcall'(nsIDOMEvent *), const nsID &
{...}, int * 0x0012e37c) line 128 + 11 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x04405d28,
nsIPresContext * 0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c,
nsIDOMEventTarget * 0x037cfdf8, unsigned int 514, nsEventStatus * 0x0012f5f4)
line 1508 + 35 bytes
nsXULDocument::HandleDOMEvent(nsXULDocument * const 0x037cfd60, nsIPresContext *
0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int 514,
nsEventStatus * 0x0012f5f4) line 1267
nsXULElement::HandleDOMEvent(nsXULElement * const 0x047ea1c8, nsIPresContext *
0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int 514,
nsEventStatus * 0x0012f5f4) line 3191 + 47 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x06967288, nsIPresContext *
0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int 514,
nsEventStatus * 0x0012f5f4) line 3185 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04645918, nsIPresContext *
0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int 514,
nsEventStatus * 0x0012f5f4) line 3185 + 61 bytes
nsXULElement::HandleChromeEvent(nsXULElement * const 0x04645924, nsIPresContext
* 0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int
514, nsEventStatus * 0x0012f5f4) line 4304 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x04b710d8,
nsIPresContext * 0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c,
unsigned int 514, nsEventStatus * 0x0012f5f4) line 868
nsDocument::HandleDOMEvent(nsDocument * const 0x04e6ebb0, nsIPresContext *
0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c, unsigned int 514,
nsEventStatus * 0x0012f5f4) line 3566
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x04f25590,
nsIPresContext * 0x0486aac0, nsEvent * 0x0012f7c8, nsIDOMEvent * * 0x0012f45c,
unsigned int 519, nsEventStatus * 0x0012f5f4) line 2037 + 47 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f7c8, nsIView * 0x044b0a00,
unsigned int 1, nsEventStatus * 0x0012f5f4) line 6209 + 45 bytes
PresShell::HandleEvent(PresShell * const 0x04f65040, nsIView * 0x044b0a00,
nsGUIEvent * 0x0012f7c8, nsEventStatus * 0x0012f5f4, int 1, int & 1) line 6079 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x044b0a00, nsGUIEvent * 0x0012f7c8, int 0)
line 2255
nsView::HandleEvent(nsViewManager * 0x04505f78, nsGUIEvent * 0x0012f7c8, int 0)
line 298
nsViewManager::DispatchEvent(nsViewManager * const 0x04505f78, nsGUIEvent *
0x0012f7c8, nsEventStatus * 0x0012f738) line 2038 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f7c8) line 79
nsWindow::DispatchEvent(nsWindow * const 0x042ded64, nsGUIEvent * 0x0012f7c8,
nsEventStatus & nsEventStatus_eIgnore) line 1049 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7c8) line 1070
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 103, unsigned int 0,
long 0) line 2916 + 15 bytes
nsWindow::OnChar(unsigned int 7, unsigned int 0, unsigned char 0) line 3103
nsWindow::ProcessMessage(unsigned int 258, unsigned int 7, long 2228225, long *
0x0012fc34) line 3814 + 38 bytes
nsWindow::WindowProc(HWND__ * 0x0006036a, unsigned int 258, unsigned int 7, long
2228225) line 1332 + 27 bytes
USER32! SetTimer + 1077 bytes
USER32! DispatchMessageW + 278 bytes
USER32! DispatchMessageW + 11 bytes
nsAppShellService::Run(nsAppShellService * const 0x00c627e8) line 476
main1(int 1, char * * 0x00444350, nsISupports * 0x00bab538) line 1292 + 32 bytes
main(int 1, char * * 0x00444350) line 1679 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! SetUnhandledExceptionFilter + 92 bytes
Unfortunately the caller is XBL so DumpJSStack didn't work:
JavaScript stack is empty
Comment 5•21 years ago
|
||
Perhaps if we knew which key was pressed it would help?
Ok, it took me a bit to remember how to do it, but i remembered:
here's the call stack:
filename 0x0207b40d "chrome://communicator/content/findUtils.js"
lineno 98
filename 0x02120765 "chrome://navigator/content/browser.js"
lineno 319
filename 0x00000000 ""
lineno 0
The dialog was:
Alert(title:"Find", text:"The text you entered was not found.")
- aParent 0x04befc04
||- [nsGlobalChromeWindow] {...}
|||- GlobalWindowImpl {...}
|||+ nsIScriptGlobalObject {...}
|||+ nsIDOMWindowInternal {...}
|||+ nsIDOMJSWindow {...}
|||+ nsIScriptObjectPrincipal {...}
|||+ nsIDOMEventReceiver {...}
|||+ nsIDOM3EventTarget {...}
|||+ nsPIDOMWindow {...}
|||+ nsIDOMViewCSS {...}
|||+ nsSupportsWeakReference {...}
|||+ nsIInterfaceRequestor {...}
|||+ mRefCnt {8}
|||+ _mOwningThread {...}
|||+ mContext {0x046f19e8}
|||+ mDocument {0x037cfdc8}
|||+ mOpener {0x0359ce9c}
|||+ mControllers {0x042764d8}
|||+ mListenerManager {0x04e91970}
||| mJSObject 0x045a4ef0
|||- mNavigator {...}
|||\+ mRawPtr 0x00000000
|||+ mScreen {...}
|||- mHistory {...}
|||\+ mRawPtr 0x00000000
|||- mFrames {...}
|||\+ mRawPtr 0x00000000
|||+ mLocation {...}
|||- mMenubar {...}
|||\+ mRawPtr 0x00000000
|||- mToolbar {...}
|||\+ mRawPtr 0x00000000
|||- mLocationbar {...}
|||\+ mRawPtr 0x00000000
|||- mPersonalbar {...}
|||\+ mRawPtr 0x00000000
|||- mStatusbar {...}
|||\+ mRawPtr 0x00000000
|||- mScrollbars {...}
|||\+ mRawPtr 0x00000000
|||+ mTimeouts 0x00000000
|||+ mTimeoutInsertionPoint 0x04befc78
|||+ mRunningTimeout 0x00000000
||| mTimeoutPublicIdCounter 3
||| mTimeoutFiringDepth 0
||| mFirstDocumentLoad 0 ''
||| mIsScopeClear 1 ''
||| mIsDocumentLoaded 1 ''
||| mFullScreen 0 ''
||| mIsClosed 0 ''
||| mOpenerWasCleared 0 ''
||| mLastMouseButtonAction 1067374468778056
|||+ mStatus {""}
|||+ mDefaultStatus {""}
|||+ mGlobalObjectOwner 0x06b08014
|||+ mDocShell 0x06b07fe8
||| mMutationBits 0
|||+ mChromeEventHandler {0x04b594d0}
|||+ mCrypto {0x00000000}
|||+ mPkcs11 {0x00000000}
|||+ mDocumentPrincipal {0x00000000}
|||+ mOpenerScriptURL {0x00000000}
|||+ mNavigatorHolder {0x00000000}
|||+ mFrameElement 0x00000000
|||+ sXPConnect 0x00c1fe08
|||+ sSecMan 0x00c43188
||\+ sComputedDOMStyleFactory 0x03808668
||+ nsIDOMChromeWindow {...}
|\+ mTitle {""}
\+ nsISupports {...}
The problem is that the code seems to do the right thing, unless 'window' was
magically wrong:
132 gPromptService.alert(window, gFindBundle.getString("notFoundTitle"),
gFindBundle.getString("notFoundWarning"));
Comment 7•21 years ago
|
||
Comment on attachment 134396 [details] [diff] [review]
abort focus of parent window if parent is the hidden window
r=ere
The patch itself seems fine. Anyway, if the dialog posing the problem seems to
be doing the right thing, it should be investigated why it gets it wrong.
Attachment #134396 -
Flags: review?(ere) → review+
Attachment #134396 -
Flags: superreview?(tor)
Dialogs using HiddenWindow as a parent have been an ongoing problem for a very
long time. Their number was pared down in a slew of bugs like bug 44145 and
44173 (and most of the bugs in between). Ongoing work continues in, for example,
bug 173844 and bug 210561. We're trying, but we may never get rid of all of
them. In the meantime, we have to accommodate them.
Status: NEW → ASSIGNED
Attachment #134396 -
Flags: superreview?(tor) → superreview?(roc)
Attachment #134396 -
Flags: superreview?(roc) → superreview+
.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.6beta
Updated•6 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•