Closed
Bug 500063
Opened 16 years ago
Closed 16 years ago
"ASSERTION: Already have an undisplayed context entry for aContent" while running leak tests
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9.2b1
People
(Reporter: sicking, Assigned: tnikkel)
References
Details
(Keywords: intermittent-failure)
Attachments
(1 file)
1.78 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
Log at:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1245784868.1245789314.24977.gz
This is also listing a lot of leaks, but that's due to the assertion being fatal and causing us to shut down.
Comment 1•16 years ago
|
||
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1246988269.1246989772.15906.gz
WINNT 5.2 mozilla-central leak test build on 2009/07/07 10:37:49
Assignee | ||
Comment 2•16 years ago
|
||
After several thousand runs of the leaktest I think I know what is going on here; the stackwalker in nsStackWalk.cpp fails in my winxp vm for some reason, so I can't be 100% sure.
The duplicate undisplayed entry is the hidden input inside the fieldset on http://www.mozilla.org/newlayout/samples/test8.html. It's a good bet that the three "recurring into frame construction" warnings are caused by a RecreateFramesForContent on the fieldset when the legend is inserted. Most of the time the insert on the legend is not needed because the legend is already available when the fieldset frame is created. Hence why this assert is so rare. The RecreateFramesForContent call eventually does a ProcessChildren on the fieldset, and that puts the hidden input into the undisplayed map. But we are still in the nsCSSFrameConstructor::ContentAppended loop at around line 6260 where we call ContentInserted for each appended child. This loop skips over content that already has a frame exactly because of a situation like this, but we still call ContentInserted on content that's already in the undisplayed map.
Would adding a check if the content is already in the undisplayed map to this loop be the right thing to do? Or would that cause problems when a "display: none" style is removed from a node and we need to remove the undisplayed entry and create a frame?
Assignee: nobody → tnikkel
![]() |
||
Comment 3•16 years ago
|
||
> Would adding a check if the content is already in the undisplayed map to this
> loop be the right thing to do?
In the loop in ContentAppended? Absolutely.
Assignee | ||
Comment 4•16 years ago
|
||
Check if there is already an undisplayed entry as well as if there is already a frame.
Attachment #389268 -
Flags: review?(bzbarsky)
![]() |
||
Updated•16 years ago
|
Attachment #389268 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 5•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Target Milestone: --- → mozilla1.9.2b1
Updated•15 years ago
|
Whiteboard: [orange]
Updated•12 years ago
|
Keywords: intermittent-failure
Updated•12 years ago
|
Whiteboard: [orange]
You need to log in
before you can comment on or make changes to this bug.
Description
•