Open Bug 364506 Opened 18 years ago Updated 2 years ago

###!!! ASSERTION: Allowed only one anonymous view between frames: 'ancestorView == view->GetParent()->GetParent()', file c:/home/mozilla.org/mozilla/layout/generic/nsContainerFrame.cpp, line 264

Categories

(Core :: Layout, defect)

x86
Windows XP
defect

Tracking

()

People

(Reporter: timeless, Unassigned)

References

()

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

###!!! ASSERTION: Allowed only one anonymous view between frames: 'ancestorView == view->GetParent()->GetParent()', file c:/home/mozilla.org/mozilla/layout/generic/nsContainerFrame.cpp, line 264
roc, this seems like your kind of thing?  ;)
This worksforme.  Is this still a problem?  If so, in which browser?
Ah, I see it in Firefox.  Have to have the feed viewer, I guess...

So the view in question comes from a nsMenuPopupFrame.  The parent of the view is the view of the ViewportFrame().  And the closest ancestor of the nsMenuPopupFrame that has a view is a CanvasFrame.  view->GetParent()->GetParent() is null in this case.

Note that nsMenuPopupFrame::Init explicitly reparents its view.  Why isn't this hitting us elsewhere?
Note that I can also get this assertion by opening the page setup dialog.

It probably doesn't hit us normally because we rarely create views for XUL content, and popups are usually direct children of the root.  If the closest view to the MenuPopupFrame happens to be the viewport, the assertion doesn't trigger.
Ah, ok.  So probably not worth worrying about this until we remove views?
Attached file jesse's testcase
###!!! ASSERTION: Allowed only one anonymous view between frames: 'ancestorView == view->GetParent()->GetParent()', file /Users/jruderman/trunk/mozilla/layout/generic/nsContainerFrame.cpp, line 430
Keywords: assertion, testcase
I hit it with current trunk build of seamonkey when I wanted to close mailer. I just clicked on the File menu and it kicked in. Maybe related to the 'key_openFileMessage' message?

WARNING: Key 'key_openFileMessage' of menu item 'Open File…' could not be found: file nsMenuFrame.cpp, line 1045
###!!! ASSERTION: Allowed only one anonymous view between frames: 'ancestorView == view->GetParent()->GetParent()', file nsContainerFrame.cpp, line 430

Program received signal SIGTRAP, Trace/breakpoint trap.
Break (aMsg=0xbff6ba60 "###!!! ASSERTION: Allowed only one anonymous view between frames: 'ancestorView == view->GetParent()->GetParent()', file nsContainerFrame.cpp, line 430")
    at nsDebugImpl.cpp:480
480     }
(gdb)
Attached file gdb stacktrace
After I 'continued' gdb session the previous thread exited (I closed before the Preferences menu by 'Cancel') and I got opened the File menu of mailer.
I'm hitting this on startup when Firefox needs to bring up the check extensions for updates dialog.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: