Closed Bug 1700257 Opened 3 years ago Closed 3 years ago

Assertion failure: !aParent || result->mParentAGR == aParent, at /builds/worker/checkouts/gecko/layout/painting/nsDisplayList.cpp:802

Categories

(Core :: Web Painting, defect, P3)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1697639
Tracking Status
firefox89 --- affected

People

(Reporter: jkratzer, Unassigned)

References

(Blocks 1 open bug)

Details

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

Attachments

(1 file, 2 obsolete files)

Attached file testcase.html (obsolete) —

Testcase found while fuzzing mozilla-central rev 57704923d311 (built with --enable-debug).

Assertion failure: !aParent || result->mParentAGR == aParent, at /builds/worker/checkouts/gecko/layout/painting/nsDisplayList.cpp:802

    #0 0x7fab5a72ed61 in nsDisplayListBuilder::WrapAGRForFrame(nsIFrame*, bool, AnimatedGeometryRoot*) /builds/worker/checkouts/gecko/layout/painting/nsDisplayList.cpp:802:3
    #1 0x7fab5a75f5b2 in nsDisplayListBuilder::AutoBuildingDisplayList::AutoBuildingDisplayList(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsRect const&, bool) /builds/worker/checkouts/gecko/layout/painting/nsDisplayList.cpp:10187:21
    #2 0x7fab5a42cb47 in nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, mozilla::EnumSet<nsIFrame::DisplayChildFlag, unsigned int>) /builds/worker/checkouts/gecko/layout/generic/nsIFrame.cpp:4148:49
    #3 0x7fab5a47e833 in mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /builds/worker/checkouts/gecko/layout/generic/nsGfxScrollFrame.cpp:3952:15
    #4 0x7fab5a4be773 in nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*) /builds/worker/checkouts/gecko/layout/generic/nsIFrame.cpp:3410:5
    #5 0x7fab5a3ef473 in BuildDisplayListForTopLayerFrame(nsDisplayListBuilder*, nsIFrame*, nsDisplayList*) /builds/worker/checkouts/gecko/layout/generic/ViewportFrame.cpp:128:11
    #6 0x7fab5a3ee9f9 in mozilla::ViewportFrame::BuildDisplayListForTopLayer(nsDisplayListBuilder*, bool*) /builds/worker/checkouts/gecko/layout/generic/ViewportFrame.cpp:216:5
    #7 0x7fab5a47ee8a in MaybeCreateTopLayerItems /builds/worker/checkouts/gecko/layout/generic/nsGfxScrollFrame.cpp:4175:20
    #8 0x7fab5a47ee8a in mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /builds/worker/checkouts/gecko/layout/generic/nsGfxScrollFrame.cpp:4021:11
    #9 0x7fab5a4c187a in nsIFrame::BuildDisplayListForSimpleChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&) /builds/worker/checkouts/gecko/layout/generic/nsIFrame.cpp:3941:11
    #10 0x7fab5a42c22e in nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, mozilla::EnumSet<nsIFrame::DisplayChildFlag, unsigned int>) /builds/worker/checkouts/gecko/layout/generic/nsIFrame.cpp:4030:5
    #11 0x7fab5a3ee4bd in mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /builds/worker/checkouts/gecko/layout/generic/ViewportFrame.cpp:66:3
    #12 0x7fab5a4be773 in nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*) /builds/worker/checkouts/gecko/layout/generic/nsIFrame.cpp:3410:5
    #13 0x7fab5a70a065 in RetainedDisplayListBuilder::AttemptPartialUpdate(unsigned int) /builds/worker/checkouts/gecko/layout/painting/RetainedDisplayListBuilder.cpp:1428:34
    #14 0x7fab5a396f82 in nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) /builds/worker/checkouts/gecko/layout/base/nsLayoutUtils.cpp:3366:40
    #15 0x7fab5a30fe8a in mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:6402:5
    #16 0x7fab59fc9d5f in nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) /builds/worker/checkouts/gecko/view/nsViewManager.cpp:459:18
    #17 0x7fab59fc9853 in nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) /builds/worker/checkouts/gecko/view/nsViewManager.cpp:394:22
    #18 0x7fab59fcacbf in nsViewManager::ProcessPendingUpdates() /builds/worker/checkouts/gecko/view/nsViewManager.cpp:972:5
    #19 0x7fab5a2cf34f in nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:2327:11
    #20 0x7fab5a2d6331 in TickDriver /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:345:13
    #21 0x7fab5a2d6331 in mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:324:7
    #22 0x7fab5a2d620f in mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:339:5
    #23 0x7fab5a2d5828 in RunRefreshDrivers /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:769:5
    #24 0x7fab5a2d5828 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:699:16
    #25 0x7fab5a2d510e in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyParentProcessVsync() /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:612:7
    #26 0x7fab5a2d4b89 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) /builds/worker/checkouts/gecko/layout/base/nsRefreshDriver.cpp:533:9
    #27 0x7fab59af2cf6 in mozilla::dom::VsyncChild::RecvNotify(mozilla::VsyncEvent const&, float const&) /builds/worker/checkouts/gecko/dom/ipc/VsyncChild.cpp:68:15
    #28 0x7fab56829110 in mozilla::dom::PVsyncChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PVsyncChild.cpp:178:54
    #29 0x7fab565d1dec in mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PBackgroundChild.cpp:6008:32
    #30 0x7fab5628d56e in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2157:25
    #31 0x7fab56289a4d in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2081:9
    #32 0x7fab5628aef6 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1929:3
    #33 0x7fab5628bc3b in mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1960:13
    #34 0x7fab5594b5ff in mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:472:16
    #35 0x7fab55949b80 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:760:26
    #36 0x7fab55948ae4 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:611:15
    #37 0x7fab55948c97 in mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:395:36
    #38 0x7fab5594f209 in operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:136:37
    #39 0x7fab5594f209 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:534:5
    #40 0x7fab55960667 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1155:16
    #41 0x7fab55966bda in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:548:10
    #42 0x7fab56292e54 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:109:5
    #43 0x7fab561fdd03 in MessageLoop::RunInternal() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10
    #44 0x7fab561fdc1d in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3
    #45 0x7fab561fdc1d in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3
    #46 0x7fab5a017898 in nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27
    #47 0x7fab5b878dd3 in XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:901:20
    #48 0x7fab56293d8c in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9
    #49 0x7fab561fdd03 in MessageLoop::RunInternal() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10
    #50 0x7fab561fdc1d in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3
    #51 0x7fab561fdc1d in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3
    #52 0x7fab5b8789a8 in XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:733:34
    #53 0x557314430fb6 in content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28
    #54 0x557314430fb6 in main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:309:18
    #55 0x7fab6b1f20b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
Flags: in-testsuite?

Bugmon Analysis:
Unable to reproduce bug using the following builds:

mozilla-central 20210323053948-2434210a7824
mozilla-central 20210323053948-2434210a7824
Removing bugmon keyword as no further action possible.
Please review the bug and re-add the keyword for further analysis.

Keywords: bugmon
Whiteboard: [bugmon:confirm] → [bugmon:confirmed]

Isn't this the same as bug 1645141?

Flags: needinfo?(matt.woodrow)

Same assert but could be different underlying bugs.

Cannot reproduce this on Linux or Mac.

Severity: -- → S3
Flags: needinfo?(matt.woodrow)
Priority: -- → P3
Flags: needinfo?(jkratzer)
Attached file testcase.zip (obsolete) —
Attachment #9210925 - Attachment is obsolete: true
Flags: needinfo?(jkratzer)

My apologies. It looks like the fission related prefs need to be enabled in order to reproduce this issue. I've updated the testcase to include the prefs needed to repro.

Whiteboard: [bugmon:confirmed] → [bugmon:confirm]
See Also: → 1713911
See Also: → 1697639

Jason, can this still be reproduced?

Flags: needinfo?(jkratzer)
Attached file testcase.zip

Looks like there was something wrong with the original testcase. This testcase reproduces on mozilla-central 20210322-57704923d311 but does not reproduce on 20210715-013ecb3d2bf2. I'll re-enable bugmon to identify the fix but I think we can safely close this issue.

Attachment #9212908 - Attachment is obsolete: true
Flags: needinfo?(jkratzer)

Bugmon Analysis
The bug appears to have been fixed in the following build range:

Start: 8ca067484bdf7e34af02b1479db69d99a7376173 (20210707161043)
End: eb9c0b2c751632402eceaa47b60f5a2fddb8e3cf (20210707161114)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=8ca067484bdf7e34af02b1479db69d99a7376173&tochange=eb9c0b2c751632402eceaa47b60f5a2fddb8e3cf

Whiteboard: [bugmon:confirm] → [bugmon:bisected,confirmed]
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE

Bugmon Analysis
No valid actions for resolution (DUPLICATE)

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

Attachment

General

Created:
Updated:
Size: