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

RESOLVED INCOMPLETE

Status

()

Core
Plug-ins
--
major
RESOLVED INCOMPLETE
10 years ago
a year ago

People

(Reporter: gkw, Unassigned)

Tracking

(Blocks: 1 bug, {assertion, crash, testcase})

Trunk
x86
Mac OS X
assertion, crash, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments, 2 obsolete attachments)

(Reporter)

Description

10 years ago
Created attachment 321855 [details]
testcase

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.
(Reporter)

Comment 1

10 years ago
Created attachment 321856 [details]
quit-browser.html
(Reporter)

Comment 2

10 years ago
Created attachment 321857 [details]
backtrace for the assertion
(Reporter)

Comment 3

10 years ago
Created attachment 321858 [details]
sample slow .swf script
(Reporter)

Updated

10 years ago
Attachment #321857 - Attachment mime type: application/text → text/plain

Comment 4

10 years ago
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.
(Reporter)

Updated

10 years ago
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

Comment 5

8 years ago
Created attachment 438423 [details]
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

Comment 6

8 years ago
Created attachment 438426 [details]
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.

Updated

8 years ago
Depends on: 558929

Comment 7

a year ago
Resolving old bugs which are likely not relevant any more, since NPAPI plugins are deprecated.
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.