Closed
Bug 893324
Opened 12 years ago
Closed 12 years ago
"Assertion failure: mCleanedUp" quitting during alert, with showModalDialog
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
mozilla25
People
(Reporter: jruderman, Assigned: bholley)
Details
(Keywords: assertion, testcase)
Attachments
(3 files)
1. Set:
user_pref("dom.disable_open_during_load", false);
2. Load the testcase
3. While the alert is still up, press Cmd+Q
Assertion failure: mCleanedUp, at dom/base/nsGlobalWindow.cpp:1258
Based on the stack trace, I suspect bug 789919 (snow-white).
Reporter | ||
Comment 1•12 years ago
|
||
Reporter | ||
Comment 2•12 years ago
|
||
> Based on the stack trace, I suspect bug 789919 (snow-white).
Except the fuzzer found it on July 8, before snow-white landed. So maybe bug 860941?
Comment 3•12 years ago
|
||
Stacks that involve the destructor of any CCed thing are now going to involve SnowWhiteKiller.
Assignee | ||
Comment 4•12 years ago
|
||
Assignee: nobody → bobbyholley+bmo
Assignee | ||
Comment 5•12 years ago
|
||
Historically, we've had a bunch of complicated machinery to delay the call to
CleanUp() for modal dialogs, since we needed to harvest the return value after
the window closed. But in the current world we don't actually null out
mReturnValue in CleanUp() at all, which presumably happened sometime around the
time mReturnValue became cycle-collected. So this stuff can just go away. \o/
That simplification is righteous in itself. But it also fixes the bug here as-
filed. When the user quits while a modal dialog is currently being displayed,
a failure code ends up bubbling up through windowWatcher to the OpenInternal call
in nsGlobalWindow::ShowModalDialog, which means that we're unable to do our
delayed CleanUp() call for the outer modal window. At first it seemed like a hard
problem to solve, but with the above it becomes trivial.
Attachment #781378 -
Flags: review?(jst)
Reporter | ||
Comment 6•12 years ago
|
||
Is this simplification expected to fix any of my other recent showModalDialog bugs? (Bug 893340, bug 897399, bug 897867)
Assignee | ||
Comment 7•12 years ago
|
||
(In reply to Jesse Ruderman from comment #6)
> Is this simplification expected to fix any of my other recent
> showModalDialog bugs? (Bug 893340, bug 897399, bug 897867)
From a cursory glance at those three bugs, I would guess 'no'.
Comment 8•12 years ago
|
||
Comment on attachment 781378 [details] [diff] [review]
Invoke CleanUp synchronously and unconditionally for modal dialog windows. v1
Nice!
Attachment #781378 -
Flags: review?(jst) → review+
Assignee | ||
Comment 9•12 years ago
|
||
Assignee | ||
Comment 10•12 years ago
|
||
Oh hm, looks like what appeared to be an intermittent failure on the try push occurred again when I retriggered it (test_bug893537.html). I'm still pretty sure this patch isn't the culprit, since this only affects modal dialogs, and we don't appear to be invoking showModalDialog anywhere in that test directory.
If I'd noticed this before pushing, I would have done another try push on a new base rev. But for now let's just hope for the best.
Comment 11•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
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
•