Closed
Bug 1494676
Opened 5 years ago
Closed 3 years ago
Assertion failure: !aParent || result->mParentAGR == aParent, at /builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp:1146
Categories
(Core :: Web Painting, defect, P2)
Core
Web Painting
Tracking
()
RESOLVED
FIXED
91 Branch
People
(Reporter: jkratzer, Assigned: mikokm)
References
(Blocks 1 open bug)
Details
(Keywords: assertion, testcase)
Attachments
(2 files)
Assertion failure: !aParent || result->mParentAGR == aParent, at /builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp:1146 Testcase found while fuzzing mozilla-central rev ba2b3ed1eb96. rax = 0x0000000000000000 rdx = 0x0000000000000000 rcx = 0x0000000000000b40 rbx = 0x00007fa89ad2a000 rsi = 0x00007fa8b673b8b0 rdi = 0x00007fa8b673a680 rbp = 0x00007ffcd8706280 rsp = 0x00007ffcd8706220 r8 = 0x00007fa8b673b8b0 r9 = 0x00007fa8b78b1740 r10 = 0x0000000000000000 r11 = 0x0000000000000000 r12 = 0x00007fa89adcacf8 r13 = 0x00007fa89ad23ac0 r14 = 0x00007ffcd8706238 r15 = 0x00007fa89ad2a000 rip = 0x00007fa8a73366ea OS|Linux|0.0.0 Linux 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64 CPU|amd64|family 6 model 78 stepping 3|1 GPU||| Crash|SIGSEGV /SEGV_MAPERR|0x0|0 0|0|libxul.so|nsDisplayListBuilder::WrapAGRForFrame(nsIFrame*, bool, AnimatedGeometryRoot*)|hg:hg.mozilla.org/mozilla-central:layout/painting/nsDisplayList.cpp:ba2b3ed1eb96065af623415366a7729cac877350|1129|0x18 0|1|libxul.so|nsDisplayListBuilder::AutoBuildingDisplayList::AutoBuildingDisplayList(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsRect const&, bool)|hg:hg.mozilla.org/mozilla-central:layout/painting/nsDisplayList.h:ba2b3ed1eb96065af623415366a7729cac877350|1197|0x16 0|2|libxul.so|nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3671|0x5 0|3|libxul.so|mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsGfxScrollFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3719|0x1a 0|4|libxul.so|nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3060|0x16 0|5|libxul.so|nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3726|0x15 0|6|libxul.so|DisplayLine|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|6767|0x19 0|7|libxul.so|nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsBlockFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|6862|0x33 0|8|libxul.so|nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3060|0x16 0|9|libxul.so|nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3726|0x15 0|10|libxul.so|nsCanvasFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsCanvasFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|651|0x18 0|11|libxul.so|nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3764|0x17 0|12|libxul.so|mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsGfxScrollFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3719|0x1a 0|13|libxul.so|nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3541|0x17 0|14|libxul.so|mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/ViewportFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|66|0x11 0|15|libxul.so|nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsFrame.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3060|0x16 0|16|libxul.so|RetainedDisplayListBuilder::AttemptPartialUpdate(unsigned int, mozilla::DisplayListChecker*)|hg:hg.mozilla.org/mozilla-central:layout/painting/RetainedDisplayListBuilder.cpp:ba2b3ed1eb96065af623415366a7729cac877350|1373|0x11 0|17|libxul.so|nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags)|hg:hg.mozilla.org/mozilla-central:layout/base/nsLayoutUtils.cpp:ba2b3ed1eb96065af623415366a7729cac877350|3682|0x5 0|18|libxul.so|mozilla::PresShell::Paint(nsView*, nsRegion const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:ba2b3ed1eb96065af623415366a7729cac877350|6351|0x17 0|19|libxul.so|nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*)|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:ba2b3ed1eb96065af623415366a7729cac877350|480|0x28 0|20|libxul.so|nsViewManager::ProcessPendingUpdatesForView(nsView*, bool)|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:ba2b3ed1eb96065af623415366a7729cac877350|412|0xd 0|21|libxul.so|nsViewManager::ProcessPendingUpdates()|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:ba2b3ed1eb96065af623415366a7729cac877350|1102|0x11 0|22|libxul.so|nsRefreshDriver::Tick(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:ba2b3ed1eb96065af623415366a7729cac877350|2046|0x8 0|23|libxul.so|mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:ba2b3ed1eb96065af623415366a7729cac877350|325|0x8 0|24|libxul.so|mozilla::RefreshDriverTimer::Tick(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:ba2b3ed1eb96065af623415366a7729cac877350|318|0xc 0|25|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:ba2b3ed1eb96065af623415366a7729cac877350|756|0xc 0|26|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:ba2b3ed1eb96065af623415366a7729cac877350|572|0xc 0|27|libxul.so|mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&)|hg:hg.mozilla.org/mozilla-central:layout/ipc/VsyncChild.cpp:ba2b3ed1eb96065af623415366a7729cac877350|78|0x9 0|28|libxul.so|mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&)|s3:gecko-generated-sources:2c36fa176485b987fd1c1ce548d1f34c4c8bfdea36ff5dd016400feb13d3c5c0c7f99d5a56d13733937c9483a48617af010c09f521533a5ce0fc1f74c50b86a2/ipc/ipdl/PVsyncChild.cpp:|167|0xc 0|29|libxul.so|mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:ba2b3ed1eb96065af623415366a7729cac877350|2248|0x6 0|30|libxul.so|mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:ba2b3ed1eb96065af623415366a7729cac877350|2175|0xb 0|31|libxul.so|mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:ba2b3ed1eb96065af623415366a7729cac877350|2012|0xb 0|32|libxul.so|mozilla::ipc::MessageChannel::MessageTask::Run()|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:ba2b3ed1eb96065af623415366a7729cac877350|2045|0xc 0|33|libxul.so|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:ba2b3ed1eb96065af623415366a7729cac877350|1228|0x15 0|34|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:ba2b3ed1eb96065af623415366a7729cac877350|519|0x11 0|35|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ba2b3ed1eb96065af623415366a7729cac877350|125|0xd 0|36|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ba2b3ed1eb96065af623415366a7729cac877350|325|0x17 0|37|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ba2b3ed1eb96065af623415366a7729cac877350|318|0x8 0|38|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:ba2b3ed1eb96065af623415366a7729cac877350|158|0xd 0|39|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ba2b3ed1eb96065af623415366a7729cac877350|939|0x11 0|40|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ba2b3ed1eb96065af623415366a7729cac877350|269|0x5 0|41|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ba2b3ed1eb96065af623415366a7729cac877350|325|0x17 0|42|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ba2b3ed1eb96065af623415366a7729cac877350|318|0x8 0|43|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ba2b3ed1eb96065af623415366a7729cac877350|765|0x8 0|44|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:ba2b3ed1eb96065af623415366a7729cac877350|50|0x14 0|45|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:ba2b3ed1eb96065af623415366a7729cac877350|287|0x11 0|46|libc-2.27.so||||0x21b97 0|47|firefox-bin|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/mozilla-central:mfbt/Assertions.h:ba2b3ed1eb96065af623415366a7729cac877350|164|0x5
Flags: in-testsuite?
Assignee | ||
Updated•5 years ago
|
Priority: -- → P2
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 5•3 years ago
|
||
This bypasses will-change budgeting for frames will-change: scroll.
Updated•3 years ago
|
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
Assignee | ||
Comment 6•3 years ago
|
||
This assertion is triggering because the AGR status of a frame is changing due to will-change budgeting. The tricky part here is that the first will-change budget check happens BEFORE display list building (through ComputeRebuildRegion
) and the second check happens DURING display list building.
Pushed by mikokm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/3e263a35732b Always consider scrollframes with will-change: scroll active r=tnikkel
Comment 8•3 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
status-firefox91:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
Updated•2 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•