Intermittent GECKO(1719) | Assertion failure: IsRootContentDocumentCrossProcess(), at /builds/worker/workspace/build/src/layout/base/nsPresContext.h:391
Categories
(Core :: Layout, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: hiro)
References
(Regression)
Details
(Keywords: intermittent-failure, regression)
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Filed by: dvarga [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=276217903&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/c1WX-tDXRXSXKcYD7b3Dcw/runs/0/artifacts/public/logs/live_backing.log
[task 2019-11-14T16:18:32.749Z] 16:18:32 INFO - TEST-START | dom/websocket/tests/test_webSocket_sandbox.html
[task 2019-11-14T16:18:33.662Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 9 (0x7ff23419cc00) [pid = 1966] [serial = 9] [outer = 0x7ff24dbf1a60]
[task 2019-11-14T16:18:33.724Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 10 (0x7ff2341a4800) [pid = 1966] [serial = 10] [outer = 0x7ff24dbf1a60]
[task 2019-11-14T16:18:33.739Z] 16:18:33 INFO - GECKO(1719) | ++DOCSHELL 0x7ff234178000 == 4 [pid = 1966] [id = {2c4d36f5-a245-404f-b6cc-a7bd8d9c0c4f}]
[task 2019-11-14T16:18:33.742Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 11 (0x7ff24dbf1c40) [pid = 1966] [serial = 11] [outer = (nil)]
[task 2019-11-14T16:18:33.742Z] 16:18:33 INFO - GECKO(1719) | [Child 1966, Main Thread] WARNING: '!topWindow', file /builds/worker/workspace/build/src/dom/html/HTMLIFrameElement.cpp, line 252
[task 2019-11-14T16:18:33.757Z] 16:18:33 INFO - GECKO(1719) | [Child 1966, Main Thread] WARNING: '!topWindow', file /builds/worker/workspace/build/src/dom/html/HTMLIFrameElement.cpp, line 252
[task 2019-11-14T16:18:33.758Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 12 (0x7ff232137400) [pid = 1966] [serial = 12] [outer = 0x7ff24dbf1c40]
[task 2019-11-14T16:18:33.774Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 13 (0x7ff232139400) [pid = 1966] [serial = 13] [outer = 0x7ff24dbf1c40]
[task 2019-11-14T16:18:33.789Z] 16:18:33 INFO - GECKO(1719) | [Child 1966, Main Thread] WARNING: 'aRv.Failed()', file /builds/worker/workspace/build/src/dom/websocket/WebSocket.cpp, line 1264
[task 2019-11-14T16:18:33.845Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 14 (0x7ff23213f400) [pid = 1966] [serial = 14] [outer = 0x7ff24dbf0f20]
[task 2019-11-14T16:18:33.861Z] 16:18:33 INFO - GECKO(1719) | ++DOCSHELL 0x7ff23417e000 == 5 [pid = 1966] [id = {45f8f48d-0a5b-428f-b8e7-bd933e16b901}]
[task 2019-11-14T16:18:33.862Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 15 (0x7ff23219f020) [pid = 1966] [serial = 15] [outer = (nil)]
[task 2019-11-14T16:18:33.863Z] 16:18:33 INFO - GECKO(1719) | [Child 1966, Main Thread] WARNING: '!topWindow', file /builds/worker/workspace/build/src/dom/html/HTMLIFrameElement.cpp, line 252
[task 2019-11-14T16:18:33.863Z] 16:18:33 INFO - GECKO(1719) | [Child 1966, Main Thread] WARNING: '!topWindow', file /builds/worker/workspace/build/src/dom/html/HTMLIFrameElement.cpp, line 252
[task 2019-11-14T16:18:33.865Z] 16:18:33 INFO - GECKO(1719) | ++DOMWINDOW == 16 (0x7ff232143000) [pid = 1966] [serial = 16] [outer = 0x7ff23219f020]
[task 2019-11-14T16:18:33.885Z] 16:18:33 INFO - GECKO(1719) | Assertion failure: IsRootContentDocumentCrossProcess(), at /builds/worker/workspace/build/src/layout/base/nsPresContext.h:391
[task 2019-11-14T16:18:56.590Z] 16:18:56 INFO - GECKO(1719) | #01: nsLayoutUtils::GetContentViewerSize(nsPresContext*, mozilla::gfx::IntSizeTyped<mozilla::LayoutDevicePixel>&) [layout/base/nsLayoutUtils.cpp:0]
[task 2019-11-14T16:18:56.590Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.590Z] 16:18:56 INFO - GECKO(1719) | #02: UpdateCompositionBoundsForRCDRSF(mozilla::gfx::RectTyped<mozilla::ParentLayerPixel, float>&, nsPresContext*, bool) [layout/base/nsLayoutUtils.cpp:8468]
[task 2019-11-14T16:18:56.591Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.595Z] 16:18:56 INFO - GECKO(1719) | #03: nsLayoutUtils::CalculateCompositionSizeForFrame(nsIFrame*, bool) [layout/base/nsLayoutUtils.cpp:8529]
[task 2019-11-14T16:18:56.595Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.595Z] 16:18:56 INFO - GECKO(1719) | #04: nsLayoutUtils::CalculateExpandedScrollableRect(nsIFrame*) [layout/base/nsLayoutUtils.cpp:8637]
[task 2019-11-14T16:18:56.595Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.596Z] 16:18:56 INFO - GECKO(1719) | #05: GetDisplayPortFromMarginsData(nsIContent*, mozilla::DisplayPortMarginsPropertyData*, float) [layout/base/nsLayoutUtils.cpp:813]
[task 2019-11-14T16:18:56.596Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.596Z] 16:18:56 INFO - GECKO(1719) | #06: GetDisplayPortImpl(nsIContent*, nsRect*, float, MaxSizeExceededBehaviour) [layout/base/nsLayoutUtils.cpp:0]
[task 2019-11-14T16:18:56.597Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.597Z] 16:18:56 INFO - GECKO(1719) | #07: nsLayoutUtils::GetDisplayPortForVisibilityTesting(nsIContent*, nsRect*, RelativeTo) [layout/base/nsLayoutUtils.cpp:1153]
[task 2019-11-14T16:18:56.597Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.598Z] 16:18:56 INFO - GECKO(1719) | #08: mozilla::PresShell::MarkFramesInSubtreeApproximatelyVisible(nsIFrame*, nsRect const&, bool) [layout/base/PresShell.cpp:5581]
[task 2019-11-14T16:18:56.598Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.599Z] 16:18:56 INFO - GECKO(1719) | #09: mozilla::PresShell::MarkFramesInSubtreeApproximatelyVisible(nsIFrame*, nsRect const&, bool) [layout/base/PresShell.cpp:0]
[task 2019-11-14T16:18:56.599Z] 16:18:56 INFO -
[task 2019-11-14T16:18:56.599Z] 16:18:56 INFO - GECKO(1719) | #10: mozilla::PresShell::RebuildApproximateFrameVisibility(nsRect*, bool) [layout/base/PresShell.cpp:5646]
Comment 1•5 years ago
|
||
This looks like the dynamic toolbar stuff Hiro has been working on.
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
yep, I think we mis-use top root content document check in CalculateCompositionSizeForFrame().
Comment 3•5 years ago
|
||
Not sure how we get from frame #01 to the assert failure but this call to IsRootContentDocument seems like it should be IsRootContentDocumentCrossProcess
Assignee | ||
Comment 4•5 years ago
|
||
(In reply to Timothy Nikkel (:tnikkel) from comment #3)
Not sure how we get from frame #01 to the assert failure
Me neither. I can't reproduce the assertion locally at all so far.
Assignee | ||
Comment 5•5 years ago
|
||
Oh I missed the assertion happened on mochitest-fission (I was just looking at Platform
which was linux64-qr
). Though I am still not able to reproduce the assertion, the test case in question actually has OOP iframes there, this is a test case that we need to take care of for fission.
I am going to simply replace IsRootContentDocument in nsLayoutUtils::CalculateCompositionSizeForFrame and IsRootContentDocument in nsLayoutUtils::ComputeScrollMetadata with IsRootContentDocumentCrossProcess.
There is another call site of UpdateCompositionBoundsForRCDRSF in nsLayoutUtils::CalculateRootCompositionSize, but it seems to me that it's not used in the case of the root? I am not sure, so I will defer the part to a later bug which should block bug 1562505.
Assignee | ||
Comment 6•5 years ago
|
||
Though there is another call site of UpdateCompositionBoundsForRCDRSF in
nsLayoutUtils::CalculateRootCompositionSize, it's not clear to me whether it is
necessary or not since we early return from the function in the case where
|aIsRootContentDocRootScrollFrame| argument is true. We will audit it later
in bug 1562505.
Comment 8•5 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Updated•3 years ago
|
Description
•