Open
Bug 398103
Opened 17 years ago
Updated 2 years ago
Assertion failure in nsGlobalWindow::LeaveModalState
Categories
(Core :: DOM: Core & HTML, defect, P5)
Core
DOM: Core & HTML
Tracking
()
NEW
People
(Reporter: kinetik, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070723 Iceweasel/2.0.0.6 (Debian-2.0.0.6-1)
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a9pre) Gecko/2007100114 Minefield/3.0a9pre
The assertion in nsGlobalWindow::LeaveModalState consistently fires when quitting the browser from an idle window when a second window is open and blocked by a modal dialog.
Reproducible: Always
Steps to Reproduce:
1. Open a browser window
2. Open URL in a new browser window
3. Select File->Quit from idle browser window, click Quit
Actual Results:
###!!! ASSERTION: Uh, LeaveModalState() called w/o a reachable top window?: 'Error', file /home/kinetik/work/trunk/mozilla/dom/src/base/nsGlobalWindow.cpp, line 5040
--WEBSHELL 0xb15ae200 == 6
###!!! ASSERTION: Uh, LeaveModalState() called w/o a reachable top window?: 'Error', file /home/kinetik/work/trunk/mozilla/dom/src/base/nsGlobalWindow.cpp, line 5040
--WEBSHELL 0x8209438 == 5
Expected Results:
Clean shutdown.
#0 nsGlobalWindow::LeaveModalState (this=0xb168fa80)
at /home/kinetik/work/trunk/mozilla/dom/src/base/nsGlobalWindow.cpp:5040
#1 0xb5c446b2 in ~nsAutoWindowStateHelper (this=0xbf8c0954)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:85
#2 0xb5c3a4f1 in nsWindowWatcher::OpenWindowJSInternal (this=0x815b400,
aParent=0xb168fa80,
aUrl=0xb5c81d80 "chrome://global/content/commonDialog.xul",
aName=0xb5c819f3 "_blank",
aFeatures=0xb5c81aa8 "centerscreen,chrome,modal,titlebar", aDialog=1,
argv=0xb218c1c0, aCalledFromJS=0, _retval=0xbf8c0c00)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:944
#3 0xb5c3ab97 in nsWindowWatcher::OpenWindow (this=0x815b400,
aParent=0xb168fa80,
aUrl=0xb5c81d80 "chrome://global/content/commonDialog.xul",
aName=0xb5c819f3 "_blank",
aFeatures=0xb5c81aa8 "centerscreen,chrome,modal,titlebar",
aArguments=0xb2189e48, _retval=0xbf8c0c00)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:418
#4 0xb5c44a9d in nsPromptService::DoDialog (this=0xb52db7e0,
aParent=0xb168fa80, aParamBlock=0xb2189e48,
aChromeURL=0xb5c81d80 "chrome://global/content/commonDialog.xul")
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:844
#0 nsGlobalWindow::LeaveModalState (this=0xb168fa80)
at /home/kinetik/work/trunk/mozilla/dom/src/base/nsGlobalWindow.cpp:5040
#1 0xb5c446b2 in ~nsAutoWindowStateHelper (this=0xbf8c0d04)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:85
#2 0xb5c45d53 in nsPromptService::Alert (this=0xb52db7e0, parent=0xb168fa80,
dialogTitle=0xbf8c0e30, text=0xbf8c0d9c)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:213
#3 0xb5c2e586 in nsPrompt::Alert (this=0xb2189ae8, dialogTitle=0xbf8c0e30,
text=0xbf8c0d9c)
at /home/kinetik/work/trunk/mozilla/embedding/components/windowwatcher/src/nsPrompt.cpp:178
#4 0xb4dcce65 in nsGlobalWindow::Alert (this=0xb168fa80, aString=@0xb159b5e8)
at /home/kinetik/work/trunk/mozilla/dom/src/base/nsGlobalWindow.cpp:3639
Reporter | ||
Updated•17 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 1•16 years ago
|
||
Still visible with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1a2pre) Gecko/20080811211528 Minefield/3.1a2pre ID:20080811211528
If you close the tab while loading http://www.mlb.com and have Silverlight installed, which gives high cpu load, you will get a panel with a question where to go. If the tab was closed before this assertion is listed twice:
###!!! ASSERTION: Uh, LeaveModalState() called w/o a reachable top window?: 'Error', file /Volumes/Daten/Projects/mozilla/source/mozilla/dom/src/base/nsGlobalWindow.cpp, line 5712
http://mxr.mozilla.org/mozilla-central/source/dom/src/base/nsGlobalWindow.cpp#5705
Version: unspecified → Trunk
Comment 2•14 years ago
|
||
This assertion also fires consistently when a tab that is displaying a
tab-modal prompt is closed while there is another tab-modal prompt open
in another tab, launched after the first one.
Blocks: 59314
Comment 3•13 years ago
|
||
Points of interest in the code:
nsGlobalWindow::EnterModalState()
http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#6569
Gets called a few instructions before LeaveModalState and has the same ASSERT, so likely docShellAsItem->GetSameTypeRootTreeItem(getter_AddRefs(root)); in nsGlobalWindow::GetTop(nsIDOMWindow** aTop) http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#3058 gets overwritten by another thread closing the top before the dialog gets closed.
Or OpenInternal
http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#7099
doesn't set some variables right.
Comment 4•6 years ago
|
||
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046
Move all DOM bugs that haven't been updated in more than 3 years and has no one currently assigned to P5.
If you have questions, please contact :mdaly.
Priority: -- → P5
Assignee | ||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•