Open Bug 1652995 Opened 4 years ago Updated 7 months ago

Assertion failure: applyState.mGaps.mHandled == applyState.mGaps.mCount (Unprocessed justification gaps), at /builds/worker/checkouts/gecko/layout/generic/nsLineLayout.cpp:3129

Categories

(Core :: Layout, defect)

defect

Tracking

()

Tracking Status
firefox-esr102 --- wontfix
firefox80 --- wontfix
firefox113 --- wontfix
firefox114 --- wontfix
firefox115 --- fix-optional

People

(Reporter: jkratzer, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, bugmon, testcase, Whiteboard: [bugmon:bisected,confirmed])

Attachments

(1 file)

Attached file testcase.html

Testcase found while fuzzing mozilla-central rev 2aa3b889d603 (built with --enable-debug --enable-fuzzing).

Assertion failure: applyState.mGaps.mHandled == applyState.mGaps.mCount (Unprocessed justification gaps), at /builds/worker/checkouts/gecko/layout/generic/nsLineLayout.cpp:3129

rax = 0x00007f00964263c8   rdx = 0x0000000000000000
rcx = 0x000055644dabaa58   rbx = 0x000055644e930ef0
rsi = 0x00007f00a74068b0   rdi = 0x00007f00a7405680
rbp = 0x00007ffd26fe3750   rsp = 0x00007ffd26fe36d0
r8 = 0x00007f00a74068b0    r9 = 0x00007f00a856c780
r10 = 0x0000000000000002   r11 = 0x0000000000000000
r12 = 0x000055644e95b070   r13 = 0x00007ffd26fe3a48
r14 = 0x0000000000000564   r15 = 0x00007ffd26fe3700
rip = 0x00007f0090d1cc60
OS|Linux|0.0.0 Linux 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 x86_64
CPU|amd64|family 6 model 94 stepping 3|8
GPU|||
Crash|SIGSEGV|0x0|0
0|0|libxul.so|nsLineLayout::TextAlignLine(nsLineBox*, bool)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsLineLayout.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|3128|0x0
0|1|libxul.so|nsBlockFrame::PlaceLine(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFloatManager::SavedState*, nsFlowAreaRect&, int&, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|4890|0x17
0|2|libxul.so|nsBlockFrame::DoReflowInlineFrames(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|4383|0x34
0|3|libxul.so|nsBlockFrame::ReflowInlineFrames(mozilla::BlockReflowInput&, nsLineList_iterator, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|4141|0x51
0|4|libxul.so|nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|3125|0x15
0|5|libxul.so|nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|2660|0x24
0|6|libxul.so|nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1377|0xb
0|7|libxul.so|nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsContainerFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1075|0x1a
0|8|libxul.so|nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsCanvasFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|749|0x22
0|9|libxul.so|nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsContainerFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1075|0x1a
0|10|libxul.so|nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsGfxScrollFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|691|0x3a
0|11|libxul.so|nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsGfxScrollFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|805|0x15
0|12|libxul.so|nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsGfxScrollFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1200|0x15
0|13|libxul.so|nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsContainerFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1115|0x18
0|14|libxul.so|mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&)|hg:hg.mozilla.org/mozilla-central:layout/generic/ViewportFrame.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|297|0x2b
0|15|libxul.so|mozilla::PresShell::DoReflow(nsIFrame*, bool, mozilla::OverflowChangedTracker*)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|9608|0x1c
0|16|libxul.so|mozilla::PresShell::ProcessReflowCommands(bool)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|9781|0x12
0|17|libxul.so|mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|4240|0x12
0|18|libxul.so|nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.h:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1443|0xb
0|19|libxul.so|mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|373|0xb
0|20|libxul.so|mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|367|0x12
0|21|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|737|0x17
0|22|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyParentProcessVsync()|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|639|0x10
0|23|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run()|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|538|0x14
0|24|libxul.so|mozilla::RunnableTask::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|209|0x11
0|25|libxul.so|mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|459|0xa
0|26|libxul.so|mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|337|0x5
0|27|libxul.so|mozilla::TaskController::ProcessPendingMTTask()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|152|0x8
0|28|libxul.so|mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.h:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|577|0xd
0|29|libxul.so|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|1234|0xe
0|30|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|513|0xc
0|31|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|87|0x7
0|32|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|334|0x17
0|33|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|309|0x8
0|34|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|137|0xd
0|35|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|913|0xe
0|36|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|237|0x5
0|37|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|334|0x17
0|38|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|309|0x8
0|39|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|744|0x5
0|40|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|56|0x11
0|41|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|303|0x20
0|42|libc.so.6||||0x21b97
0|43|firefox-bin|<name omitted>|hg:hg.mozilla.org/mozilla-central:mfbt/UniquePtr.h:2aa3b889d60386ac20e2a7ab7f315a742a2eea87|253|0x17
Flags: in-testsuite?
Whiteboard: [bugmon:confirm] → [bugmon:bisected,confirmed]
Bugmon Analysis:
Verified bug as reproducible on mozilla-central 20200715093718-d4c6cd2e13bb.
Failed to bisect testcase (Start build crashes!):
> Start: e8b7c48d4e7ed1b63aeedff379b51e566ea499d9 (20191107015224)
> End: d4c6cd2e13bb057eb4d5f8c579f440936bf17241 (20200715093718)
> BuildFlags: BuildFlags(asan=False, tsan=False, debug=True, fuzzing=True, coverage=False, valgrind=False)
Severity: normal → S3
Duplicate of this bug: 1825460

Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.

Bugmon was unable reproduce this issue.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Keywords: bugmon

A change to the Taskcluster build definitions over the weekend caused Bugmon to fail when reproducing issues. This issue has been corrected. Re-enabling bugmon.

Keywords: bugmon
Duplicate of this bug: 1853583

This is still reproducible with the attached minimized testcase, for what it's worth (in a debug build from today's mozilla-central).

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: