Closed Bug 396833 Opened 17 years ago Closed 17 years ago

"WARNING: nsAppShell::Exit() called redundantly" on shutdown

Categories

(Core :: Widget: Cocoa, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Assigned: Waldo)

References

Details

(Keywords: regression)

Attachments

(1 file)

Steps to reproduce:
1. Start a debug build of Firefox (from the command line).
2. Click on the Firefox window to focus it.
3. Cmd+Q.

Result:

###!!! ASSERTION: nsAppShell::Exit() called redundantly: '!mTerminated', file /Users/jruderman/trunk/mozilla/widget/src/cocoa/nsAppShell.mm, line 490

I don't know why this didn't turn Tinderboxen orange.  Does this not happen there, or do they use a different method to quit?
Flags: blocking1.9?
This is an old problem.  It's just that my patch has started
complaining about it.

Here's the source-code comment above the assertion:

// This method is currently called more than once -- from (according to
// mento) an nsAppExitEvent dispatched by nsAppStartup::Quit() and from an
// XPCOM shutdown notification that nsBaseAppShell has registered to
// receive.  So we need to ensure that multiple calls won't break anything.
// But we should also complain about it (since it isn't quite kosher).
Steven - what is your recommendation about making this a blocker bug? Is this just a warning that we can ignore or silence or something we need to actually fix?
It's an old, old bug (I saw it when I first started working on the
appshell back in April).  I don't believe it has any user-visible
consequences (otherwise somebody else would have discovered it, too).
It may be a sign of something else wrong that's more serious.  But for
itself it's really not worth blocking on.

I actually now regret putting in the assertion.  Should I get rid of
it?
Yes, please.  A bug report should be enough of a reminder that the bug exists.
Lets get rid of the assertion and leave a comment.
Flags: blocking1.9? → blocking1.9-
Blocks: 374827
This assertion is the only assertion firing on the Mac debug+leak tinderbox, and it is the only bug preventing assertions from being fatal on that box.
You could also change the assertion to a warning.
Attached patch Convert to a warning (deleted) — Splinter Review
Assignee: joshmoz → jwalden+bmo
Status: NEW → ASSIGNED
Attachment #281841 - Flags: review?(joshmoz)
Attachment #281841 - Flags: superreview+
Attachment #281841 - Flags: review?(joshmoz)
Attachment #281841 - Flags: review+
Attachment #281841 - Flags: approval1.9+
BTW you can write this more simply using NS_WARN_IF_FALSE
Ah, didn't know about that macro, and didn't read the second comment until after I committed.  In any case, tho, I think this is actually a little more readable, because to use that you need a double-negative.

I'll let Jesse decide whether to mark this bug fixed or to morph it to not hit the warning, as it's blocking his console-spam bug (and we didn't get rid of the console spam, only changed it).
Keywords: assertion
Summary: "ASSERTION: nsAppShell::Exit() called redundantly" on shutdown → "WARNING: nsAppShell::Exit() called redundantly" on shutdown
Jesse, please reopen or file a new bug if there's more to do here.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Ok, I filed bug 402497 on fixing the warning.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: