Closed Bug 459086 Opened 17 years ago Closed 17 years ago

Lots of assertions from nsTextBoxFrame::DoLayout [###!!! ASSERTION: cannot call GetUsedPadding on a dirty frame not currently being reflowed: 'nsLayoutUtils::sDisableGetUsedXAssertions || !NS_SUBTREE_DIRTY(this) || (GetStateBits() & NS_FRAME_IN_REFLOW)',]

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla1.9.1b2

People

(Reporter: bzbarsky, Assigned: robarnold)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, regression)

Attachments

(1 file)

nsTextBoxFrame::DoLayout calls CalcTextRect. But that uses GetUsedPadding, and we hit this wonderful assertion: ###!!! ASSERTION: cannot call GetUsedPadding on a dirty frame not currently being reflowed: 'nsLayoutUtils::sDisableGetUsedXAssertions || !NS_SUBTREE_DIRTY(this) || (GetStateBits() & NS_FRAME_IN_REFLOW)', file /Users/bzbarsky/mozilla/debug/mozilla/layout/generic/nsFrame.cpp, line 615 I assume that the frame should have NS_FRAME_IN_REFLOW set (and presumably have the offsets correctly computed!) by now, no? This codepath was introduced in bug 438517.
I see lots of these in one of my Thunderbird builds as well.
Beside bug 419289 this is the other assertion which occurs dozen of times. It would be great to have it fixed. http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1223598746.1223600228.18688.gz&fulltext=1
Flags: blocking1.9.1?
Blocks: 419289
Blocks: 448040
Rob, are you working on this or was it wrongly assigned to you?
OS: Mac OS X → All
Hardware: PC → All
I thought I wrote a comment in this bug already. When I wrote the text-shadow patch, I saw the assertions too, but roc told me that they were ok. Hopefully when he gets back he'll have some ideas about how to solve it. Still, you should only be seeing them when there is text-shadow applied to an nsTextBoxFrame which as far as I know is only with Ctrl-Tab on Vista.
I see them all the time on Mac, multiple times per reflow of the URL bar. Dozens of assertions per window open.
I'm also seeing a flood of these on OS X -- makes monitoring the console in debug builds painful. :(
Now this also happens by simply hovering over links.
Blocks: fx-noise
Keywords: regression
Attached patch fixSplinter Review
UL sucks and doesn't call WillReflow during its layout. Fortunately it provides a GetBorderAndPadding method which avoids the assertion (by not supporting percentage padding, I guess, but whatever).
Attachment #343862 - Flags: superreview?(dbaron)
Attachment #343862 - Flags: review?(dbaron)
Attachment #343862 - Flags: superreview?(dbaron)
Attachment #343862 - Flags: superreview+
Attachment #343862 - Flags: review?(dbaron)
Attachment #343862 - Flags: review+
Pushed dac237f37585
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Extreme clean console again. Only some warnings left. Thanks Roc! Verified with: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2pre) Gecko/20081021 Minefield/3.1b2pre ID:20081021200750 Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b2pre) Gecko/20081021 Minefield/3.1b2pre ID:20081021195400
Status: RESOLVED → VERIFIED
Flags: blocking1.9.1?
Target Milestone: --- → mozilla1.9.1b2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: