Hit-testing produces incorrect result with SVG over iframe element
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
People
(Reporter: yzen, Assigned: kats)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
(Whiteboard: [apz:fission:8:M])
Attachments
(3 files, 2 obsolete files)
+++ This bug was initially created as a clone of Bug #1625173 +++
This issue is related to having an SVG overlay in the parent process that is over the OOP iframe. SVG is in the iframe that has pointer-events: none; and the svg/path elements have pointer-events: none; as well. When trying to trigger mouse over events over the iframe, they end up firing in the top level content process.
Parent process display list dump: https://gist.github.com/yzen/5f12a99c50ea40f697b92a0c181e5b6a
Content process display list dump: https://gist.github.com/yzen/dd75854d4d833478e626d3503e9f2f37
Reporter | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Per discussion in #gfx it's not obvious why the events are being mistargeted. The iframe has pointer-events:none which means that the entire SVG subdocument has ForceEmptyHitRegion set (which we ignore on the APZ side, see bug 1566599) but also means that there are no CompositorHitTestInfo items generated for anything in the SVG subdocument. So I would expect the hit-test to find whatever is under the SVG, which would be the actual OOP iframe content. It's not clear to me why that's not happening, will have to investigate.
Reporter | ||
Comment 3•5 years ago
|
||
This is a Patch (https://phabricator.services.mozilla.com/D68427) that will display an issue when applied. The code in there is not really relevant, I believe, just has a new implementation of the parent process highlighting for devtools in fission.
STR:
- I usually test on this page: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
- Prefs I enable for testing: fission.autostart: true, gfx.webrender.all: true, devtools.contenttoolbox.fission: true, devtools.accessibility.use-new-highlighter: true
- Open developer tools and accessibility tab. This should trigger a drawing of the svg overlay over content.
- At this point mousemove events over IFRAME will only fire in top level content only.
Assignee | ||
Comment 4•5 years ago
|
||
Thanks for the STR. I'll park this with me while I do initial investigation.
Reporter | ||
Comment 5•5 years ago
|
||
Reporter | ||
Comment 6•5 years ago
|
||
This is a quick test case with an issue. It currently fails (times out) for both --enable-fission and --enable-fission + --enable-webrender.
The reason it fails (times out) for just --enable-fission is because I can't figure out why EventUtils.synthesizeMouseAtPoint is only triggering click in top level parent even though if I manually click on the iframe the test completes successfully. In case with --enable-webrender set as well, the test will time out regardless.
Assignee | ||
Comment 7•5 years ago
|
||
I'm pretty sure EventUtils.synthesizeMouseAtPoint
doesn't route the event through APZ. It just dispatches it to the gecko main-thread hit-testing code. You need to use one of the DOMWindowUtils.synthesizeNativeXXX
functions to have it synthesized at the widget level and go through APZ hit-testing.
Assignee | ||
Comment 8•5 years ago
|
||
Ah, if you set test.events.async.enabled
to true then it will dispatch via APZ: https://searchfox.org/mozilla-central/rev/8526066f548af9ec3ebb462ff73c47ccc183f533/dom/base/nsContentUtils.cpp#7952
Assignee | ||
Comment 9•5 years ago
|
||
Ok, I chased down the problem here. My expectation was that since the SVG had pointer-events:none
set on it, there would be no CompositorHitTestInfo
items generated inside it, and so it would effectively be invisible to the APZ+WR hit-test. This would then mean that the hit-test would fall on the underlying OOPIF, and everything would work.
The problem is that for some SVG elements, this code gets hit, and it does set some hit-test flags even inside the pointer-events:none
SVG, because it doesn't check for aBuilder->IsInsidePointerEventsNoneDoc()
like we do in the normal codepath.
So what happens is that some part of the SVG has an eIrregularArea
flag set on it with the parent process layers id which then ends up causing the APZ+WR hit-test to return the parent process layers id. Fixing either bug 1566599 or bug 1542020 would resolve this. Or we can also put in a local fix to check IsInsidePointerEventsNoneDoc()
which would solve this specific scenario but leave other scenarios unfixed. I tested this approach locally and it does seem to make the test pass.
Assignee | ||
Comment 10•5 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #9)
I tested this approach locally and it does seem to make the test pass.
Actually my fix didn't quite work, it seems that calling IsInsidePointerEventsNoneDoc()
at that location is not easy because for some reason we hit the assertion here. I don't think it's worth digging into that approach more than I already have since it seems like a bit of a hacky workaround when we'll need a proper fix for both of the other bugs anyway. So we might as well just do that.
Unassigning this for now but I'll pick up bug 1566599 as it shouldn't be too complicated to fix.
Assignee | ||
Comment 11•5 years ago
|
||
I wrote patches to fix bug 1566599 but they didn't fix this problem. I discovered a few additional things that would need to be changed (at least) to make those patches fix this bug too:
- The test sets
pointer-events:none
on the root<svg>
element, which is actually inside the subdocument. So it wouldn't set theForceEmptyHitRegion
flag on the SVG document anyway. - But even if move the
pointer-events
up to the enclosingiframe
element, the SVG is an in-process subdocument and not an OOP subdocument, so we usensDisplaySubdocument
instead ofnsDisplayRemote
and don't propagate theForceEmptyHitRegion
flag to APZ. - All of which is moot because the hit result from WR produces the root layers id and a
NULL_SCROLL_ID
scroll id, because there's no scrollable subframe on the path from the root to the SVG. So when APZ tries to find the correspondingHitTestingTreeNode
and check if there is aForceEmptyHitRegion
flag on it, it doesn't find any HTTN at all.
Also while digging around I discovered that nsDisplaySubDocument::ComputeScrollMetadata
is unused, and has been since bug 1577859. However I might need to start using it again to resolve one or more of the above issues so I'm not going to remove it just yet.
It's looking more and more like I should make sure the hit-test information emitted in the SVG grouping code in WebRenderCommandBuilder is correct.
Assignee | ||
Comment 12•5 years ago
|
||
With moar fixes yesterday I got it to the point where I think the APZ hit-test is producing the correct result on this testcase. However the listeners in the test are not actually firing, and I'm not sure why. I see the mousedown/mouseup listeners arriving in BrowserChild.cpp for what I think is the correct content process, but I haven't traced to see what's happening between that point and the event listeners that the test registers.
I'll post what I have so far as WIPs, the patches will be split across bug 1566599 and this bug. :yzen hopefully that will be enough to unblock you for now, as I don't want to land the patches without also writing some APZ tests for those codepaths.
For future reference, I'm running MOZ_LOG="apz.inputqueue:4,apz.inputstate:4,apz.manager:4,apz.child:4" ./mach mochitest --setpref test.events.async.enabled=true --enable-webrender --enable-fission devtools/client/accessibility/test/browser/browser_pointer_events.js
on this revision
Assignee | ||
Comment 13•5 years ago
|
||
Depends on D69203
Assignee | ||
Comment 14•5 years ago
|
||
Depends on D69204
Reporter | ||
Comment 15•5 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #12)
With moar fixes yesterday I got it to the point where I think the APZ hit-test is producing the correct result on this testcase. However the listeners in the test are not actually firing, and I'm not sure why. I see the mousedown/mouseup listeners arriving in BrowserChild.cpp for what I think is the correct content process, but I haven't traced to see what's happening between that point and the event listeners that the test registers.
I'll post what I have so far as WIPs, the patches will be split across bug 1566599 and this bug. :yzen hopefully that will be enough to unblock you for now, as I don't want to land the patches without also writing some APZ tests for those codepaths.
For future reference, I'm running
MOZ_LOG="apz.inputqueue:4,apz.inputstate:4,apz.manager:4,apz.child:4" ./mach mochitest --setpref test.events.async.enabled=true --enable-webrender --enable-fission devtools/client/accessibility/test/browser/browser_pointer_events.js
on this revision
Thanks! I was not sure as well why they do not get through in test, I have a feeling it has something to do with nsIDOMWindowUtils::sendMouseEvent not doing exactly the same thing as the real mouse event..
Assignee | ||
Comment 16•5 years ago
|
||
(In reply to Yura Zenevich [:yzen] from comment #15)
Thanks! I was not sure as well why they do not get through in test, I have a feeling it has something to do with nsIDOMWindowUtils::sendMouseEvent not doing exactly the same thing as the real mouse event..
That's possible, I haven't looked at those codepaths very carefully. I would recommend using the "native" variants of the DOMWindowUtils functions, see e.g. https://searchfox.org/mozilla-central/rev/fa2df28a49883612bd7af4dacd80cdfedcccd2f6/gfx/layers/apz/test/mochitest/apz_test_native_event_utils.js#519 which we use in APZ testing code. The intent of those functions is to simulate as closely as possible real user input, which will go through APZ hit-testing.
Reporter | ||
Comment 17•5 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #16)
(In reply to Yura Zenevich [:yzen] from comment #15)
Thanks! I was not sure as well why they do not get through in test, I have a feeling it has something to do with nsIDOMWindowUtils::sendMouseEvent not doing exactly the same thing as the real mouse event..
That's possible, I haven't looked at those codepaths very carefully. I would recommend using the "native" variants of the DOMWindowUtils functions, see e.g. https://searchfox.org/mozilla-central/rev/fa2df28a49883612bd7af4dacd80cdfedcccd2f6/gfx/layers/apz/test/mochitest/apz_test_native_event_utils.js#519 which we use in APZ testing code. The intent of those functions is to simulate as closely as possible real user input, which will go through APZ hit-testing.
OK, thanks, I'll try
Updated•5 years ago
|
Updated•5 years ago
|
Reporter | ||
Comment 18•5 years ago
|
||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 19•5 years ago
|
||
@kats, Thanks for the patches and sorry it took a little time for me to get back to them! I managed to get a test case that passes with the stack of patches and fails without. The interesting thing is that it might be passing without patches if the tests are run in headless mode..
I posted the test case above that is not in gfx module, let me know if there's anything I can do to make it more useful.
I also tried the patches together with the actual highlighter implementation where the issue was discovered and it looks like it's working well with pointer events getting through into the right frame! Thanks
Updated•5 years ago
|
Assignee | ||
Comment 20•5 years ago
|
||
I got the patches in bug 1566599 finalized and put them up for review. Once those land, I'll do the same for these patches. Parking bug with me for now.
Reporter | ||
Comment 21•5 years ago
|
||
I've moved the test to the end of the patch queue so they all can land together whenever that happens.
Assignee | ||
Comment 22•5 years ago
|
||
Thanks. Sorry for the delay here, turns out the patches here cause an existing APZ test to fail and I need to debug the failure to figure out what's going on.
Assignee | ||
Comment 23•5 years ago
|
||
The test case failure seems to have a similar root cause as bug 1625173 so we might have to fix that one first. The SVGOuterSVG element isn't getting a hit-test info due to taking the early-exit codepath here.
Assignee | ||
Comment 24•5 years ago
|
||
Turns out my patch had a small bug that was causing the test failure. After fixing it looks like the tests are green: https://treeherder.mozilla.org/#/jobs?repo=try&group_state=expanded&selectedJob=299048455&revision=5797717009b6bc3bd9a8b7f07dc10cc2976d1626
Comment 25•5 years ago
|
||
Comment 26•5 years ago
|
||
Backed out 3 changesets (Bug 1625249) for bc failures at browser_test_hittest_svg_over_iframe.js.
https://hg.mozilla.org/integration/autoland/rev/4631dfa1abbebce4b3fd806ae368c10ed2cb8a7a
Failure log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=299867784&repo=autoland&lineNumber=15410
Assignee | ||
Comment 27•5 years ago
|
||
Yura, looks like the test is failing when run in the M-fis
configuration (fission enabled by default, I guess?). And it seems to be failing because of a window leak. Do you have any ideas on what might be happening there?
I'm going to land the two patches for now and we can leave the bug open to fix the test.
Assignee | ||
Updated•5 years ago
|
Comment 28•5 years ago
|
||
Reporter | ||
Comment 30•5 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #29)
(for comment 27)
Yeah, I'll take a look and try to see if I can clean it up.
Comment 31•5 years ago
|
||
bugherder |
Reporter | ||
Comment 32•5 years ago
|
||
I'll take the bug, I guess to finish the test.
Reporter | ||
Comment 33•5 years ago
|
||
Assignee | ||
Comment 34•5 years ago
|
||
Using flags to track the fix patches (which landed in 77), not the test (which will probably land in 78, but I guess could be uplifted).
Reporter | ||
Comment 35•5 years ago
|
||
Reporter | ||
Updated•5 years ago
|
Comment 36•5 years ago
|
||
Comment 37•5 years ago
|
||
Comment 38•5 years ago
|
||
Backed out changeset 6e34a3e2c5c5 (bug 1625249) for browser_test_hittest_svg_over_iframe.js failures
Backout link: https://hg.mozilla.org/integration/autoland/rev/4d6584d65e8ac934bdb31e8afadf10549a8040fa
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=301113116&repo=autoland&lineNumber=20684
[task 2020-05-06T22:41:44.337Z] 22:41:44 INFO - TEST-START | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js
[task 2020-05-06T22:41:44.344Z] 22:41:44 INFO - GECKO(9633) | Chrome file doesn't exist: /builds/worker/workspace/build/tests/mochitest/browser/gfx/layers/apz/test/mochitest/head.js
[task 2020-05-06T22:41:44.393Z] 22:41:44 INFO - GECKO(9633) | [Child 10310: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7f0c7d693350) [pid = 10310] [serial = 1] [outer = (nil)] [url = https://example.com/browser/gfx/layers/apz/test/mochitest/helper_fission_empty.html]
[task 2020-05-06T22:41:44.394Z] 22:41:44 INFO - GECKO(9633) | [Child 10310: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f0c61f3a000) [pid = 10310] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:44.394Z] 22:41:44 INFO - GECKO(9633) | [Child 10310: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f0c61f44800) [pid = 10310] [serial = 3] [outer = (nil)] [url = https://example.com/browser/gfx/layers/apz/test/mochitest/helper_fission_empty.html]
[task 2020-05-06T22:41:44.394Z] 22:41:44 INFO - GECKO(9633) | [Child 10310, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2293
[task 2020-05-06T22:41:44.394Z] 22:41:44 INFO - GECKO(9633) | [Child 10310, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-05-06T22:41:44.394Z] 22:41:44 INFO - GECKO(9633) | [Child 10310, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (0x7fc3ad4dd9f0) [pid = 10283] [serial = 4] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7fc3c8293350) [pid = 10283] [serial = 1] [outer = (nil)] [url = http://mochi.test:8888/browser/gfx/layers/apz/test/mochitest/helper_fission_animation_styling_in_transformed_oopif.html]
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7fc3acbca800) [pid = 10283] [serial = 5] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7fc3b29b8800) [pid = 10283] [serial = 3] [outer = (nil)] [url = http://mochi.test:8888/browser/gfx/layers/apz/test/mochitest/helper_fission_animation_styling_in_transformed_oopif.html]
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2293
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2293
[task 2020-05-06T22:41:44.415Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-05-06T22:41:44.416Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-05-06T22:41:44.457Z] 22:41:44 INFO - GECKO(9633) | [Child 10310, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-05-06T22:41:44.457Z] 22:41:44 INFO - GECKO(9633) | [Child 10283, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-05-06T22:41:44.505Z] 22:41:44 INFO - GECKO(9633) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpYfgevm.mozrunner/runtests_leaks_tab_pid10337.log
[task 2020-05-06T22:41:44.505Z] 22:41:44 INFO - GECKO(9633) | [10337, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 225
[task 2020-05-06T22:41:44.581Z] 22:41:44 INFO - GECKO(9633) | [Parent 9633, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/generic/nsFrameSelection.cpp, line 1549
[task 2020-05-06T22:41:44.838Z] 22:41:44 INFO - GECKO(9633) | [Child 10337, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1669
[task 2020-05-06T22:41:44.838Z] 22:41:44 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb22a897800 == 1 [pid = 10337] [id = {301931b0-681e-4ba4-84e2-aa714bf6fcbb}]
[task 2020-05-06T22:41:44.854Z] 22:41:44 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7fb240093350) [pid = 10337] [serial = 1] [outer = (nil)]
[task 2020-05-06T22:41:44.855Z] 22:41:44 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7fb22a7b6000) [pid = 10337] [serial = 2] [outer = 0x7fb240093350]
[task 2020-05-06T22:41:44.998Z] 22:41:44 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7fb22a7be800) [pid = 10337] [serial = 3] [outer = 0x7fb240093350]
[task 2020-05-06T22:41:45.007Z] 22:41:45 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb22a7c1800 == 2 [pid = 10337] [id = {af69d156-14fe-4413-a277-4915aaa4ca3a}]
[task 2020-05-06T22:41:45.008Z] 22:41:45 INFO - GECKO(9633) | [Child 10337: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x7fb2252be9f0) [pid = 10337] [serial = 4] [outer = (nil)]
[task 2020-05-06T22:41:45.176Z] 22:41:45 INFO - GECKO(9633) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpYfgevm.mozrunner/runtests_leaks_tab_pid10364.log
[task 2020-05-06T22:41:45.177Z] 22:41:45 INFO - GECKO(9633) | [10364, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 225
[task 2020-05-06T22:41:45.204Z] 22:41:45 INFO - GECKO(9633) | [Child 10337, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp, line 591
[task 2020-05-06T22:41:45.261Z] 22:41:45 INFO - GECKO(9633) | [Child 10337, Main Thread] WARNING: NS_ENSURE_TRUE(currentInner) failed: file /builds/worker/checkouts/gecko/dom/base/WindowDestroyedEvent.cpp, line 106
...
[task 2020-05-06T22:41:45.573Z] 22:41:45 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fc39c297c00 == 8 [pid = 9633] [id = {2c8ea899-4382-48dc-917a-a2621b030583}]
[task 2020-05-06T22:41:45.573Z] 22:41:45 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 15 (0x7fc39d020430) [pid = 9633] [serial = 16] [outer = (nil)]
[task 2020-05-06T22:41:45.573Z] 22:41:45 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 16 (0x7fc39cf27c00) [pid = 9633] [serial = 17] [outer = 0x7fc39d020430]
[task 2020-05-06T22:41:45.770Z] 22:41:45 INFO - GECKO(9633) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpYfgevm.mozrunner/runtests_leaks_tab_pid10391.log
[task 2020-05-06T22:41:45.770Z] 22:41:45 INFO - GECKO(9633) | [10391, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 225
[task 2020-05-06T22:41:46.067Z] 22:41:46 INFO - GECKO(9633) | MEMORY STAT | vsize 3060MB | residentFast 353MB | heapAllocated 114MB
[task 2020-05-06T22:41:46.068Z] 22:41:46 INFO - TEST-OK | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js | took 1728ms
[task 2020-05-06T22:41:46.136Z] 22:41:46 INFO - checking window state
[task 2020-05-06T22:41:46.179Z] 22:41:46 INFO - GECKO(9633) | [Child 10391, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1669
[task 2020-05-06T22:41:46.187Z] 22:41:46 INFO - GECKO(9633) | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-05-06T22:41:46.204Z] 22:41:46 INFO - GECKO(9633) | [Child 10391: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f86dd1d4000 == 1 [pid = 10391] [id = {9f88f898-ab98-49c5-b93c-f40d81431d10}]
[task 2020-05-06T22:41:46.232Z] 22:41:46 INFO - GECKO(9633) | [Parent 9633, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/dom/base/nsFrameLoader.cpp, line 683
[task 2020-05-06T22:41:46.240Z] 22:41:46 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 17 (0x7fc39c298800) [pid = 9633] [serial = 18] [outer = 0x7fc3a77978c0]
...
[task 2020-05-06T22:41:51.056Z] 22:41:51 INFO - GECKO(9633) | Completed ShutdownLeaks collections in process 9757
[task 2020-05-06T22:41:51.514Z] 22:41:51 INFO - GECKO(9633) | Completed ShutdownLeaks collections in process 9868
[task 2020-05-06T22:41:51.675Z] 22:41:51 INFO - GECKO(9633) | Completed ShutdownLeaks collections in process 9773
[task 2020-05-06T22:41:52.114Z] 22:41:52 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (0x7fc39d6ad430) [pid = 9633] [serial = 12] [outer = (nil)] [url = chrome://browser/content/browser.xhtml]
[task 2020-05-06T22:41:52.116Z] 22:41:52 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (0x7fc3a515c800) [pid = 9633] [serial = 6] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:52.117Z] 22:41:52 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 11 (0x7fc39eaa7000) [pid = 9633] [serial = 13] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:52.743Z] 22:41:52 INFO - GECKO(9633) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpYfgevm.mozrunner/runtests_leaks_tab_pid10413.log
[task 2020-05-06T22:41:52.743Z] 22:41:52 INFO - GECKO(9633) | [10413, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 225
[task 2020-05-06T22:41:52.980Z] 22:41:52 INFO - GECKO(9633) | [Child 10413, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1669
[task 2020-05-06T22:41:55.254Z] 22:41:55 INFO - GECKO(9633) | [Parent 9633: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 10 (0x7fc39c298800) [pid = 9633] [serial = 18] [outer = (nil)] [url = about:blank]
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - GECKO(9633) | Completed ShutdownLeaks collections in process 9633
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - TEST-START | Shutdown
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - Browser Chrome Test Summary
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - Passed: 34
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - Failed: 0
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - Todo: 0
[task 2020-05-06T22:41:55.808Z] 22:41:55 INFO - Mode: e10s
[task 2020-05-06T22:41:55.809Z] 22:41:55 INFO - *** End BrowserChrome Test Results ***
[task 2020-05-06T22:41:56.381Z] 22:41:56 INFO - GECKO(9633) | [Parent 9633, Main Thread] WARNING: NS_ENSURE_TRUE(GetWrapper()) failed: file /builds/worker/checkouts/gecko/dom/ipc/JSActor.cpp, line 90
...
task 2020-05-06T22:41:58.765Z] 22:41:58 INFO - GECKO(9633) | [Parent 9633, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-05-06T22:41:58.837Z] 22:41:58 INFO - TEST-INFO | Main app process: exit 0
[task 2020-05-06T22:41:58.838Z] 22:41:58 INFO - TEST-INFO | Confirming we saw 46 DOCSHELL created and 46 destroyed log strings.
[task 2020-05-06T22:41:58.839Z] 22:41:58 INFO - TEST-INFO | Confirming we saw 121 DOMWINDOW created and 121 destroyed log strings.
[task 2020-05-06T22:41:58.840Z] 22:41:58 ERROR - TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js | leaked 1 window(s) until shutdown [url = data:text/html;charset=UTF-8,%3Ciframe%20title%3D%22OOP%20IFrame%22%20src%3D%22http%3A%2F%2Fexample.net%2Fdocument-builder.sjs%3Fhtml%3D%253Chtml%253E%250A%2B%2B%2B%2B%253Chead%253E%250A%2B%2B%2B%2B%2B%2B%253Cmeta%2Bcharset%253D%2522utf-8%2522%252F%253E%250A%2B%2B%2B%2B%2B%2B%253Ctitle%253EOOP%2BDocument%253C%252Ftitle%253E%250A%2B%2B%2B%2B%253C%252Fhead%253E%250A%2B%2B%2B%2B%253Cbody%253E%253C%252Fbody%253E%250A%2B%2B%253C%252Fhtml%253E%22%2F%3E]
[task 2020-05-06T22:41:58.841Z] 22:41:58 INFO - TEST-INFO | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js | windows(s) leaked: [pid = 10337] [serial = 1]
[task 2020-05-06T22:41:58.841Z] 22:41:58 INFO - TEST-INFO | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js | This test created 1 hidden window(s)
[task 2020-05-06T22:41:58.842Z] 22:41:58 INFO - TEST-INFO | gfx/layers/apz/test/mochitest/browser_test_hittest_svg_over_iframe.js | This test created 1 hidden docshell(s)
[task 2020-05-06T22:41:58.842Z] 22:41:58 INFO - TEST-INFO | gfx/layers/apz/test/mochitest/browser_test_group_fission.js | This test created 1 hidden window(s)
[task 2020-05-06T22:41:58.842Z] 22:41:58 INFO - TEST-INFO | gfx/layers/apz/test/mochitest/browser_test_group_fission.js | This test created 1 hidden docshell(s)
[task 2020-05-06T22:41:58.842Z] 22:41:58 INFO - runtests.py | Application ran for: 0:01:08.861910
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 39•5 years ago
|
||
Tentatively tracking APZ Fission bugs for Fission Beta milestone (M7).
Comment 40•4 years ago
|
||
Reporter | ||
Updated•4 years ago
|
Comment 41•4 years ago
|
||
Backed out changeset 37c23ef47c31 (bug 1625249) for Browser-chrome failures in browser_test_hittest_svg_over_iframe.js. CLOSED TREE\
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=311355518&repo=autoland&lineNumber=20064
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&revision=37c23ef47c31b60eb0f0d1d000af1d5d64fb333b
Backout:
https://hg.mozilla.org/integration/autoland/rev/4ec176bed5759fa653bd0f40c8af904e44666bfd
Comment 42•4 years ago
|
||
btw, we plan to allow Fission on macOS and Linux without WR (and may need to support Fission on Windows without WR), so we will want to test APZ bugs both with and without WR.
Assignee | ||
Comment 43•4 years ago
|
||
I filed bug 1675358 to get the test landed. I'm going to close this bug as the actual patches landed a long time ago.
Description
•