Closed Bug 1670336 Opened 4 years ago Closed 4 years ago

Assertion failure: child == line->mFirstChild (Lines out of sync), at src/layout/generic/nsLineBox.cpp:384

Categories

(Core :: Layout: Block and Inline, defect)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1663222
Tracking Status
firefox83 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(4 keywords)

Crash Data

Attachments

(1 file)

Attached file testcase.html

Assertion failure: child == line->mFirstChild (Lines out of sync), at src/layout/generic/nsLineBox.cpp:384

#0 0x7ff5997aede4 in nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsLineBox.cpp:384:7
#1 0x7ff5995684b7 in nsBlockFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsBlockFrame.cpp:438:3
#2 0x7ff59961baac in nsFrameList::DestroyFramesFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsFrameList.cpp:51:12
#3 0x7ff599568b1e in nsContainerFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsContainerFrame.cpp:216:11
#4 0x7ff5997aec16 in nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsLineBox.cpp:387:14
#5 0x7ff5995684b7 in nsBlockFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsBlockFrame.cpp:438:3
#6 0x7ff5997aec16 in nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsLineBox.cpp:387:14
#7 0x7ff5995684b7 in nsBlockFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsBlockFrame.cpp:438:3
#8 0x7ff59961baac in nsFrameList::DestroyFramesFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsFrameList.cpp:51:12
#9 0x7ff599568b1e in nsContainerFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsContainerFrame.cpp:216:11
#10 0x7ff5997aec16 in nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsLineBox.cpp:387:14
#11 0x7ff5995684b7 in nsBlockFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsBlockFrame.cpp:438:3
#12 0x7ff59961baac in nsFrameList::DestroyFramesFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsFrameList.cpp:51:12
#13 0x7ff599568b1e in nsContainerFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsContainerFrame.cpp:216:11
#14 0x7ff5995b287c in nsCanvasFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsCanvasFrame.cpp:230:21
#15 0x7ff59961baac in nsFrameList::DestroyFramesFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsFrameList.cpp:51:12
#16 0x7ff599568b1e in nsContainerFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsContainerFrame.cpp:216:11
#17 0x7ff59961baac in nsFrameList::DestroyFramesFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsFrameList.cpp:51:12
#18 0x7ff599568b1e in nsContainerFrame::DestroyFrom(nsIFrame*, mozilla::layout::PostFrameDestroyData&) /gecko/layout/generic/nsContainerFrame.cpp:216:11
#19 0x7ff5994358dc in Destroy /gecko/layout/generic/nsIFrame.h:737:5
#20 0x7ff5994358dc in nsFrameManager::Destroy() /gecko/layout/base/nsFrameManager.cpp:53:17
#21 0x7ff5993733fa in mozilla::PresShell::Destroy() /gecko/layout/base/PresShell.cpp:1432:22
#22 0x7ff599455f36 in nsDocumentViewer::DestroyPresShell() /gecko/layout/base/nsDocumentViewer.cpp:3875:15
#23 0x7ff599449b60 in nsDocumentViewer::Destroy() /gecko/layout/base/nsDocumentViewer.cpp:1748:5
#24 0x7ff59c059071 in nsDocShell::Destroy() /gecko/docshell/base/nsDocShell.cpp:4258:21
#25 0x7ff59c643841 in nsWebBrowser::SetDocShell(nsDocShell*) /gecko/toolkit/components/browser/nsWebBrowser.cpp:1131:18
#26 0x7ff59c6428dc in nsWebBrowser::InternalDestroy() /gecko/toolkit/components/browser/nsWebBrowser.cpp:174:3
#27 0x7ff59c6488dc in Destroy /gecko/toolkit/components/browser/nsWebBrowser.cpp:855:3
#28 0x7ff59c6488dc in non-virtual thunk to nsWebBrowser::Destroy() /gecko/toolkit/components/browser/nsWebBrowser.cpp
#29 0x7ff59851fc44 in mozilla::dom::BrowserChild::DestroyWindow() /gecko/dom/ipc/BrowserChild.cpp:899:31
#30 0x7ff59853864b in mozilla::dom::BrowserChild::RecvDestroy() /gecko/dom/ipc/BrowserChild.cpp:2394:3
#31 0x7ff592db4498 in mozilla::dom::PBrowserChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PBrowserChild.cpp:6166:56
#32 0x7ff592425cce in mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PContentChild.cpp:8826:32
#33 0x7ff5921b949e in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /gecko/ipc/glue/MessageChannel.cpp:2150:25
#34 0x7ff5921b5454 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /gecko/ipc/glue/MessageChannel.cpp:2074:9
#35 0x7ff5921b7258 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /gecko/ipc/glue/MessageChannel.cpp:1922:3
#36 0x7ff5921b7d28 in mozilla::ipc::MessageChannel::MessageTask::Run() /gecko/ipc/glue/MessageChannel.cpp:1953:13
#37 0x7ff590eb3159 in mozilla::RunnableTask::Run() /gecko/xpcom/threads/TaskController.cpp:242:16
#38 0x7ff590eaf667 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /gecko/xpcom/threads/TaskController.cpp:512:26
#39 0x7ff590ead507 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /gecko/xpcom/threads/TaskController.cpp:371:15
#40 0x7ff590ead95d in mozilla::TaskController::ProcessPendingMTTask(bool) /gecko/xpcom/threads/TaskController.cpp:168:36
#41 0x7ff590ebef94 in operator() /gecko/xpcom/threads/TaskController.cpp:86:37
#42 0x7ff590ebef94 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_5>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5
#43 0x7ff590ee2fb4 in nsThread::ProcessNextEvent(bool, bool*) /gecko/xpcom/threads/nsThread.cpp:1234:14
#44 0x7ff590eed73c in NS_ProcessNextEvent(nsIThread*, bool) /gecko/xpcom/threads/nsThreadUtils.cpp:513:10
#45 0x7ff5984be334 in SpinEventLoopUntil<mozilla::ProcessFailureBehavior::ReportToCaller, (lambda at src/dom/ipc/ContentChild.cpp:1166:24)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:362:25
#46 0x7ff5984be334 in mozilla::dom::ContentChild::ProvideWindowCommon(mozilla::dom::BrowserChild*, nsIOpenWindowInfo*, unsigned int, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, bool, nsDocShellLoadState*, bool*, mozilla::dom::BrowsingContext**) /gecko/dom/ipc/ContentChild.cpp:1166:5
#47 0x7ff59851f056 in mozilla::dom::BrowserChild::ProvideWindow(nsIOpenWindowInfo*, unsigned int, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, bool, nsDocShellLoadState*, bool*, mozilla::dom::BrowsingContext**) /gecko/dom/ipc/BrowserChild.cpp:861:14
#48 0x7ff59ca48549 in nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy*, nsTSubstring<char> const&, nsTSubstring<char> const&, nsTSubstring<char> const&, bool, bool, bool, nsIArray*, bool, bool, bool, nsPIWindowWatcher::PrintKind, nsDocShellLoadState*, mozilla::dom::BrowsingContext**) /gecko/toolkit/components/windowwatcher/nsWindowWatcher.cpp:833:24
#49 0x7ff59ca4f166 in nsWindowWatcher::OpenWindow2(mozIDOMWindowProxy*, nsTSubstring<char> const&, nsTSubstring<char> const&, nsTSubstring<char> const&, bool, bool, bool, nsISupports*, bool, bool, bool, nsPIWindowWatcher::PrintKind, nsDocShellLoadState*, mozilla::dom::BrowsingContext**) /gecko/toolkit/components/windowwatcher/nsWindowWatcher.cpp:376:10
#50 0x7ff59473b5ac in nsGlobalWindowOuter::OpenInternal(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, bool, bool, bool, bool, bool, nsIArray*, nsISupports*, nsDocShellLoadState*, bool, nsGlobalWindowOuter::PrintKind, mozilla::dom::BrowsingContext**) /gecko/dom/base/nsGlobalWindowOuter.cpp:7333:21
#51 0x7ff594740e3f in nsGlobalWindowOuter::OpenJS(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::dom::BrowsingContext**) /gecko/dom/base/nsGlobalWindowOuter.cpp:5899:10
#52 0x7ff59474088e in nsGlobalWindowOuter::OpenOuter(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /gecko/dom/base/nsGlobalWindowOuter.cpp:5863:17
#53 0x7ff5946e2ec8 in nsGlobalWindowInner::Open(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /gecko/dom/base/nsGlobalWindowInner.cpp:3855:3
#54 0x7ff595e5df74 in mozilla::dom::Window_Binding::open(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/WindowBinding.cpp:2709:59
#55 0x7ff59669e408 in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeCrossOriginObjectThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /gecko/dom/bindings/BindingUtils.cpp:3229:13
#56 0x7ff59cd6ceb8 in CallJSNative /gecko/js/src/vm/Interpreter.cpp:508:13
#57 0x7ff59cd6ceb8 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /gecko/js/src/vm/Interpreter.cpp:600:12
#58 0x7ff59cd6f1db in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /gecko/js/src/vm/Interpreter.cpp:665:10
#59 0x7ff59cd55f51 in CallFromStack /gecko/js/src/vm/Interpreter.cpp:669:10
#60 0x7ff59cd55f51 in Interpret(JSContext*, js::RunState&) /gecko/js/src/vm/Interpreter.cpp:3337:16
#61 0x7ff59cd36b20 in js::RunScript(JSContext*, js::RunState&) /gecko/js/src/vm/Interpreter.cpp:469:13
#62 0x7ff59cd6d049 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /gecko/js/src/vm/Interpreter.cpp:637:13
#63 0x7ff59cd6f1db in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /gecko/js/src/vm/Interpreter.cpp:665:10
#64 0x7ff59cd6f560 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /gecko/js/src/vm/Interpreter.cpp:682:8
#65 0x7ff59cefe802 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /gecko/js/src/jsapi.cpp:2820:10
#66 0x7ff5963513c4 in mozilla::dom::Function::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, nsTArray<JS::Value> const&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/FunctionBinding.cpp:45:8
#67 0x7ff594abd23a in void mozilla::dom::Function::Call<nsCOMPtr<nsIGlobalObject> >(nsCOMPtr<nsIGlobalObject> const&, nsTArray<JS::Value> const&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /builds/worker/workspace/obj-build/dist/include/mozilla/dom/FunctionBinding.h:73:12
#68 0x7ff594abcea3 in mozilla::dom::CallbackTimeoutHandler::Call(char const*) /gecko/dom/base/TimeoutHandler.cpp:167:29
#69 0x7ff5946f4e89 in nsGlobalWindowInner::RunTimeoutHandler(mozilla::dom::Timeout*, nsIScriptContext*) /gecko/dom/base/nsGlobalWindowInner.cpp:6083:38
#70 0x7ff594ab832a in mozilla::dom::TimeoutManager::RunTimeout(mozilla::TimeStamp const&, mozilla::TimeStamp const&, bool) /gecko/dom/base/TimeoutManager.cpp:916:44
#71 0x7ff594ab6eb5 in mozilla::dom::TimeoutExecutor::MaybeExecute() /gecko/dom/base/TimeoutExecutor.cpp:179:11
#72 0x7ff594aba90b in mozilla::dom::TimeoutExecutor::Run() /gecko/dom/base/TimeoutExecutor.cpp:234:5
#73 0x7ff590f0bf63 in mozilla::ThrottledEventQueue::Inner::ExecuteRunnable() /gecko/xpcom/threads/ThrottledEventQueue.cpp:254:22
#74 0x7ff590effe2f in mozilla::ThrottledEventQueue::Inner::Executor::Run() /gecko/xpcom/threads/ThrottledEventQueue.cpp:81:15
#75 0x7ff590eb3159 in mozilla::RunnableTask::Run() /gecko/xpcom/threads/TaskController.cpp:242:16
#76 0x7ff590eaf667 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /gecko/xpcom/threads/TaskController.cpp:512:26
#77 0x7ff590ead507 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /gecko/xpcom/threads/TaskController.cpp:371:15
#78 0x7ff590ead95d in mozilla::TaskController::ProcessPendingMTTask(bool) /gecko/xpcom/threads/TaskController.cpp:168:36
#79 0x7ff590ebef61 in operator() /gecko/xpcom/threads/TaskController.cpp:83:37
#80 0x7ff590ebef61 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5
#81 0x7ff590ee2fb4 in nsThread::ProcessNextEvent(bool, bool*) /gecko/xpcom/threads/nsThread.cpp:1234:14
#82 0x7ff590eed73c in NS_ProcessNextEvent(nsIThread*, bool) /gecko/xpcom/threads/nsThreadUtils.cpp:513:10
#83 0x7ff5921c20cf in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /gecko/ipc/glue/MessagePump.cpp:87:21
#84 0x7ff5920c6ac1 in RunInternal /gecko/ipc/chromium/src/base/message_loop.cc:334:10
#85 0x7ff5920c6ac1 in RunHandler /gecko/ipc/chromium/src/base/message_loop.cc:327:3
#86 0x7ff5920c6ac1 in MessageLoop::Run() /gecko/ipc/chromium/src/base/message_loop.cc:309:3
#87 0x7ff598e2d7b7 in nsBaseAppShell::Run() /gecko/widget/nsBaseAppShell.cpp:137:27
#88 0x7ff59cb0054f in XRE_RunAppShell() /gecko/toolkit/xre/nsEmbedFunctions.cpp:913:20
#89 0x7ff5920c6ac1 in RunInternal /gecko/ipc/chromium/src/base/message_loop.cc:334:10
#90 0x7ff5920c6ac1 in RunHandler /gecko/ipc/chromium/src/base/message_loop.cc:327:3
#91 0x7ff5920c6ac1 in MessageLoop::Run() /gecko/ipc/chromium/src/base/message_loop.cc:309:3
#92 0x7ff59caffaec in XRE_InitChildProcess(int, char**, XREChildData const*) /gecko/toolkit/xre/nsEmbedFunctions.cpp:744:34
#93 0x55c8cbe0d8dd in content_process_main(mozilla::Bootstrap*, int, char**) /gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#94 0x55c8cbe0dd17 in main /gecko/browser/app/nsBrowserApp.cpp:303:18
#95 0x7ff5ad3d50b2 in __libc_start_main /build/glibc-YYA7BZ/glibc-2.31/csu/../csu/libc-start.c:308:16
#96 0x55c8cbd61279 in _start (/home/worker/builds/m-c-20200910040355-fuzzing-asan-opt/firefox+0x5c279)
Flags: in-testsuite?

A Pernosco session is available here: https://pernos.co/debug/59YDaJsIHLapykX3QD5zbg/index.html

Bugmon Analysis:
Verified bug as reproducible on mozilla-central 20201009214545-cad2c1678593.
The bug appears to have been introduced in the following build range:

Start: e226df37045d7c9f4f8ef0014e760008c85f9f5e (20200623215007)
End: 91c26c5b1e33c9417048f1628ba0f07827e0c86d (20200623215338)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=e226df37045d7c9f4f8ef0014e760008c85f9f5e&tochange=91c26c5b1e33c9417048f1628ba0f07827e0c86d

Whiteboard: [bugmon:bisected,confirmed]
Flags: needinfo?(aethanyc)
Regressed by: 1647332
Has Regression Range: --- → yes
Keywords: regression
Crash Signature: [@ nsLineBox::DeleteLineList ]
Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(aethanyc)
Resolution: --- → DUPLICATE
Whiteboard: [bugmon:bisected,confirmed]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: