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

NEW
Unassigned

Status

()

Core
Layout
11 years ago
9 years ago

People

(Reporter: timeless, Unassigned)

Tracking

({assertion, testcase})

Trunk
x86
Windows XP
assertion, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

11 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
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?

Comment 4

11 years ago
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?

Comment 6

10 years ago
Created attachment 316877 [details]
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

Updated

10 years ago
Keywords: assertion, testcase

Comment 7

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

Comment 8

10 years ago
Created attachment 318144 [details]
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.
You need to log in before you can comment on or make changes to this bug.