Closed Bug 434894 Opened 16 years ago Closed 7 years ago

"ASSERTION: Don't call nsAppShell::Exit() from a modal event loop!" involving Flash's slow script dialog

Categories

(Core Graveyard :: Plug-ins, defect)

x86
macOS
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: gkw, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: assertion, crash, testcase)

Attachments

(4 files, 2 obsolete files)

Attached file testcase (obsolete) —
I found this bug, and Jesse Ruderman and Selene Tan helped to reduce it further and come up with reduced testcases and the script that invokes Flash's slow script dialog.

Steps to reproduce:
1. Download a.html and infiniteloop.swf.
2. Download quit-browser.html to a location you're comfortable
granting privileges to, such as http://localhost/~yourusername/.
3. Load quit-browser.html once in order to grant privileges.  (This
may require setting signed.applets.codebase_principal_support to
true).
4. Edit a.html to point at your copy of quit-browser.html.
5. Load a.html.

Result: When Flash's slow-script dialog appears, the assertion fires.

###!!! ASSERTION: Don't call nsAppShell::Exit() from a modal event loop!: '!cocoaModal', file /Users/gk/gecko19-cvs/mozilla/widget/src/cocoa/nsAppShell.mm, line 627

When the Flash script is aborted by clicking Yes in Flash's slow script dialog, the following message appears in Leopard 10.5.2:

2008-05-20 16:53:37.178 firefox-bin[4034:813] ***WARNING*** Modal panels have been dismissed out of order.  This may cause an error in a future release.

This message does not show in Tiger 10.4, instead causing a crash.
Attached file quit-browser.html (obsolete) —
Attachment #321857 - Attachment mime type: application/text → text/plain
On Tiger, I get the same assertion when the dialog appears.  But when I dismiss the dialog, instead of quitting, Firefox gets into a state where clicking the dock icon triggers an nsObjCExceptionAbort.
Summary: Assertion "Don't call nsAppShell::Exit() from a modal event loop!" involving Flash's slow script dialog → "ASSERTION: Don't call nsAppShell::Exit() from a modal event loop!" involving Flash's slow script dialog
Attached file updated testcase
enablePrivilege is on the way out. Here's a version of the testcase that works together with a Firefox extension (https://www.squarefree.com/extensions/quitter.xpi).
Attachment #321855 - Attachment is obsolete: true
Attachment #321856 - Attachment is obsolete: true
Attached file updated stack trace
This attachment shows two representations of the SAME stack.  The first is generated by Firefox and includes offsets for Flash; the second is generated by gdb and has more detailed information for Firefox.

Mac OS X 10.5.8 + Flash 10,0,42,34 + Firefox trunk.
Depends on: 558929
Resolving old bugs which are likely not relevant any more, since NPAPI plugins are deprecated.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: