Closed Bug 1323716 Opened 8 years ago Closed 7 years ago

stylo: layout/style/crashtests/1230408-1.html fatally asserts with "MOZ_ASSERT_UNREACHABLE: Any line break inside ruby box should have been suppressed"

Categories

(Core :: CSS Parsing and Computation, defect, P1)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: heycam, Unassigned)

References

Details

#0 0x00007fffe70f77a2 in nsRubyBaseContainerFrame::ReflowOneColumn (this=0x7fffb72f8978, aReflowInput=..., aColumnIndex=0, aColumn=..., aStatus=@0x7fffffff4cec: 0) at /z/stylo/hg-incubator/layout/generic/nsRubyBaseContainerFrame.cpp:666 #1 0x00007fffe70f69d0 in nsRubyBaseContainerFrame::ReflowColumns (this=0x7fffb72f8978, aReflowInput=..., aStatus=@0x7fffffff61c4: 0) at /z/stylo/hg-incubator/layout/generic/nsRubyBaseContainerFrame.cpp:482 #2 0x00007fffe70f6463 in nsRubyBaseContainerFrame::Reflow (this=0x7fffb72f8978, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aStatus=@0x7fffffff61c4: 0) at /z/stylo/hg-incubator/layout/generic/nsRubyBaseContainerFrame.cpp:394 #3 0x00007fffe6fe54b5 in nsLineLayout::ReflowFrame (this=0x7fffffff6568, aFrame=0x7fffb72f8978, aReflowStatus=@0x7fffffff61c4: 0, aMetrics=0x7fffffff59e0, aPushedFrame=@0x7fffffff59df: false) at /z/stylo/hg-incubator/layout/generic/nsLineLayout.cpp:939 #4 0x00007fffe71288fb in nsRubyFrame::ReflowSegment (this=0x7fffb72f88f8, aPresContext=0x7fffb4235800, aReflowInput=..., aBaseContainer=0x7fffb72f8978, aStatus=@0x7fffffff61c4: 0) at /z/stylo/hg-incubator/layout/generic/nsRubyFrame.cpp:205 #5 0x00007fffe71284d6 in nsRubyFrame::Reflow (this=0x7fffb72f88f8, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aStatus=@0x7fffffff61c4: 0) at /z/stylo/hg-incubator/layout/generic/nsRubyFrame.cpp:148 #6 0x00007fffe6fe54b5 in nsLineLayout::ReflowFrame (this=0x7fffffff6568, aFrame=0x7fffb72f88f8, aReflowStatus=@0x7fffffff61c4: 0, aMetrics=0x0, aPushedFrame=@0x7fffffff61c3: false) at /z/stylo/hg-incubator/layout/generic/nsLineLayout.cpp:939 #7 0x00007fffe7038a65 in nsBlockFrame::ReflowInlineFrame (this=0x7fffb72f8268, aState=..., aLineLayout=..., aLine=..., aFrame=0x7fffb72f88f8, aLineReflowStatus=0x7fffffff641c) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:4120 #8 0x00007fffe7037efb in nsBlockFrame::DoReflowInlineFrames (this=0x7fffb72f8268, aState=..., aLineLayout=..., aLine=..., aFloatAvailableSpace=..., aAvailableSpaceBSize=@0x7fffffff6698: 0, aFloatStateBeforeLine=0x7fffffff6670, aKeepReflowGoing=0x7fffffff6c7f, aLineReflowStatus=0x7fffffff669c, aAllowPullUp=true) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:3921 #9 0x00007fffe7034030 in nsBlockFrame::ReflowInlineFrames (this=0x7fffb72f8268, aState=..., aLine=..., aKeepReflowGoing=0x7fffffff6c7f) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:3795 #10 0x00007fffe7030823 in nsBlockFrame::ReflowLine (this=0x7fffb72f8268, aState=..., aLine=..., aKeepReflowGoing=0x7fffffff6c7f) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:2801 #11 0x00007fffe702bde4 in nsBlockFrame::ReflowDirtyLines (this=0x7fffb72f8268, aState=...) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:2337 #12 0x00007fffe70285b2 in nsBlockFrame::Reflow (this=0x7fffb72f8268, aPresContext=0x7fffb4235800, aMetrics=..., aReflowInput=..., aStatus=@0x7fffffff7c94: 0) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:1200 #13 0x00007fffe7036af4 in nsBlockReflowContext::ReflowBlock (this=0x7fffffff7ff8, aSpace=..., aApplyBStartMargin=true, aPrevMargin=..., aClearance=0, aIsAdjacentWithBStart=true, aLine=0x7fffb72f8fb0, aFrameRI=..., aFrameReflowStatus=@0x7fffffff7c94: 0, aState=...) at /z/stylo/hg-incubator/layout/generic/nsBlockReflowContext.cpp:306 #14 0x00007fffe7032bad in nsBlockFrame::ReflowBlockFrame (this=0x7fffb72f7d30, aState=..., aLine=..., aKeepReflowGoing=0x7fffffff863f) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:3429 #15 0x00007fffe70307e2 in nsBlockFrame::ReflowLine (this=0x7fffb72f7d30, aState=..., aLine=..., aKeepReflowGoing=0x7fffffff863f) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:2798 #16 0x00007fffe702bde4 in nsBlockFrame::ReflowDirtyLines (this=0x7fffb72f7d30, aState=...) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:2337 #17 0x00007fffe70285b2 in nsBlockFrame::Reflow (this=0x7fffb72f7d30, aPresContext=0x7fffb4235800, aMetrics=..., aReflowInput=..., aStatus=@0x7fffffff97b0: 0) at /z/stylo/hg-incubator/layout/generic/nsBlockFrame.cpp:1200 #18 0x00007fffe704ebb7 in nsContainerFrame::ReflowChild (this=0x7fffb72f7408, aKidFrame=0x7fffb72f7d30, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aWM=..., aPos=..., aContainerSize=..., aFlags=0, aStatus=@0x7fffffff97b0: 0, aTracker=0x0) at /z/stylo/hg-incubator/layout/generic/nsContainerFrame.cpp:1027 #19 0x00007fffe704e1c8 in nsCanvasFrame::Reflow (this=0x7fffb72f7408, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aStatus=@0x7fffffff97b0: 0) at /z/stylo/hg-incubator/layout/generic/nsCanvasFrame.cpp:677 #20 0x00007fffe704ebb7 in nsContainerFrame::ReflowChild (this=0x7fffb72f7498, aKidFrame=0x7fffb72f7408, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aWM=..., aPos=..., aContainerSize=..., aFlags=3, aStatus=@0x7fffffff97b0: 0, aTracker=0x0) at /z/stylo/hg-incubator/layout/generic/nsContainerFrame.cpp:1027 #21 0x00007fffe70b2780 in nsHTMLScrollFrame::ReflowScrolledFrame (this=0x7fffb72f7498, aState=0x7fffffff9c90, aAssumeHScroll=false, aAssumeVScroll=true, aMetrics=0x7fffffff9a88, aFirstPass=true) at /z/stylo/hg-incubator/layout/generic/nsGfxScrollFrame.cpp:552 #22 0x00007fffe70b3018 in nsHTMLScrollFrame::ReflowContents (this=0x7fffb72f7498, aState=0x7fffffff9c90, aDesiredSize=...) at /z/stylo/hg-incubator/layout/generic/nsGfxScrollFrame.cpp:664 #23 0x00007fffe70b44b0 in nsHTMLScrollFrame::Reflow (this=0x7fffb72f7498, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aStatus=@0x7fffffffa4d4: 0) at /z/stylo/hg-incubator/layout/generic/nsGfxScrollFrame.cpp:1039 #24 0x00007fffe70557ff in nsContainerFrame::ReflowChild (this=0x7fffb72f7148, aKidFrame=0x7fffb72f7498, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aX=0, aY=0, aFlags=0, aStatus=@0x7fffffffa4d4: 0, aTracker=0x0) at /z/stylo/hg-incubator/layout/generic/nsContainerFrame.cpp:1070 #25 0x00007fffe70147f3 in mozilla::ViewportFrame::Reflow (this=0x7fffb72f7148, aPresContext=0x7fffb4235800, aDesiredSize=..., aReflowInput=..., aStatus=@0x7fffffffa4d4: 0) at /z/stylo/hg-incubator/layout/generic/ViewportFrame.cpp:316 #26 0x00007fffe6ef16e3 in mozilla::PresShell::DoReflow (this=0x7fffb97c8400, target=0x7fffb72f7148, aInterruptible=false) at /z/stylo/hg-incubator/layout/base/PresShell.cpp:9401 #27 0x00007fffe6ef9865 in mozilla::PresShell::ProcessReflowCommands (this=0x7fffb97c8400, aInterruptible=false) at /z/stylo/hg-incubator/layout/base/PresShell.cpp:9574 #28 0x00007fffe6ef9435 in mozilla::PresShell::FlushPendingNotifications (this=0x7fffb97c8400, aFlush=...) at /z/stylo/hg-incubator/layout/base/PresShell.cpp:4150 #29 0x00007fffe6ef8ca0 in mozilla::PresShell::FlushPendingNotifications (this=0x7fffb97c8400, aType=Flush_Layout) at /z/stylo/hg-incubator/layout/base/PresShell.cpp:4007 #30 0x00007fffe6f7e94d in nsDocumentViewer::LoadComplete (this=0x7fffbf641b20, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/layout/base/nsDocumentViewer.cpp:953 #31 0x00007fffe772771d in nsDocShell::EndPageLoad (this=0x7fffb197d000, aProgress=0x7fffb197d028, aChannel=0x7fffbf6b2390, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/docshell/base/nsDocShell.cpp:7571 #32 0x00007fffe77259d3 in nsDocShell::OnStateChange (this=0x7fffb197d000, aProgress=0x7fffb197d028, aRequest=0x7fffbf6b2390, aStateFlags=131088, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/docshell/base/nsDocShell.cpp:7375 #33 0x00007fffe3f27cce in nsDocLoader::DoFireOnStateChange (this=0x7fffb197d000, aProgress=0x7fffb197d028, aRequest=0x7fffbf6b2390, aStateFlags=@0x7fffffffb824: 131088, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/uriloader/base/nsDocLoader.cpp:1255 #34 0x00007fffe3f277a9 in nsDocLoader::doStopDocumentLoad (this=0x7fffb197d000, request=0x7fffbf6b2390, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/uriloader/base/nsDocLoader.cpp:840 #35 0x00007fffe3f2626f in nsDocLoader::DocLoaderIsEmpty (this=0x7fffb197d000, aFlushLayout=true) at /z/stylo/hg-incubator/uriloader/base/nsDocLoader.cpp:730 #36 0x00007fffe3f271ac in nsDocLoader::OnStopRequest (this=0x7fffb197d000, aRequest=0x7fffd55d0920, aCtxt=0x0, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/uriloader/base/nsDocLoader.cpp:612 #37 0x00007fffe2c4798f in mozilla::net::nsLoadGroup::RemoveRequest (this=0x7fffb6806bf0, request=0x7fffd55d0920, ctxt=0x0, aStatus=nsresult::NS_OK) at /z/stylo/hg-incubator/netwerk/base/nsLoadGroup.cpp:633 #38 0x00007fffe48a9dd0 in nsDocument::DoUnblockOnload (this=0x7fffbf77e000) at /z/stylo/hg-incubator/dom/base/nsDocument.cpp:8622 #39 0x00007fffe48a9b8d in nsDocument::UnblockOnload (this=0x7fffbf77e000, aFireSync=true) at /z/stylo/hg-incubator/dom/base/nsDocument.cpp:8550 #40 0x00007fffe489ab73 in nsDocument::DispatchContentLoadedEvents (this=0x7fffbf77e000) at /z/stylo/hg-incubator/dom/base/nsDocument.cpp:5058 #41 0x00007fffe4928d1a in mozilla::detail::RunnableMethodArguments<>::applyImpl<nsDocument, void (nsDocument::*)()>(nsDocument*, void (nsDocument::*)(), mozilla::Tuple<>&, mozilla::IndexSequence<>) (o=0x7fffbf77e000, m=(void (nsDocument::*)(nsDocument * const)) 0x7fffe489a380 <nsDocument::DispatchContentLoadedEvents()>, args=...) at /z/stylo/hg-incubator/obj/dist/include/nsThreadUtils.h:791 #42 0x00007fffe4928c99 in mozilla::detail::RunnableMethodArguments<>::apply<nsDocument, void (nsDocument::*)()>(nsDocument*, void (nsDocument::*)()) (this=0x7fffbf7e1140, o=0x7fffbf77e000, m=(void (nsDocument::*)(nsDocument * const)) 0x7fffe489a380 <nsDocument::DispatchContentLoadedEvents()>) at /z/stylo/hg-incubator/obj/dist/include/nsThreadUtils.h:797 #43 0x00007fffe4928b22 in mozilla::detail::RunnableMethodImpl<void (nsDocument::*)(), true, false>::Run (this=0x7fffbf7e1100) at /z/stylo/hg-incubator/obj/dist/include/nsThreadUtils.h:826 #44 0x00007fffe2ad0ca8 in nsThread::ProcessNextEvent (this=0x7fffdfe43460, aMayWait=false, aResult=0x7fffffffc24e) at /z/stylo/hg-incubator/xpcom/threads/nsThread.cpp:1213 #45 0x00007fffe2b505fc in NS_ProcessNextEvent (aThread=0x7fffdfe43460, aMayWait=false) at /z/stylo/hg-incubator/xpcom/glue/nsThreadUtils.cpp:381 #46 0x00007fffe33cb0e9 in mozilla::ipc::MessagePump::Run (this=0x7fffdfe82a80, aDelegate=0x7ffff6bb9410) at /z/stylo/hg-incubator/ipc/glue/MessagePump.cpp:96 #47 0x00007fffe33296c5 in MessageLoop::RunInternal (this=0x7ffff6bb9410) at /z/stylo/hg-incubator/ipc/chromium/src/base/message_loop.cc:232 #48 0x00007fffe3329645 in MessageLoop::RunHandler (this=0x7ffff6bb9410) at /z/stylo/hg-incubator/ipc/chromium/src/base/message_loop.cc:225 #49 0x00007fffe332961d in MessageLoop::Run (this=0x7ffff6bb9410) at /z/stylo/hg-incubator/ipc/chromium/src/base/message_loop.cc:205 #50 0x00007fffe6ad4003 in nsBaseAppShell::Run (this=0x7fffd52ddef0) at /z/stylo/hg-incubator/widget/nsBaseAppShell.cpp:156 #51 0x00007fffe7cab192 in nsAppStartup::Run (this=0x7fffd52dcdd0) at /z/stylo/hg-incubator/toolkit/components/startup/nsAppStartup.cpp:283 #52 0x00007fffe7da48ac in XREMain::XRE_mainRun (this=0x7fffffffcc28) at /z/stylo/hg-incubator/toolkit/xre/nsAppRunner.cpp:4485 #53 0x00007fffe7da5396 in XREMain::XRE_main (this=0x7fffffffcc28, argc=4, argv=0x7fffffffe108, aAppData=0x7fffffffcee8) at /z/stylo/hg-incubator/toolkit/xre/nsAppRunner.cpp:4618 #54 0x00007fffe7da5b6f in XRE_main (argc=4, argv=0x7fffffffe108, aAppData=0x7fffffffcee8, aFlags=0) at /z/stylo/hg-incubator/toolkit/xre/nsAppRunner.cpp:4709 #55 0x000000000040633f in do_main (argc=4, argv=0x7fffffffe108, envp=0x7fffffffe130, xreDirectory=0x7ffff6b66b40) at /z/stylo/hg-incubator/browser/app/nsBrowserApp.cpp:328 #56 0x0000000000405a62 in main (argc=4, argv=0x7fffffffe108, envp=0x7fffffffe130) at /z/stylo/hg-incubator/browser/app/nsBrowserApp.cpp:461
Summary: stylo: layout/style/crashtests/1230408-1.html fatally asserts with "MOZ_ASSERT_UNREACHABLE: Any line break inside ruby box should have been suppressed" → stylo: layout/style/crashtests/1233135-1.html fatally asserts with "MOZ_ASSERT_UNREACHABLE: Any line break inside ruby box should have been suppressed"
Summary: stylo: layout/style/crashtests/1233135-1.html fatally asserts with "MOZ_ASSERT_UNREACHABLE: Any line break inside ruby box should have been suppressed" → stylo: layout/style/crashtests/1230408-1.html fatally asserts with "MOZ_ASSERT_UNREACHABLE: Any line break inside ruby box should have been suppressed"
This affects layout/reftests/w3c-css/submitted/ruby/ruby-inlinize-blocks-001.html too. And 004/005.
Priority: -- → P3
Priority: P3 → P2
According to the crash log, it hits this assertion[1]. Need to figure out why it happens. [1]: https://dxr.mozilla.org/mozilla-central/source/layout/generic/nsRubyBaseContainerFrame.cpp#667
This assertion, as well as other ruby-related failures, are likely because that stylo doesn't do the whole bunch of style fixup for ruby here: https://dxr.mozilla.org/mozilla-central/rev/2fe636103d7167f3a5d57f61bd19fddcc878ca3c/layout/style/nsStyleContext.cpp#925-958
+jryans, who's been looking at style fixup recently.
Depends on: 1364274
Marking this as P1 because it's the remaining crashes in crashtests.
Priority: P2 → P1
(In reply to Shing Lyu [:shinglyu] from comment #6) > Marking this as P1 because it's the remaining crashes in crashtests. I see 18 instances of "skip-if(stylo" in the crashtest manifests. Does that mean they're all this bug?
Should have been fixed by bug 1364274.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.