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)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.6beta

People

(Reporter: timeless, Assigned: danm.moz)

Details

Attachments

(1 file)

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
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 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
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: