Assertion failure: !AnyContentAncestorModified(item->FrameForInvalidation()), at src/layout/painting/RetainedDisplayListBuilder.cpp:745

RESOLVED FIXED in Firefox 68

Status

()

defect
P2
normal
RESOLVED FIXED
2 months ago
15 days ago

People

(Reporter: tsmith, Assigned: mattwoodrow)

Tracking

(Blocks 1 bug, {assertion, testcase})

unspecified
mozilla68
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox67 wontfix, firefox68 fixed)

Details

Attachments

(2 attachments)

Reporter

Description

2 months ago
Posted file testcase.html

Reduced with m-c:
BuildID=20190507214514
SourceStamp=63bc837753d653ab13635e432400c1b6d31d12ca

Assertion failure: !AnyContentAncestorModified(item->FrameForInvalidation()), at src/layout/painting/RetainedDisplayListBuilder.cpp:745

#0 VerifyNotModified(nsDisplayList*) src/layout/painting/RetainedDisplayListBuilder.cpp:747:15
#1 VerifyNotModified(nsDisplayList*) src/layout/painting/RetainedDisplayListBuilder.cpp:748:7
#2 RetainedDisplayListBuilder::MergeDisplayLists(nsDisplayList*, RetainedDisplayList*, RetainedDisplayList*, mozilla::Maybe<mozilla::ActiveScrolledRoot const*>&, nsDisplayItem*) src/layout/painting/RetainedDisplayListBuilder.cpp:779:5
#3 MergeState::MergeChildLists(nsDisplayItem*, nsDisplayItem*, nsDisplayItem*) src/layout/painting/RetainedDisplayListBuilder.cpp:481:37
#4 MergeState::ProcessItemFromNewList(nsDisplayItem*, mozilla::Maybe<Index<MergedListUnits> > const&) src/layout/painting/RetainedDisplayListBuilder.cpp:453:9
#5 RetainedDisplayListBuilder::MergeDisplayLists(nsDisplayList*, RetainedDisplayList*, RetainedDisplayList*, mozilla::Maybe<mozilla::ActiveScrolledRoot const*>&, nsDisplayItem*) src/layout/painting/RetainedDisplayListBuilder.cpp:793:31
#6 MergeState::MergeChildLists(nsDisplayItem*, nsDisplayItem*, nsDisplayItem*) src/layout/painting/RetainedDisplayListBuilder.cpp:481:37
#7 MergeState::ProcessItemFromNewList(nsDisplayItem*, mozilla::Maybe<Index<MergedListUnits> > const&) src/layout/painting/RetainedDisplayListBuilder.cpp:453:9
#8 RetainedDisplayListBuilder::MergeDisplayLists(nsDisplayList*, RetainedDisplayList*, RetainedDisplayList*, mozilla::Maybe<mozilla::ActiveScrolledRoot const*>&, nsDisplayItem*) src/layout/painting/RetainedDisplayListBuilder.cpp:793:31
#9 RetainedDisplayListBuilder::AttemptPartialUpdate(unsigned int, mozilla::DisplayListChecker*) src/layout/painting/RetainedDisplayListBuilder.cpp:1466:7
#10 nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) src/layout/base/nsLayoutUtils.cpp:3829:40
#11 mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) src/layout/base/PresShell.cpp:6120:5
#12 nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) src/view/nsViewManager.cpp:462:18
#13 nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) src/view/nsViewManager.cpp:397:22
#14 nsViewManager::ProcessPendingUpdates() src/view/nsViewManager.cpp:1020:5
#15 nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:2067:11
#16 mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) src/layout/base/nsRefreshDriver.cpp:325:7
#17 mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:342:5
#18 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:708:16
#19 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) src/layout/base/nsRefreshDriver.cpp:603:9
#20 mozilla::layout::VsyncChild::RecvNotify(mozilla::VsyncEvent const&) src/layout/ipc/VsyncChild.cpp:65:16
#21 mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:168:54
#22 mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:4061:28
#23 mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) src/ipc/glue/MessageChannel.cpp:2151:21
#24 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) src/ipc/glue/MessageChannel.cpp:2078:9
#25 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) src/ipc/glue/MessageChannel.cpp:1937:3
#26 mozilla::ipc::MessageChannel::MessageTask::Run() src/ipc/glue/MessageChannel.cpp:1968:13
#27 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1180:14
#28 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:486:10
#29 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:110:5
#30 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#31 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#32 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:137:27
#33 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:919:20
#34 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:238:9
#35 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#36 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#37 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:757:34
#38 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#39 main src/browser/app/nsBrowserApp.cpp:263:18
Flags: in-testsuite?
Assignee

Updated

2 months ago
Assignee: nobody → matt.woodrow
Priority: -- → P2

Comment 2

2 months ago
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7c1fce459b7a
Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish

Comment 3

2 months ago
bugherder
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

Backed out for crashtest failures on 1458028.html and assertion failures on RetainedDisplayListBuilder.cpp

backout: https://hg.mozilla.org/integration/autoland/rev/7c1fce459b7aa1c21e92331ce7ddbf05a7a49f58

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=android%2C4.3%2Capi16%2B%2Cdebug%2Creftests%2Cwithout%2Ce10s%2Ctest-android-em-4.3-arm7-api-16%2Fdebug-crashtest-1proc-8%2Cr-1proc%28c8%29&revision=7c1fce459b7aa1c21e92331ce7ddbf05a7a49f58&group_state=expanded&selectedJob=245705678

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=245705678&repo=autoland&lineNumber=1816

[task 2019-05-10T05:44:16.101Z] 05:44:16 INFO - REFTEST TEST-START | http://10.0.2.2:8854/tests/layout/generic/crashtests/1458028.html
[task 2019-05-10T05:44:16.102Z] 05:44:16 INFO - REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/layout/generic/crashtests/1458028.html | 94 / 373 (25%)
[task 2019-05-10T05:44:16.103Z] 05:44:16 INFO - REFTEST TEST-PASS | http://10.0.2.2:8854/tests/layout/generic/crashtests/1458028.html | (LOAD ONLY)
[task 2019-05-10T05:44:16.104Z] 05:44:16 INFO - REFTEST TEST-END | http://10.0.2.2:8854/tests/layout/generic/crashtests/1458028.html
[task 2019-05-10T05:44:16.104Z] 05:44:16 INFO - REFTEST TEST-UNEXPECTED-FAIL | http://10.0.2.2:8854/tests/layout/generic/crashtests/1458028.html | assertion count 9 is more than expected 6 assertions

[task 2019-05-10T05:51:49.030Z] 05:51:49 INFO - 05-09 22:51:08.140 F/MOZ_Assert( 816): Assertion failure: !AnyContentAncestorModified(item->FrameForInvalidation()), at /builds/worker/workspace/build/src/layout/painting/RetainedDisplayListBuilder.cpp:741
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:08.180 W/google-breakpad( 816): ExceptionHandler::GenerateDump cloned child
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:08.180 W/google-breakpad( 816): 1240
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:08.180 W/google-breakpad( 816):
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:08.180 W/google-breakpad( 816): ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:08.190 W/google-breakpad( 1240): ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2019-05-10T05:51:49.031Z] 05:51:49 INFO - 05-09 22:51:09.860 I/Choreographer( 816): Skipped 95 frames! The application may be doing too much work on its main thread.
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.009 D/Zygote ( 38): Process 816 terminated by signal (11)
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.019 I/ActivityManager( 275): Process org.mozilla.fennec_aurora (pid 816) has died.
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.029 I/WindowState( 275): WIN DEATH: Window{41826d58 u0 SurfaceView}
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.060 W/ActivityManager( 275): Force removing ActivityRecord{41d0b9c0 u0 org.mozilla.fennec_aurora/org.mozilla.gecko.BrowserApp}: app died, no saved state
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.060 W/InputDispatcher( 275): channel '41cd6c28 org.mozilla.fennec_aurora/org.mozilla.gecko.BrowserApp (server)' ~ Consumer closed input channel or an error occurred. events=0x9
[task 2019-05-10T05:51:49.032Z] 05:51:49 INFO - 05-09 22:51:10.060 E/InputDispatcher( 275): channel '41cd6c28 org.mozilla.fennec_aurora/org.mozilla.gecko.BrowserApp (server)' ~ Channel is unrecoverably broken and will be disposed!
[task 2019-05-10T05:51:49.033Z] 05:51:49 INFO - 05-09 22:51:10.070 I/WindowState( 275): WIN DEATH: Window{41cd6c28 u0 org.mozilla.fennec_aurora/org.mozilla.gecko.BrowserApp}
[task 2019-05-10T05:51:49.033Z] 05:51:49 INFO - 05-09 22:51:10.070 W/InputDispatcher( 275): Attempted to unregister already unregistered input channel '41cd6c28 org.mozilla.fennec_aurora/org.mozilla.gecko.BrowserApp (server)'
[task 2019-05-10T05:51:49.033Z] 05:51:49 INFO - 05-09 22:51:10.300 W/EGL_emulation( 401): eglSurfaceAttrib not implemented
[task 2019-05-10T05:51:49.033Z] 05:51:49 INFO - 05-09 22:51:10.310 W/InputMethodManagerService( 275): Got RemoteException sending setActive(false) notification to pid 816 uid 10043

Flags: needinfo?(matt.woodrow)

Comment 5

2 months ago
Backout by ncsoregi@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b86c8998a2b2
Backed out changeset 7c1fce459b7a for crashtest failures on 1458028.html. CLOSED TREE
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla68 → ---
Assignee

Updated

Last month
Flags: needinfo?(matt.woodrow)

Comment 6

Last month
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2c73bd0fae85
Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish

Comment 7

Last month
bugherder
Status: REOPENED → RESOLVED
Closed: 2 months agoLast month
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.