"ASSERTION: float manager state should match saved state" with ruby

RESOLVED FIXED in Firefox 40

Status

()

Core
Layout
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: Jesse Ruderman, Assigned: xidorn)

Tracking

(Blocks: 1 bug, {assertion, testcase})

Trunk
mozilla40
assertion, testcase
Points:
---

Firefox Tracking Flags

(firefox40 fixed)

Details

Attachments

(3 attachments)

(Reporter)

Description

3 years ago
Created attachment 8591550 [details]
testcase

###!!! ASSERTION: float manager state should match saved state: 'aState->mLineLeft == mLineLeft && aState->mBlockStart == mBlockStart && aState->mPushedLeftFloatPastBreak == mPushedLeftFloatPastBreak && aState->mPushedRightFloatPastBreak == mPushedRightFloatPastBreak && aState->mSplitLeftFloatAcrossBreak == mSplitLeftFloatAcrossBreak && aState->mSplitRightFloatAcrossBreak == mSplitRightFloatAcrossBreak && aState->mFloatInfoCount == mFloats.Length()', file layout/generic/nsFloatManager.h, line 300

(That's quite a conjunction for a single assertion!)
(Reporter)

Comment 1

3 years ago
Created attachment 8591551 [details]
stack
(Assignee)

Updated

3 years ago
OS: Mac OS X → All
Hardware: x86_64 → All
(Assignee)

Comment 2

3 years ago
Created attachment 8592053 [details] [diff] [review]
patch

The explicit check of optional break opportunity removed in this patch doesn't interact well with float management code in block frame.

Actually, when a container frame which may contain float element triggers line
> *aLineReflowStatus = LINE_REFLOW_REDO_NEXT_BAND;
in nsBlockFrame::ReflowInlineFrame could cause this assertion.

After this patch, the line breaks originally handled here will be handled in standard way, via overflow backup and optional break opportunity in the ruby base.
Assignee: nobody → quanxunzhen
Attachment #8592053 - Flags: review?(roc)
https://hg.mozilla.org/mozilla-central/rev/c5af0320f177
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox40: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in before you can comment on or make changes to this bug.