Closed Bug 949294 Opened 9 years ago Closed 9 years ago

"ASSERTION: Frame passed in not in reflow?" with very interruptible reflow

Categories

(Core :: Layout, defect)

defect
Not set
trivial

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: jruderman, Assigned: MatsPalmgren_bugz)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file stack
GECKO_REFLOW_INTERRUPT_MODE=counter
GECKO_REFLOW_INTERRUPT_FREQUENCY=1
GECKO_REFLOW_INTERRUPT_CHECKS_TO_SKIP=0
GECKO_REFLOW_MIN_NOINTERRUPT_DURATION=0 

layout/generic/crashtests/381786-1.html

###!!! ASSERTION: Frame passed in not in reflow?: 'aFrame->GetStateBits() & NS_FRAME_IN_REFLOW', file /Users/jruderman/trees/mozilla-central/layout/base/nsPresShell.cpp, line 2725
Several other crashtests hit this assertion when I use the same env vars, but many of them don't hit it reliably.  Am I doing something wrong that makes these tests less deterministic than they could be?
Attached patch wallpaperSplinter Review
Reflowing abs.pos. children of XUL frames currently happens after the
delegating frame is fully reflowed (WillReflow/Reflow/DidReflow)
so the IN_REFLOW bit is not set when nsAbsoluteContainingBlock checks
for interrupts:
http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsAbsoluteContainingBlock.cpp#181

This sort of wallpapers the problem, but this stuff is pretty low
priority so I don't think it's worth spending more time on.

https://tbpl.mozilla.org/?tree=Try&rev=c7f5819c6206
Attachment #8350784 - Flags: review?(roc)
https://hg.mozilla.org/integration/mozilla-inbound/rev/c86422c589c2
Severity: normal → trivial
OS: Mac OS X → All
Hardware: x86_64 → All
https://hg.mozilla.org/mozilla-central/rev/c86422c589c2
Assignee: nobody → matspal
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.