Open Bug 731659 Opened 12 years ago Updated 2 years ago

ASSERTION: Placeholder relationship should have been torn down already; this might mean we have a stray placeholder in the tree.: '!placeholder || nsLayoutUtils::IsProperAncestorFrame(aDestructRoot, placeholder)', layout/generic/nsFrame.cpp, line 615

Categories

(Core :: Layout: Positioned, defect)

x86_64
Linux
defect

Tracking

()

People

(Reporter: MatsPalmgren_bugz, Unassigned)

References

(Blocks 3 open bugs)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file Testcase
STR: load testcase, wait one second

ASSERTION: Placeholder relationship should have been torn down already; this might mean we have a stray placeholder in the tree.: '!placeholder || nsLayoutUtils::IsProperAncestorFrame(aDestructRoot, placeholder)', layout/generic/nsFrame.cpp, line 615
So in this case aDestructRoot is the first continuation of the <span>'s frames, while the placeholder is a kid of the fourth continuation.

The issue, of course, is that the abs pos kids are on the first continuation, so getting torn down with it, which is before the placeholder has been destroyed in this case...
Just ran into this again, but with nested columnsets this time, with an abs pos container in the second continuation of the inner columnset.

Fundamentally, this assert is just wrong; it should be claiming that aDestructRoot has a some continuation that is an ancestor of placeholder or something, no?
Blocks: 780985, 856269, 866955
I just encountered this same assertion. Attached test case 621424-1-Modified.html to reproduce this.

This happens because the -moz-column-content block inside the multicol has a second continuation inside the overflow container list and this second continuation contains the OOF for a placeholder in the first continuation.

When trying to delete the multicol, we jump to deleting the overflow container list first and so we try to delete the OOF before its placeholder and that's when we get this assertion. 

We might see this assertion more often now because with the fix for Bug 616436, we recreate everything under the multicol parent in case of an append/insert/remove operation.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: