Open Bug 1665803 Opened 5 years ago Updated 5 years ago

Assertion failure: !mFinalReflowSize (This version of the method is only intended to be called when the most recent reflow was a 'measuring reflow'; and that should have cleared out mFinalReflowSize), at src/layout/generic/nsFlexContainerFrame.cpp:1850

Categories

(Core :: Layout: Flexbox, defect)

defect

Tracking

()

Tracking Status
firefox82 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion)

Assertion failure: !mFinalReflowSize (This version of the method is only intended to be called when the most recent reflow was a 'measuring reflow'; and that should have cleared out mFinalReflowSize), at src/layout/generic/nsFlexContainerFrame.cpp:1850

#0 0x7fdb24f709fc in nsFlexContainerFrame::CachedFlexItemData::UpdateFinalReflowSize(nsFlexContainerFrame::FlexItem const&, mozilla::LogicalSize const&) src/layout/generic/nsFlexContainerFrame.cpp:1847:5
#1 0x7fdb24f7067b in nsFlexContainerFrame::FlexItem::NeedsFinalReflow(int) const src/layout/generic/nsFlexContainerFrame.cpp:2375:14
#2 0x7fdb24f7b2b2 in nsFlexContainerFrame::ReflowChildren(mozilla::ReflowInput const&, int, int, mozilla::LogicalSize const&, mozilla::LogicalMargin const&, int, int&, nsTArray<nsFlexContainerFrame::FlexLine>&, nsTArray<nsIFrame*>&, nsFlexContainerFrame::FlexboxAxisTracker const&, bool) src/layout/generic/nsFlexContainerFrame.cpp:5090:23
#3 0x7fdb24f790bb in nsFlexContainerFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsFlexContainerFrame.cpp:4445:7
#4 0x7fdb24f3f1ca in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:294:11
#5 0x7fdb24f3afd9 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3834:11
#6 0x7fdb24f38d36 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3170:5
#7 0x7fdb24f33aa3 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2708:7
#8 0x7fdb24f2fc0b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1368:3
#9 0x7fdb24f57bd0 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:1075:14
#10 0x7fdb24f5937d in nsColumnSetFrame::ReflowChildren(mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&, nsColumnSetFrame::ReflowConfig const&, bool) src/layout/generic/nsColumnSetFrame.cpp:705:7
#11 0x7fdb24f5b713 in ReflowColumns src/layout/generic/nsColumnSetFrame.cpp:414:37
#12 0x7fdb24f5b713 in nsColumnSetFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsColumnSetFrame.cpp:1245:37
#13 0x7fdb24f3f1ca in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:294:11
#14 0x7fdb24f3afd9 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3834:11
#15 0x7fdb24f38d36 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3170:5
#16 0x7fdb24f33aa3 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2708:7
#17 0x7fdb24f2fc0b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1368:3
#18 0x7fdb24f3f1ca in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:294:11
#19 0x7fdb24f3afd9 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3834:11
#20 0x7fdb24f38d36 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3170:5
#21 0x7fdb24f33aa3 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2708:7
#22 0x7fdb24f2fc0b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1368:3
#23 0x7fdb24f57bd0 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:1075:14
#24 0x7fdb24f5937d in nsColumnSetFrame::ReflowChildren(mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&, nsColumnSetFrame::ReflowConfig const&, bool) src/layout/generic/nsColumnSetFrame.cpp:705:7
#25 0x7fdb24f5ae3f in ReflowColumns src/layout/generic/nsColumnSetFrame.cpp:414:37
#26 0x7fdb24f5ae3f in nsColumnSetFrame::FindBestBalanceBSize(mozilla::ReflowInput const&, nsPresContext*, nsColumnSetFrame::ReflowConfig&, nsColumnSetFrame::ColumnBalanceData, mozilla::ReflowOutput&, bool, nsReflowStatus&) src/layout/generic/nsColumnSetFrame.cpp:1137:9
#27 0x7fdb24f5b7e7 in nsColumnSetFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsColumnSetFrame.cpp:1252:5
#28 0x7fdb24f3f1ca in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:294:11
#29 0x7fdb24f3afd9 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3834:11
#30 0x7fdb24f38d36 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3170:5
#31 0x7fdb24f33aa3 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2708:7
#32 0x7fdb24f2fc0b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1368:3
#33 0x7fdb24f57bd0 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:1075:14
#34 0x7fdb24f56f66 in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsCanvasFrame.cpp:757:5
#35 0x7fdb24f57bd0 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:1075:14
#36 0x7fdb24f990e8 in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*) src/layout/generic/nsGfxScrollFrame.cpp:755:3
#37 0x7fdb24f97d48 in nsHTMLScrollFrame::TryLayout(mozilla::ScrollReflowInput*, mozilla::ReflowOutput*, bool, bool, bool) src/layout/generic/nsGfxScrollFrame.cpp:443:5
#38 0x7fdb24f99f0c in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) src/layout/generic/nsGfxScrollFrame.cpp:940:7
#39 0x7fdb24f9da5f in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsGfxScrollFrame.cpp:1277:3
#40 0x7fdb24f25368 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:1115:14
#41 0x7fdb24f24e0a in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/ViewportFrame.cpp:297:7
#42 0x7fdb24e2f614 in mozilla::PresShell::DoReflow(nsIFrame*, bool, mozilla::OverflowChangedTracker*) src/layout/base/PresShell.cpp:9651:11
#43 0x7fdb24e38cbe in mozilla::PresShell::ProcessReflowCommands(bool) src/layout/base/PresShell.cpp:9824:24
#44 0x7fdb24e383bd in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) src/layout/base/PresShell.cpp:4240:11
#45 0x7fdb22376b8b in FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1412:5
#46 0x7fdb22376b8b in mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) src/dom/base/Document.cpp:10097:16
#47 0x7fdb2239e358 in FlushPendingNotifications src/dom/base/Document.cpp:10018:3
#48 0x7fdb2239e358 in GetPrimaryFrame src/dom/base/Element.cpp:230:10
#49 0x7fdb2239e358 in mozilla::dom::Element::GetBoundingClientRect() src/dom/base/Element.cpp:897:21
#50 0x7fdb233a4ba9 in mozilla::dom::Element_Binding::getBoundingClientRect(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/ElementBinding.cpp:2943:74
#51 0x7fdb236a00ce in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) src/dom/bindings/BindingUtils.cpp:3229:13
#52 0x7fdb26484451 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) src/js/src/vm/Interpreter.cpp:508:13
#53 0x7fdb26483bc9 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:600:12
#54 0x7fdb26485721 in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:665:10
#55 0x7fdb2647974c in CallFromStack src/js/src/vm/Interpreter.cpp:669:10
#56 0x7fdb2647974c in Interpret(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:3337:16
#57 0x7fdb26470b23 in js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:469:13
#58 0x7fdb26483b9a in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:637:13
#59 0x7fdb26485721 in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:665:10
#60 0x7fdb2648595f in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:682:8
#61 0x7fdb2658a487 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/jsapi.cpp:2821:10
#62 0x7fdb233d2f33 in mozilla::dom::EventHandlerNonNull::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/EventHandlerBinding.cpp:278:37
#63 0x7fdb23a41691 in void mozilla::dom::EventHandlerNonNull::Call<nsCOMPtr<mozilla::dom::EventTarget> >(nsCOMPtr<mozilla::dom::EventTarget> const&, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventHandlerBinding.h:367:12
#64 0x7fdb23a40753 in mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) src/dom/events/JSEventHandler.cpp:201:12
#65 0x7fdb23a23c3e in mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) src/dom/events/EventListenerManager.cpp:1088:22
#66 0x7fdb23a24899 in mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) src/dom/events/EventListenerManager.cpp:1279:17
#67 0x7fdb23a1a042 in HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:354:5
#68 0x7fdb23a1a042 in mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:356:17
#69 0x7fdb23a195f3 in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) src/dom/events/EventDispatcher.cpp:558:16
#70 0x7fdb23a1c0fd in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) src/dom/events/EventDispatcher.cpp:1058:11
#71 0x7fdb23a1e826 in mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) src/dom/events/EventDispatcher.cpp
#72 0x7fdb224ebc93 in nsINode::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) src/dom/base/nsINode.cpp:1300:17
#73 0x7fdb23a2a212 in mozilla::dom::EventTarget::DispatchEvent(mozilla::dom::Event&) src/dom/events/EventTarget.cpp:178:13
#74 0x7fdb239eb6fc in mozilla::AsyncEventDispatcher::Run() src/dom/events/AsyncEventDispatcher.cpp:69:12
#75 0x7fdb20660dd2 in mozilla::SchedulerGroup::Runnable::Run() src/xpcom/threads/SchedulerGroup.cpp:146:20
#76 0x7fdb2068e6d3 in mozilla::RunnableTask::Run() src/xpcom/threads/TaskController.cpp:244:16
#77 0x7fdb2066a014 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:514:26
#78 0x7fdb206690c4 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) src/xpcom/threads/TaskController.cpp:373:15
#79 0x7fdb20669253 in mozilla::TaskController::ProcessPendingMTTask(bool) src/xpcom/threads/TaskController.cpp:170:36
#80 0x7fdb20693826 in operator() src/xpcom/threads/TaskController.cpp:84:37
#81 0x7fdb20693826 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5
#82 0x7fdb2067d777 in nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1234:14
#83 0x7fdb20682f8a in NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:513:10
#84 0x7fdb20f77f76 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:87:21
#85 0x7fdb20eeac63 in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:334:10
#86 0x7fdb20eeab7d in RunHandler src/ipc/chromium/src/base/message_loop.cc:327:3
#87 0x7fdb20eeab7d in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:309:3
#88 0x7fdb24b64d38 in nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:137:27
#89 0x7fdb2634c253 in XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:913:20
#90 0x7fdb20f78d39 in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:237:9
#91 0x7fdb20eeac63 in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:334:10
#92 0x7fdb20eeab7d in RunHandler src/ipc/chromium/src/base/message_loop.cc:327:3
#93 0x7fdb20eeab7d in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:309:3
#94 0x7fdb2634be38 in XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:744:34
#95 0x55e3c8999917 in content_process_main src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#96 0x55e3c8999917 in main src/browser/app/nsBrowserApp.cpp:304:18

I don't have a testcase that will reduce easily.

However I do have a Pernosco session that is available here: https://pernos.co/debug/it_f3b__ukAxhF2N8UK8dg/index.html

Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.