Closed Bug 1464860 Opened 7 years ago Closed 2 years ago

Assertion failure: aMax >= aMin (clamped(): aMax must be greater than or equal to aMin), at src/obj-firefox/dist/include/nsAlgorithm.h:44

Categories

(Core :: XUL, defect, P3)

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox62 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Reduced with m-c: BuildID=20180527130648 SourceStamp=6b9076ac236cb0f9f301bc601eac03f9ec4205df Assertion failure: aMax >= aMin (clamped(): aMax must be greater than or equal to aMin), at src/obj-firefox/dist/include/nsAlgorithm.h:44 #0 int const& mozilla::clamped<int>(int const&, int const&, int const&) src/obj-firefox/dist/include/nsAlgorithm.h:43:3 #1 0x7fe559df6d26 in nsStackLayout::XULLayout(nsIFrame*, nsBoxLayoutState&) src/layout/xul/nsStackLayout.cpp:344:33 #2 0x7fe559d951b1 in nsBoxFrame::DoXULLayout(nsBoxLayoutState&) src/layout/xul/nsBoxFrame.cpp:857:26 #3 0x7fe559d901bc in nsIFrame::XULLayout(nsBoxLayoutState&) src/layout/xul/nsBox.cpp:367:8 #4 0x7fe559d9393f in nsBoxFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/xul/nsBoxFrame.cpp:666:3 #5 0x7fe559b8daf8 in nsLineLayout::ReflowFrame(nsIFrame*, nsReflowStatus&, mozilla::ReflowOutput*, bool&) src/layout/generic/nsLineLayout.cpp:924:13 #6 0x7fe559a30f8d in nsBlockFrame::ReflowInlineFrame(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsIFrame*, LineReflowStatus*) src/layout/generic/nsBlockFrame.cpp:4158:15 #7 0x7fe559a2f72d in nsBlockFrame::DoReflowInlineFrames(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool) src/layout/generic/nsBlockFrame.cpp:3958:5 #8 0x7fe559a27af6 in nsBlockFrame::ReflowInlineFrames(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3832:9 #9 0x7fe559a21ba1 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:2816:5 #10 0x7fe559a186a3 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2352:7 #11 0x7fe559a1343f in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1225:3 #12 0x7fe559a57b39 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:951:14 #13 0x7fe559a56c7e in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsCanvasFrame.cpp:713:5 #14 0x7fe559a57b39 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:951:14 #15 0x7fe559b17770 in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*, bool) src/layout/generic/nsGfxScrollFrame.cpp:555:3 #16 0x7fe559b18d11 in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) src/layout/generic/nsGfxScrollFrame.cpp:678:3 #17 0x7fe559b1b24c in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsGfxScrollFrame.cpp:1055:3 #18 0x7fe559a01a9d in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:995:14 #19 0x7fe559a01023 in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/ViewportFrame.cpp:335:7 #20 0x7fe55985e182 in mozilla::PresShell::DoReflow(nsIFrame*, bool) src/layout/base/PresShell.cpp:8946:11 #21 0x7fe55986ce25 in mozilla::PresShell::ProcessReflowCommands(bool) src/layout/base/PresShell.cpp:9119:24 #22 0x7fe55986bb69 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) src/layout/base/PresShell.cpp:4336:11 #23 0x7fe55986b0ec in mozilla::PresShell::DoFlushPendingNotifications(mozilla::FlushType) src/layout/base/PresShell.cpp:4129:3 #24 0x7fe557d2bef3 in mozilla::EventStateManager::PreHandleEvent(nsPresContext*, mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, nsIContent*) src/dom/events/EventStateManager.cpp:687:5 #25 0x7fe5598837de in mozilla::PresShell::HandleEventInternal(mozilla::WidgetEvent*, nsEventStatus*, bool, nsIContent*) src/layout/base/PresShell.cpp:7607:19 #26 0x7fe55988230e in mozilla::PresShell::HandleEventWithTarget(mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, bool, nsIContent**, nsIContent*) src/layout/base/PresShell.cpp:7427:5 #27 0x7fe557de4e60 in mozilla::PointerEventHandler::DispatchPointerFromMouseOrTouch(mozilla::PresShell*, nsIFrame*, nsIContent*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*, nsIContent**) src/dom/events/PointerEventHandler.cpp:535:12 #28 0x7fe559881539 in mozilla::PresShell::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*) src/layout/base/PresShell.cpp:7203:7 #29 0x7fe5593de006 in nsViewManager::DispatchEvent(mozilla::WidgetGUIEvent*, nsView*, nsEventStatus*) src/view/nsViewManager.cpp:812:14 #30 0x7fe5593ddbcb in nsView::HandleEvent(mozilla::WidgetGUIEvent*, bool) src/view/nsView.cpp:1141:9 #31 0x7fe559431cb6 in mozilla::widget::PuppetWidget::DispatchEvent(mozilla::WidgetGUIEvent*, nsEventStatus&) src/widget/PuppetWidget.cpp:410:35 #32 0x7fe5556af1ec in mozilla::layers::APZCCallbackHelper::DispatchWidgetEvent(mozilla::WidgetGUIEvent&) src/gfx/layers/apz/util/APZCCallbackHelper.cpp:500:21 #33 0x7fe558e775b7 in mozilla::dom::TabChild::HandleRealMouseButtonEvent(mozilla::WidgetMouseEvent const&, mozilla::layers::ScrollableLayerGuid const&, unsigned long const&) src/dom/ipc/TabChild.cpp:1739:3 #34 0x7fe558e2bc29 in mozilla::dom::TabChild::ProcessPendingCoalescedMouseDataAndDispatchEvents() src/dom/ipc/TabChild.cpp:1581:7 #35 0x7fe55981ce0f in nsRefreshDriver::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:1868:12 #36 0x7fe559826cd5 in mozilla::RefreshDriverTimer::TickRefreshDrivers(long, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) src/layout/base/nsRefreshDriver.cpp:301:7 #37 0x7fe559826aae in mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:320:5 #38 0x7fe55982a16f in mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:760:5 #39 0x7fe5598290e5 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:673:35 #40 0x7fe55982881b in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:574:9 #41 0x7fe559e65529 in mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&) src/layout/ipc/VsyncChild.cpp:68:16 #42 0x7fe5548b4ff5 in mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:167:20 #43 0x7fe5547de932 in mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:1988:28 #44 0x7fe554446b0d in mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) src/ipc/glue/MessageChannel.cpp:2136:25 #45 0x7fe554444755 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) src/ipc/glue/MessageChannel.cpp:2066:17 #46 0x7fe55444533e in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) src/ipc/glue/MessageChannel.cpp:1912:5 #47 0x7fe554445a5f in mozilla::ipc::MessageChannel::MessageTask::Run() src/ipc/glue/MessageChannel.cpp:1945:15 #48 0x7fe5537ccbc3 in nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1088:14 #49 0x7fe5537efaf8 in NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:519:10 #50 0x7fe55444de33 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:97:21 #51 0x7fe55438f398 in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:326:10 #52 0x7fe55438f21c in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:299:3 #53 0x7fe559457faa in nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:157:27 #54 0x7fe55c536480 in XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:893:22 #55 0x7fe55444ea55 in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:269:9 #56 0x7fe55438f398 in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:326:10 #57 0x7fe55438f21c in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:299:3 #58 0x7fe55c535bce in XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:719:34 #59 0x4f3606 in content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 #60 0x4f388e in main src/browser/app/nsBrowserApp.cpp:282:18 #61 0x7fe5734a582f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 #62 0x423434 in _start (firefox+0x423434)
Flags: in-testsuite?
Priority: -- → P3

I can't reproduce an assertion-failure, when loading the attached testcase in a recent debug build.

Tyson, can you reproduce any badness at this point?

(Note: I did happen to hit an instance of this assertion-failure with a different interactive testcase, which I filed as bug 1539684.)

Flags: needinfo?(twsmith)

Ah, one possible reason that this became harmless is that the testcase uses display:-moz-inline-grid, and I think we turned that off for web content at some point.

Component: Layout → XUL

Yeah -- that happened in bug 1288572. If you toggle the pref layout.css.xul-display-values.content.enabled to true, then this testcase still causes the same assertion-failure.

--> canceling needinfo.

Flags: needinfo?(twsmith)
Attachment #8981196 - Attachment description: testcase.html → testcase.html (requires about:config pref layout.css.xul-display-values.content.enabled = true)
Severity: normal → S3
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: