Closed Bug 1582653 Opened 5 years ago Closed 4 years ago

Intermittent GECKO(1974) | Assertion failure: presShell, at /builds/worker/workspace/build/src/layout/painting/RetainedDisplayListBuilder.cpp:319

Categories

(Core :: Web Painting, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox-esr68 --- unaffected
firefox73 --- disabled
firefox74 --- disabled
firefox75 --- disabled
firefox76 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: tnikkel)

References

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: apavel [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=267579581&repo=mozilla-central
Full log: https://queue.taskcluster.net/v1/task/GA3-ULUrQo6bRnzNJFtG-A/runs/0/artifacts/public/logs/live_backing.log


[task 2019-09-20T04:42:08.829Z] 04:42:08 INFO - TEST-START | js/xpconnect/tests/mochitest/test_bug802557.html
[task 2019-09-20T04:42:08.857Z] 04:42:08 INFO - GECKO(1974) | [Parent 1974, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp, line 4494
[task 2019-09-20T04:42:08.959Z] 04:42:08 INFO - GECKO(1974) | ++DOMWINDOW == 17 (0x7f55ac724800) [pid = 2149] [serial = 124] [outer = 0x7f55ad4c96a0]
[task 2019-09-20T04:42:08.959Z] 04:42:08 INFO - GECKO(1974) | --DOCSHELL 0x7f7f9dfb9000 == 0 [pid = 2387] [id = {2869df0e-d3a5-4205-a8f4-30c06897b62d}] [url = http://test1.example.com/]
[task 2019-09-20T04:42:09.057Z] 04:42:09 INFO - GECKO(1974) | --DOCSHELL 0x7f55ace1f000 == 3 [pid = 2149] [id = {ad3966b5-cc80-455a-b3d8-31448e62db8b}] [url = about:blank]
[task 2019-09-20T04:42:09.058Z] 04:42:09 INFO - GECKO(1974) | --DOCSHELL 0x7f55ac742000 == 2 [pid = 2149] [id = {e4cebaea-61cd-4e1c-b394-488c9cbf4cfb}] [url = http://mochi.test:8888/tests/js/xpconnect/tests/mochitest/file_empty.html]
[task 2019-09-20T04:42:09.058Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 16 (0x7f55ac730400) [pid = 2149] [serial = 112] [outer = (nil)] [url = http://mochi.test:8888/tests/js/xpconnect/tests/mochitest/test_bug790732.html]
[task 2019-09-20T04:42:09.059Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 15 (0x7f55ac726000) [pid = 2149] [serial = 108] [outer = (nil)] [url = http://mochi.test:8888/tests/js/xpconnect/tests/mochitest/test_bug789713.html]
[task 2019-09-20T04:42:09.059Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 14 (0x7f55ac777c00) [pid = 2149] [serial = 115] [outer = (nil)] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
[task 2019-09-20T04:42:09.059Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 13 (0x7f55ac75f400) [pid = 2149] [serial = 114] [outer = (nil)] [url = about:blank]
[task 2019-09-20T04:42:09.059Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 12 (0x7f55ac567000) [pid = 2149] [serial = 111] [outer = (nil)] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
[task 2019-09-20T04:42:09.059Z] 04:42:09 INFO - GECKO(1974) | [Parent 1974, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp, line 4494
[task 2019-09-20T04:42:09.085Z] 04:42:09 INFO - GECKO(1974) | ++DOCSHELL 0x7f55ac753800 == 3 [pid = 2149] [id = {ba98785a-9ace-4d48-86b4-9d8b9200dfd6}]
[task 2019-09-20T04:42:09.085Z] 04:42:09 INFO - GECKO(1974) | ++DOMWINDOW == 13 (0x7f55ac8f6020) [pid = 2149] [serial = 125] [outer = (nil)]
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.101Z] 04:42:09 INFO - GECKO(1974) | [GPU 2007, Compositor] WARNING: bad Shmem: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 440
[task 2019-09-20T04:42:09.108Z] 04:42:09 INFO - GECKO(1974) | ++DOMWINDOW == 14 (0x7f55ac727400) [pid = 2149] [serial = 126] [outer = 0x7f55ac8f6020]
[task 2019-09-20T04:42:09.136Z] 04:42:09 INFO - GECKO(1974) | ++DOCSHELL 0x7f55ac744800 == 4 [pid = 2149] [id = {087077fa-b421-4f3d-abe0-e84863eee89b}]
[task 2019-09-20T04:42:09.136Z] 04:42:09 INFO - GECKO(1974) | ++DOMWINDOW == 15 (0x7f55ac8f65c0) [pid = 2149] [serial = 127] [outer = (nil)]
[task 2019-09-20T04:42:09.144Z] 04:42:09 INFO - GECKO(1974) | ++DOMWINDOW == 16 (0x7f55ac731000) [pid = 2149] [serial = 128] [outer = 0x7f55ac8f65c0]
[task 2019-09-20T04:42:09.220Z] 04:42:09 INFO - GECKO(1974) | [Child 2149, Main Thread] WARNING: CompleteRedirectSetup failed, HttpChannelChild already open?: file /builds/worker/workspace/build/src/netwerk/protocol/http/HttpChannelChild.cpp, line 2125
[task 2019-09-20T04:42:09.236Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 2 (0x7f7fb79edf20) [pid = 2387] [serial = 1] [outer = (nil)] [url = http://test1.example.com/]
[task 2019-09-20T04:42:09.236Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 1 (0x7f7f9df23c00) [pid = 2387] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2019-09-20T04:42:09.238Z] 04:42:09 INFO - GECKO(1974) | --DOMWINDOW == 0 (0x7f7f9e9a2400) [pid = 2387] [serial = 3] [outer = (nil)] [url = http://test1.example.com/]
[task 2019-09-20T04:42:09.306Z] 04:42:09 INFO - GECKO(1974) | [Child 2387, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3361
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | nsStringStats
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mAllocCount: 7401
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mReallocCount: 0
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mFreeCount: 7401
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mShareCount: 5918
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mAdoptCount: 395
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => mAdoptFreeCount: 399
[task 2019-09-20T04:42:09.363Z] 04:42:09 INFO - GECKO(1974) | => Process ID: 2387, Thread ID: 140186540459840
[task 2019-09-20T04:42:09.383Z] 04:42:09 INFO - GECKO(1974) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpyCz2uH.mozrunner/runtests_leaks_tab_pid2413.log
[task 2019-09-20T04:42:09.386Z] 04:42:09 INFO - GECKO(1974) | Assertion failure: presShell, at /builds/worker/workspace/build/src/layout/painting/RetainedDisplayListBuilder.cpp:319
[task 2019-09-20T04:42:30.734Z] 04:42:30 INFO - GECKO(1974) | #01: RetainedDisplayListBuilder::PreProcessDisplayList(RetainedDisplayList*, AnimatedGeometryRoot*, PartialUpdateResult&, nsIFrame*, unsigned int, unsigned int, bool) [layout/painting/RetainedDisplayListBuilder.cpp:296]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #02: RetainedDisplayListBuilder::PreProcessDisplayList(RetainedDisplayList*, AnimatedGeometryRoot*, PartialUpdateResult&, nsIFrame*, unsigned int, unsigned int, bool) [layout/painting/RetainedDisplayListBuilder.cpp:259]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #03: RetainedDisplayListBuilder::AttemptPartialUpdate(unsigned int, mozilla::DisplayListChecker*) [layout/painting/RetainedDisplayListBuilder.cpp:1455]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #04: nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) [layout/base/nsLayoutUtils.cpp:0]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #05: mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) [layout/base/PresShell.cpp:6075]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #06: nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) [gfx/src/nsRegion.h:478]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #07: nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) [mfbt/RefPtr.h:78]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #08: nsViewManager::ProcessPendingUpdates() [view/nsViewManager.cpp:1020]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #09: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:2141]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #10: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) [layout/base/nsRefreshDriver.cpp:344]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #11: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:369]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #12: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:729]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #13: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) [layout/base/nsRefreshDriver.cpp:623]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #14: mozilla::layout::VsyncChild::RecvNotify(mozilla::VsyncEvent const&) [layout/ipc/VsyncChild.cpp:68]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #15: mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources:40b57a5f11db1f2975fc13c74f20fea3c72418dd5cc7be16b1724f135b6995163d22588c816f1fb7f6cdadad80e8ed2fcea1ccf234f0788643e6a5e4e1859c1e/ipc/ipdl/PVsyncChild.cpp::187]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO - GECKO(1974) | #16: mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources:c0d67aa6b0d1bd009979f78a4f136dcbe8ea38fbbdc0af3c954f7bf8c3243ed3cd36fce2e8798cd323ebb90df69ec84eede57fb34708be84d3a96417c19b5aeb/ipc/ipdl/PBackgroundChild.cpp::5759]
[task 2019-09-20T04:42:30.735Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.736Z] 04:42:30 INFO - GECKO(1974) | #17: mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) [ipc/glue/MessageChannel.cpp:2186]
[task 2019-09-20T04:42:30.736Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.737Z] 04:42:30 INFO - GECKO(1974) | #18: mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) [ipc/glue/MessageChannel.cpp:2112]
[task 2019-09-20T04:42:30.737Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.738Z] 04:42:30 INFO - GECKO(1974) | #19: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) [ipc/glue/MessageChannel.cpp:0]
[task 2019-09-20T04:42:30.738Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.740Z] 04:42:30 INFO - GECKO(1974) | #20: mozilla::ipc::MessageChannel::MessageTask::Run() [ipc/glue/MessageChannel.cpp:1987]
[task 2019-09-20T04:42:30.741Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.741Z] 04:42:30 INFO - GECKO(1974) | #21: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1214]
[task 2019-09-20T04:42:30.742Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.743Z] 04:42:30 INFO - GECKO(1974) | #22: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:486]
[task 2019-09-20T04:42:30.743Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.744Z] 04:42:30 INFO - GECKO(1974) | #23: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:88]
[task 2019-09-20T04:42:30.744Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.745Z] 04:42:30 INFO - GECKO(1974) | #24: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
[task 2019-09-20T04:42:30.745Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.746Z] 04:42:30 INFO - GECKO(1974) | #25: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
[task 2019-09-20T04:42:30.746Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.747Z] 04:42:30 INFO - GECKO(1974) | #26: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2019-09-20T04:42:30.747Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.748Z] 04:42:30 INFO - GECKO(1974) | #27: XRE_RunAppShell() [toolkit/xre/nsEmbedFunctions.cpp:934]
[task 2019-09-20T04:42:30.748Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.749Z] 04:42:30 INFO - GECKO(1974) | #28: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:238]
[task 2019-09-20T04:42:30.749Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.750Z] 04:42:30 INFO - GECKO(1974) | #29: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
[task 2019-09-20T04:42:30.750Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.751Z] 04:42:30 INFO - GECKO(1974) | #30: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
[task 2019-09-20T04:42:30.751Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.752Z] 04:42:30 INFO - GECKO(1974) | #31: XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/nsEmbedFunctions.cpp:769]
[task 2019-09-20T04:42:30.753Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.929Z] 04:42:30 INFO - GECKO(1974) | #32: content_process_main(mozilla::Bootstrap*, int, char**) [ipc/contentproc/plugin-container.cpp:57]
[task 2019-09-20T04:42:30.930Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.931Z] 04:42:30 INFO - GECKO(1974) | #33: main [browser/app/nsBrowserApp.cpp:272]
[task 2019-09-20T04:42:30.931Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.932Z] 04:42:30 INFO - GECKO(1974) | #34: libc.so.6 + 0x20830
[task 2019-09-20T04:42:30.932Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.933Z] 04:42:30 INFO - GECKO(1974) | #35: _start
[task 2019-09-20T04:42:30.933Z] 04:42:30 INFO -
[task 2019-09-20T04:42:30.934Z] 04:42:30 INFO - GECKO(1974) | [Parent 1974, Gecko_IOThread] WARNING: pipe error (147): Connection reset by peer: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[task 2019-09-20T04:42:30.934Z] 04:42:30 INFO - GECKO(1974) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x59001B,name=PHttpChannel::Msg_DeleteSelf) Channel error: cannot send/recv
[task 2019-09-20T04:42:30.935Z] 04:42:30 INFO - GECKO(1974) | [Parent 1974, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 481
[task 2019-09-20T04:42:30.936Z] 04:42:30 INFO - GECKO(1974) | [Parent 1974, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 481
[task 2019-09-20T04:42:30.937Z] 04:42:30 INFO - GECKO(1974) | ++DOCSHELL 0x7f778e902800 == 6 [pid = 1974] [id = {109f9349-5656-4f28-8c53-b729faf79a19}]
[task 2019-09-20T04:42:30.937Z] 04:42:30 INFO - GECKO(1974) | ++DOMWINDOW == 11 (0x7f778de294c0) [pid = 1974] [serial = 13] [outer = (nil)]
[task 2019-09-20T04:42:30.938Z] 04:42:30 INFO - GECKO(1974) | ++DOMWINDOW == 12 (0x7f778e0b9000) [pid = 1974] [serial = 14] [outer = 0x7f778de294c0]
[task 2019-09-20T04:42:30.938Z] 04:42:30 INFO - GECKO(1974) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2019-09-20T04:42:30.938Z] 04:42:30 ERROR - GECKO(1974) | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down

Things learned from these new failures:
failures are all on linux64-qr
failures are all in mochitest-fis-e10s

There seems to be two failure modes: one in mochitest-fis-e10s-1, one in mochitest-fis-e10s-13.

The mochitest-fis-e10s-1 failure is usually (always?) in docshell/test/mochitest/test_triggeringprincipal_location_seturi.html
This failure usually (always?) hits this warning

https://searchfox.org/mozilla-central/rev/6866d3a650c826f1cabd123663e84b95ee743701/docshell/base/nsDocShell.cpp#12240

and then this warning

https://searchfox.org/mozilla-central/rev/6866d3a650c826f1cabd123663e84b95ee743701/layout/base/nsDocumentViewer.cpp#2496

So this seems like the frame tree is in an unexpected state.

The mochitest-fis-e10s-13 failure is usually (always?) in js/xpconnect/tests/mochitest/test_bug802557.html
Neither of the above warnings are printed in the log ever. So this seems like it could be a different failure mode.

(In reply to Timothy Nikkel (:tnikkel) from comment #5)

The mochitest-fis-e10s-1 failure is usually (always?) in docshell/test/mochitest/test_triggeringprincipal_location_seturi.html
This failure usually (always?) hits this warning

https://searchfox.org/mozilla-central/rev/6866d3a650c826f1cabd123663e84b95ee743701/docshell/base/nsDocShell.cpp#12240

and then this warning

https://searchfox.org/mozilla-central/rev/6866d3a650c826f1cabd123663e84b95ee743701/layout/base/nsDocumentViewer.cpp#2496

So this seems like the frame tree is in an unexpected state.

Those warnings trigger in the passing case too. But still likely a clue. Perhaps we change frame types without an invalidation and that causes it?

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE

One other instance that didn't get linked to this bug because there were other failures that were fixed by another commit, just for my reference to possibly look at later
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=6d283db170d7709593d9a72e257e92a4d75e7361&selectedJob=285337422

All the failures this year have been right after loading layout/reftests/bugs/474472-1.html.

Blocks: 1579621

This started showing up again as bug 1579621 (in opt builds, so we don't hit the assert in the bug title). It showed up in parser/htmlparser/tests/crashtests/515533-1.html and layout/reftests/bugs/474472-1.html on one of my try pushes. I created 100 different copies of those tests and ran it on try, reproduces almost every time. And even more so it reproduces on my local linux box.

parser/htmlparser/tests/crashtests/515533-1.html is pretty simple, it contains an iframe to a local file (so it's a same process iframe). The document in the iframe has an inline script that does

window.location.replace("data:text/plain,");

since crashtests have the pref browser.tabs.remote.dataUriInDefaultWebProcess set (to get more testing of fission) this makes the iframe now in a different process from it's parent.

When the bug happens we create the retained nsDisplaySubDocument before the process change, the document inside the iframe has a presshell, and importantly, it does not yet have a root frame. The remoteness change happens on the iframe, ResetFrameLoader is called on the subdocument frame to remove the old frame loader. So now the subdocument frame can't find a presshell (either via views or the frameloader).

The reason the iframe not having a root frame when the nsDisplaySubDocument is created is important because if we had a root frame then the root frame would be the mFrame of the nsDisplaySubDocument and when the root frame got destroyed for the remoteness change that make sure that the nsDisplaySubDocument cannot be re-used. The nsSubDocumentFrame sticks around though, so the nsDisplaySubDocument doesn't think anything changed.

parser/htmlparser/tests/crashtests/515533-1.html most cleanly creates this crash if you repeat it many times.

It contains an iframe to a local file (so it's a same process iframe). The document in the iframe has an inline script that does

window.location.replace("data:text/plain,");

since crashtests have the pref browser.tabs.remote.dataUriInDefaultWebProcess set (to get more testing of fission) this makes the iframe now in a different process from it's parent.

When the bug happens we create the retained nsDisplaySubDocument before the process change, the document inside the iframe has a presshell, and importantly, it does not yet have a root frame. Then the remoteness change happens on the iframe, ResetFrameLoader is called on the nsSubDocumentFrame to remove the old frame loader. So now the nsSubDocumentFrame can't find a presshell (either via views or the frameloader).

The reason that the document in the iframe not having a root frame when the nsDisplaySubDocument is created is important is because if we had a root frame then the root frame would be the mFrame of the nsDisplaySubDocument and when the root frame got destroyed for the remoteness change that frame destruction would make sure that the nsDisplaySubDocument cannot be re-used. The nsSubDocumentFrame sticks around though, so the nsDisplaySubDocument doesn't think anything changed.

Assignee: nobody → tnikkel
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/693b8a034a9b
Need to clear any associated display items of a nsSubDocumentFrame when the frame loader changes. r=mattwoodrow
Status: REOPENED → RESOLVED
Closed: 5 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: