Open Bug 1741498 Opened 3 years ago Updated 9 months ago

Assertion failure: !mSubDocuments || mSubDocuments->EntryCount() == 0, at /dom/base/Document.cpp:11338

Categories

(Core :: Layout, defect)

x86_64
Linux
defect

Tracking

()

People

(Reporter: jkratzer, Unassigned)

References

(Blocks 1 open bug)

Details

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

Attachments

(1 file)

4.33 KB, application/octet-stream
Details

Testcase found while fuzzing mozilla-central rev bb05a9c04907 (built with: --enable-debug --enable-fuzzing).

Testcase can be reproduced using the following commands:

$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch --build bb05a9c04907 --debug --fuzzing -n firefox
$ python -m grizzly.replay ./firefox/firefox testcase.zip
Assertion failure: !mSubDocuments || mSubDocuments->EntryCount() == 0, at /dom/base/Document.cpp:11338

    ==810230==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f66d2c0ca87 bp 0x7fffe3361b90 sp 0x7fffe3361b70 T810230)
    ==810230==The signal is caused by a WRITE memory access.
    ==810230==Hint: address points to the zero page.
        #0 0x7f66d2c0ca87 in mozilla::dom::Document::Destroy() /dom/base/Document.cpp:11338:3
        #1 0x7f66d5bf1cc4 in nsDocumentViewer::Destroy() /layout/base/nsDocumentViewer.cpp:1750:16
        #2 0x7f66d5bf94b1 in nsDocumentViewer::Show() /layout/base/nsDocumentViewer.cpp:2055:17
        #3 0x7f66d5c3deb3 in nsPresContext::EnsureVisible() /layout/base/nsPresContext.cpp:1944:25
        #4 0x7f66d5b801f2 in mozilla::PresShell::UnsuppressAndInvalidate() /layout/base/PresShell.cpp:3881:54
        #5 0x7f66d5b82337 in mozilla::PresShell::ProcessReflowCommands(bool) /layout/base/PresShell.cpp:9828:5
        #6 0x7f66d5b81667 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /layout/base/PresShell.cpp:4264:11
        #7 0x7f66d5b78f6a in FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1436:5
        #8 0x7f66d5b78f6a in DoFlushPendingNotifications /layout/base/PresShell.cpp:4058:3
        #9 0x7f66d5b78f6a in FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1427:5
        #10 0x7f66d5b78f6a in HandlePostedReflowCallbacks /layout/base/PresShell.cpp:4026:5
        #11 0x7f66d5b78f6a in mozilla::PresShell::DidDoReflow(bool) /layout/base/PresShell.cpp:9398:3
        #12 0x7f66d5b82280 in mozilla::PresShell::ProcessReflowCommands(bool) /layout/base/PresShell.cpp:9796:7
        #13 0x7f66d5b81667 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /layout/base/PresShell.cpp:4264:11
        #14 0x7f66d5b47f75 in FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1436:5
        #15 0x7f66d5b47f75 in nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsRefreshDriver::IsExtraTick) /layout/base/nsRefreshDriver.cpp:2399:20
        #16 0x7f66d5b50620 in TickDriver /layout/base/nsRefreshDriver.cpp:353:13
        #17 0x7f66d5b50620 in mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) /layout/base/nsRefreshDriver.cpp:331:7
        #18 0x7f66d5b50523 in mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /layout/base/nsRefreshDriver.cpp:347:5
        #19 0x7f66d5b503f0 in mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /layout/base/nsRefreshDriver.cpp:782:5
        #20 0x7f66d5b4fa8a in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /layout/base/nsRefreshDriver.cpp:705:16
        #21 0x7f66d5b4f393 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyParentProcessVsync() /layout/base/nsRefreshDriver.cpp:622:7
        #22 0x7f66d5b4ee29 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) /layout/base/nsRefreshDriver.cpp:543:9
        #23 0x7f66d52ff7a9 in mozilla::dom::VsyncChild::RecvNotify(mozilla::VsyncEvent const&, float const&) /dom/ipc/VsyncChild.cpp:68:15
        #24 0x7f66d1f54169 in mozilla::dom::PVsyncChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PVsyncChild.cpp:200:54
        #25 0x7f66d1d0e08c in mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PBackgroundChild.cpp:6082:32
        #26 0x7f66d19930af in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /ipc/glue/MessageChannel.cpp:2043:25
        #27 0x7f66d198f9a1 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /ipc/glue/MessageChannel.cpp:1968:9
        #28 0x7f66d1990e25 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /ipc/glue/MessageChannel.cpp:1827:3
        #29 0x7f66d1991a5d in mozilla::ipc::MessageChannel::MessageTask::Run() /ipc/glue/MessageChannel.cpp:1855:14
        #30 0x7f66d0f1680e in mozilla::RunnableTask::Run() /xpcom/threads/TaskController.cpp:468:16
        #31 0x7f66d0ef0126 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /xpcom/threads/TaskController.cpp:771:26
        #32 0x7f66d0eeede8 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /xpcom/threads/TaskController.cpp:607:15
        #33 0x7f66d0eef063 in mozilla::TaskController::ProcessPendingMTTask(bool) /xpcom/threads/TaskController.cpp:391:36
        #34 0x7f66d0f19e79 in operator() /xpcom/threads/TaskController.cpp:127:37
        #35 0x7f66d0f19e79 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_1>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:531:5
        #36 0x7f66d0f04b13 in nsThread::ProcessNextEvent(bool, bool*) /xpcom/threads/nsThread.cpp:1175:16
        #37 0x7f66d0f0bcfa in NS_ProcessNextEvent(nsIThread*, bool) /xpcom/threads/nsThreadUtils.cpp:467:10
        #38 0x7f66d1998e74 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /ipc/glue/MessagePump.cpp:107:5
        #39 0x7f66d18b8507 in MessageLoop::RunInternal() /ipc/chromium/src/base/message_loop.cc:331:10
        #40 0x7f66d18b8412 in RunHandler /ipc/chromium/src/base/message_loop.cc:324:3
        #41 0x7f66d18b8412 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:306:3
        #42 0x7f66d5848218 in nsBaseAppShell::Run() /widget/nsBaseAppShell.cpp:137:27
        #43 0x7f66d7804793 in XRE_RunAppShell() /toolkit/xre/nsEmbedFunctions.cpp:917:20
        #44 0x7f66d1999dba in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /ipc/glue/MessagePump.cpp:235:9
        #45 0x7f66d18b8507 in MessageLoop::RunInternal() /ipc/chromium/src/base/message_loop.cc:331:10
        #46 0x7f66d18b8412 in RunHandler /ipc/chromium/src/base/message_loop.cc:324:3
        #47 0x7f66d18b8412 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:306:3
        #48 0x7f66d7803dcb in XRE_InitChildProcess(int, char**, XREChildData const*) /toolkit/xre/nsEmbedFunctions.cpp:749:34
        #49 0x56419f86ee49 in content_process_main /browser/app/../../ipc/contentproc/plugin-container.cpp:57:28
        #50 0x56419f86ee49 in main /browser/app/nsBrowserApp.cpp:327:18
        #51 0x7f66e7bc60b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
        #52 0x56419f84a5dc in _start (/home/jkratzer/builds/mc-debug/firefox-bin+0x155dc)
    
    UndefinedBehaviorSanitizer can not provide additional info.
    SUMMARY: UndefinedBehaviorSanitizer: SEGV /dom/base/Document.cpp:11338:3 in mozilla::dom::Document::Destroy()
    ==810230==ABORTING
Attached file Testcase

Bugmon Analysis
Verified bug as reproducible on mozilla-central 20211116212601-0799fad6d9ec.
Failed to bisect testcase (Testcase reproduces on start build!):

Start: 42e7e98c701d3e8c8c66a5acca0f0aeeb5076661 (20201118041908)
End: bb05a9c04907014611396dec1fbfe65b0eba8295 (20211116155954)
BuildFlags: BuildFlags(asan=False, tsan=False, debug=True, fuzzing=True, coverage=False, valgrind=False, no_opt=False, fuzzilli=False)

Whiteboard: [bugmon:confirm] → [bugmon:bisected,confirmed]
Severity: -- → S3

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

Unable to reproduce bug 1741498 using build mozilla-central 20220730092553-656a6bc2f82d. Without a baseline, bugmon is unable to analyze this bug.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

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

Attachment

General

Created:
Updated:
Size: