Closed Bug 1388400 Opened 7 years ago Closed 7 years ago

stylo: Assertion failure: f->IsInlineFrame() (Must only have inline frames between us and the first-line frame)

Categories

(Core :: Layout, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fixed

People

(Reporter: jkratzer, Assigned: bzbarsky)

References

(Blocks 2 open bugs)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file trigger.html
Attached testcase causes an assertion in m-c rev a921bfb8a2cf with stylo enabled by pref.

Assertion failure: f->IsInlineFrame() (Must only have inline frames between us and the first-line frame), at /home/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:1261
#01: nsInlineFrame::DrainSelfOverflowListInternal at layout/generic/nsInlineFrame.cpp:513
#02: nsContainerFrame::MoveOverflowToChildList at layout/generic/nsContainerFrame.cpp:1556
#03: nsRubyFrame::Reflow at layout/generic/RubyUtils.h:222
#04: nsLineLayout::ReflowFrame at layout/generic/nsLineLayout.cpp:921
#05: nsInlineFrame::ReflowInlineFrame at layout/generic/nsLineLayout.h:200
#06: nsInlineFrame::ReflowFrames at layout/generic/nsInlineFrame.cpp:682
#07: nsFirstLineFrame::Reflow at layout/generic/nsInlineFrame.cpp:1214
#08: nsLineLayout::ReflowFrame at layout/generic/nsLineLayout.cpp:921
#09: nsBlockFrame::ReflowInlineFrame at layout/generic/nsBlockFrame.cpp:4220
#10: nsBlockFrame::DoReflowInlineFrames at layout/generic/nsBlockFrame.cpp:4015
#11: nsBlockFrame::ReflowInlineFrames at layout/generic/nsBlockFrame.cpp:3892
#12: nsBlockFrame::ReflowLine at layout/generic/nsBlockFrame.cpp:2874
#13: nsBlockFrame::ReflowDirtyLines at layout/generic/nsBlockFrame.cpp:2407
#14: nsBlockFrame::Reflow at layout/generic/nsBlockFrame.cpp:1246
#15: nsContainerFrame::ReflowChild at layout/generic/nsContainerFrame.cpp:940
#16: nsCanvasFrame::Reflow at layout/generic/nsCanvasFrame.cpp:757
#17: nsContainerFrame::ReflowChild at layout/generic/nsContainerFrame.cpp:940
#18: nsHTMLScrollFrame::ReflowScrolledFrame at layout/generic/nsGfxScrollFrame.cpp:553
#19: nsHTMLScrollFrame::ReflowContents at layout/generic/nsGfxScrollFrame.cpp:683
#20: nsHTMLScrollFrame::Reflow at layout/generic/nsGfxScrollFrame.cpp:1039
#21: nsContainerFrame::ReflowChild at layout/generic/nsContainerFrame.cpp:983
#22: mozilla::ViewportFrame::Reflow at layout/generic/ViewportFrame.cpp:331
Flags: in-testsuite?
Priority: -- → P2
Fundamentally, the assert is wrong.  nsInlineFrame subclasses of various sorts, including ruby, can happen there too.

I'll try to write a saner and more reliable testcase tomorrow.
The assert became even more wrong, such that I removed it altogether in bug 1388877.
Status: NEW → RESOLVED
Closed: 7 years ago
Depends on: 1388877
Resolution: --- → FIXED
Assignee: nobody → bzbarsky
Flags: in-testsuite? → in-testsuite-
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: