Open Bug 1469078 Opened 2 years ago Updated 1 year ago

Assertion failure: !aAncestor (We should have exited this loop earlier), at src/layout/painting/nsDisplayList.cpp:1664

Categories

(Core :: Web Painting, defect, P3)

defect

Tracking

()

Tracking Status
firefox62 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase.html
Reduced with m-c:
BuildID=20180614094457
SourceStamp=91db0c695f0272f00bf92c81c471a85101056d96

Assertion failure: !aAncestor (We should have exited this loop earlier), at src/layout/painting/nsDisplayList.cpp:1664

#0 nsDisplayListBuilder::CreateClipChainIntersection(mozilla::DisplayItemClipChain const*, mozilla::DisplayItemClipChain const*, mozilla::DisplayItemClipChain const*) src/layout/painting/nsDisplayList.cpp:1664:7
#1 mozilla::DisplayListClipState::GetCurrentCombinedClipChain(nsDisplayListBuilder*) src/layout/painting/DisplayListClipState.cpp:26:15
#2 nsDisplayItem::nsDisplayItem(nsDisplayListBuilder*, nsIFrame*, mozilla::ActiveScrolledRoot const*, bool) src/layout/painting/nsDisplayList.cpp:3100:38
#3 nsDisplayEventReceiver::nsDisplayEventReceiver(nsDisplayListBuilder*, nsIFrame*) src/layout/painting/nsDisplayList.h:4739:7
#4 nsDisplayCompositorHitTestInfo::nsDisplayCompositorHitTestInfo(nsDisplayListBuilder*, nsIFrame*, mozilla::gfx::CompositorHitTestInfo, unsigned int, mozilla::Maybe<nsRect> const&) src/layout/painting/nsDisplayList.cpp:5028:5
#5 nsDisplayCompositorHitTestInfo* MakeDisplayItem<nsDisplayCompositorHitTestInfo, nsIFrame*&, mozilla::gfx::CompositorHitTestInfo&>(nsDisplayListBuilder*, nsIFrame*&, mozilla::gfx::CompositorHitTestInfo&) src/layout/painting/nsDisplayList.h:2003:28
#6 nsDisplayListBuilder::BuildCompositorHitTestInfoIfNeeded(nsIFrame*, nsDisplayList*, bool) src/layout/painting/nsDisplayList.cpp:2261:5
#7 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) src/layout/generic/nsFrame.cpp:3793:15
#8 nsContainerFrame::BuildDisplayListForNonBlockChildren(nsDisplayListBuilder*, nsDisplayListSet const&, unsigned int) src/layout/generic/nsContainerFrame.cpp:389:5
#9 nsInlineFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/generic/nsInlineFrame.cpp:241:3
#10 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) src/layout/generic/nsFrame.cpp:3778:14
#11 DisplayLine(nsDisplayListBuilder*, nsRect const&, nsLineList_iterator&, int, int&, nsDisplayListSet const&, nsBlockFrame*, mozilla::css::TextOverflow*, unsigned int) src/layout/generic/nsBlockFrame.cpp:6651:13
#12 nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/generic/nsBlockFrame.cpp:6746:7
#13 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) src/layout/generic/nsFrame.cpp:3778:14
#14 DisplayLine(nsDisplayListBuilder*, nsRect const&, nsLineList_iterator&, int, int&, nsDisplayListSet const&, nsBlockFrame*, mozilla::css::TextOverflow*, unsigned int) src/layout/generic/nsBlockFrame.cpp:6651:13
#15 nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/generic/nsBlockFrame.cpp:6746:7
#16 nsSelectsAreaFrame::BuildDisplayListInternal(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/forms/nsSelectsAreaFrame.cpp:150:17
#17 nsSelectsAreaFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/forms/nsSelectsAreaFrame.cpp:135:5
#18 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) src/layout/generic/nsFrame.cpp:3778:14
#19 mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/generic/nsGfxScrollFrame.cpp:3640:15
#20 nsListControlFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/forms/nsListControlFrame.cpp:195:22
#21 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*) src/layout/generic/nsFrame.cpp:3072:5
#22 BuildDisplayListForTopLayerFrame(nsDisplayListBuilder*, nsIFrame*, nsDisplayList*) src/layout/generic/ViewportFrame.cpp:133:11
#23 mozilla::ViewportFrame::BuildDisplayListForTopLayer(nsDisplayListBuilder*, nsDisplayList*) src/layout/generic/ViewportFrame.cpp:179:7
#24 mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) src/layout/generic/ViewportFrame.cpp:70:3
#25 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*, bool*) src/layout/generic/nsFrame.cpp:3072:5
#26 nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) src/layout/base/nsLayoutUtils.cpp:3721:17
#27 mozilla::PresShell::Paint(nsView*, nsRegion const&, unsigned int) src/layout/base/PresShell.cpp:6314:5
#28 nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) src/view/nsViewManager.cpp:480:19
#29 nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) src/view/nsViewManager.cpp:412:33
#30 nsViewManager::ProcessPendingUpdates() src/view/nsViewManager.cpp:1102:5
#31 nsRefreshDriver::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:2039:11
#32 mozilla::RefreshDriverTimer::TickRefreshDrivers(long, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) src/layout/base/nsRefreshDriver.cpp:301:7
#33 mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:320:5
#34 mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:760:5
#35 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:673:35
#36 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:574:9
#37 mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&) src/layout/ipc/VsyncChild.cpp:68:16
#38 mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:167:20
#39 mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:1988:28
#40 mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) src/ipc/glue/MessageChannel.cpp:2134:25
#41 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) src/ipc/glue/MessageChannel.cpp:2064:17
#42 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) src/ipc/glue/MessageChannel.cpp:1910:5
#43 mozilla::ipc::MessageChannel::MessageTask::Run() src/ipc/glue/MessageChannel.cpp:1943:15
#44 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1088:14
#45 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:519:10
#46 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:125:5
#47 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10
#48 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3
#49 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:157:27
#50 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:896:22
#51 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:269:9
#52 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10
#53 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3
#54 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:722:34
#55 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30
#56 main src/browser/app/nsBrowserApp.cpp:287:18
#57 __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291
#58 _start (firefox+0x4236e4)
Flags: in-testsuite?
Attached file prefs.js
Blocks: APZLayout
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.