Closed Bug 1616373 Opened 6 years ago Closed 6 years ago

Intermittent text-shadow/text-shadow-selected-1.html == text-shadow/text-shadow-selected-1-ref.html | image comparison, max difference: 79, number of differing pixels: 3567

Categories

(Core :: Layout: Text and Fonts, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla75
Fission Milestone M6
Tracking Status
firefox75 --- fixed

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, regression, Whiteboard: [retriggered][stockwell disable-recommended])

Attachments

(2 files, 1 obsolete file)

Filed by: cbrindusan [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=289390631&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/bXLOtNI5R2S8s4cRXWUFeQ/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/bXLOtNI5R2S8s4cRXWUFeQ/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2020-02-18T19:53:43.857Z] 19:53:43 INFO - REFTEST TEST-START | layout/reftests/text-shadow/text-shadow-selected-1.html == layout/reftests/text-shadow/text-shadow-selected-1-ref.html
[task 2020-02-18T19:53:43.857Z] 19:53:43 INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-shadow/text-shadow-selected-1-ref.html | 25 / 32 (78%)
[task 2020-02-18T19:53:43.877Z] 19:53:43 INFO - [Child 14747, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 64
[task 2020-02-18T19:53:43.960Z] 19:53:43 INFO - REFTEST INFO | REFTEST fuzzy test (0, 0) <= (79, 3567) <= (1, 1000)
[task 2020-02-18T19:53:44.089Z] 19:53:44 INFO - REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/text-shadow/text-shadow-selected-1.html == layout/reftests/text-shadow/text-shadow-selected-1-ref.html | image comparison, max difference: 79, number of differing pixels: 3567

Range of retriggers:
https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=9b9642fe35393d217a9bf2d7d702b7f22e2502d3&tochange=e3aadf80c0997bbaf491f74b31089c40adec7f0c&fromchange=fcdecbc2aeae10123529fef4717a39ca7c5f729a&selectedJob=289390631

This is almost permafailing, :hsivonenen, can you please take a look if this starts from your push?
https://hg.mozilla.org/integration/autoland/rev/a80f94ffe7260e09532e37e79671a49cc1acb77b

Flags: needinfo?(hsivonen)

This test expects window.focus() to paint immediately. This probably isn't true anymore, and the test should account for an IPC round trip by removing reftest-wait via a timeout.

Flags: needinfo?(hsivonen)
Whiteboard: [retriggered]
Regressed by: 1556627
Has Regression Range: --- → yes
Keywords: regression
Assignee: nobody → hsivonen
Status: NEW → ASSIGNED
Attachment #9127774 - Attachment description: Bug 1616373 - Use reftest-wait for text-shadow-selected-1-ref.html. → Bug 1616373 - Use reftest-wait for text-shadow-selected-*.

Tracking reftest failures for Fission Nightly (M6)

Blocks: R-fis
Fission Milestone: --- → M6

The patch in bug 1615504 force ipc messages to be processed before taking the reftest snapshot by sending an empty message and waiting for a reply, so might fix this.

Ooh. layout/reftests/text-shadow/text-shadow-on-selection-1.html and layout/reftests/text-shadow/text-shadow-on-selection-2.html apparently fail to fire onfocus?

(In reply to Henri Sivonen (:hsivonen) from comment #9)

Ooh. layout/reftests/text-shadow/text-shadow-on-selection-1.html and layout/reftests/text-shadow/text-shadow-on-selection-2.html apparently fail to fire onfocus?

Does not appear to fail for me locally when running the test individually.

There are 88 failures in the last 2 days.
All of them on linux1804-64-qr

Flags: needinfo?(hsivonen)
Whiteboard: [retriggered] → [retriggered][stockwell needswork]

Henri, looks like the patch in comment 8 doesn't work.
This is now in disable recommended bug list with 156 total failures since it was filed 11 days ago: https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2020-02-12&endday=2020-02-29&tree=trunk&bug=1616373
There are 4 test failing here, so disabling them would a bit extreme:

  • /text-shadow-selected-1.html
  • /text-shadow-selected-2.html
  • /text-shadow-on-selection-1.html
  • /text-shadow-on-selection-2.html

Could you have another go at this? Thank you.

I think the reftest harness might be getting confused somehow. When this fails we only load the ref, and not the test.

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

I think the reftest harness might be getting confused somehow. When this fails we only load the ref, and not the test.

The reftest harness keeps some canvas's around indexed by the url and can re-use them if a url is re-used. This appears to be what is happening. So the harness isn't getting confused.

Kats, could you take a look over this since it only fails on linux webrender? Will update the disable patch in the meanwhile cause it fails really often.

Flags: needinfo?(kats)

(In reply to Cosmin Sabou [:CosminS] from comment #20)

Kats, could you take a look over this since it only fails on linux webrender? Will update the disable patch in the meanwhile cause it fails really often.

It only fails with fission, and I think we only run fission reftests on linux with webrender. My try pushes have plenty of failures without webrender (but with fission).

Per Timothy's comment it seems specific to fission, not webrender. Redirecting needinfo to :farre as this appears to be a harness problem (as opposed to a test-specific problem) with fission enabled.

Flags: needinfo?(kats) → needinfo?(afarre)

I'm not sure if this is a (reftest) harness problem because the test doesn't use anything that would be different with fission enabled: there are no iframes in the test so AFAICT the test should be the same in fission as it is in e10s mode. And bug 1556627 caused this failure, which did not touch the reftest harness.

Attachment #9130025 - Attachment description: Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on linux debug r?#intermittent-reviewers → Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on linux debug fission r=jmaher

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

I'm not sure if this is a (reftest) harness problem because the test doesn't use anything that would be different with fission enabled: there are no iframes in the test so AFAICT the test should be the same in fission as it is in e10s mode. And bug 1556627 caused this failure, which did not touch the reftest harness.

Ah, I see. At any rate, it looks like Henri anticipated fallout based on https://bugzilla.mozilla.org/show_bug.cgi?id=1556627#c208 (I didn't read the whole bug) and is aware of this bug. It's not WR specific so I don't think I have much to add here, and I'll clear the needinfo on :farre.

Flags: needinfo?(afarre)

I put printfs at all of the functions added in bug 1556627 in ContentParent/Child. In a passing run we get several calls to ContentParent::RecvSetFocusedBrowsingContext, in a failing run we do not get that (none of the aforementioned printfs are hit during these handful of reftests failing here). So seems like the problem lies with the focus handling somehow.

Attachment #9130025 - Attachment description: Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on linux debug fission r=jmaher → Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on fission. r=jmaher
Attachment #9130025 - Attachment description: Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on fission. r=jmaher → Bug 1616373 - disable text-shadow-*selected-1.html/selected-2.html/on-selection-1.html/on-selection-2.html on linux debug fission. r=jmaher

This is a straw man patch, it seems to fix the bug based on my debugging the problem, but I'm not sure if it's a good way to fix the problem.

My understanding of the problem is as follows. We create the main content document, first it is about:blank in content process A. When the bug happens The about:blank document has WindowRaised called on it and this makes it the active window, and then it tells the parent process that it is the active browsing context. When the bug doesn't happen this doesn't happen, perhaps because we navigate away from about:blank before it can happen.

The browsing context navigates to the new document and it gets moved (?) to a different content process. BrowsingContextGroup::EnsureSubscribed is called, if the parent process got told of the active document above then we call SendSetupFocusedAndActive. When the child recieves this it calls SetActiveBrowsingContextFromOtherProcess on the focus manager.

nsFocusManager::WindowRaised is called for the new document, we bail early because of this line

https://searchfox.org/mozilla-central/rev/d5b34cc8872177d3ee071e06f787c2a14268595b/dom/base/nsFocusManager.cpp#661

because we are the browsing context that was set from another process. And so we fail to make the Focus call at the end of that function. So mFocusedWindow remains null in the child process.

The nsFocusManager::WindowShown call that happens for every new document load thus does not do anything because this line

https://searchfox.org/mozilla-central/rev/d5b34cc8872177d3ee071e06f787c2a14268595b/dom/base/nsFocusManager.cpp#906

always fails because mFocusedWindow is null and it never changes.

Attachment #9130738 - Attachment description: Bug 1616373. Handle the browsing context housing the active window moving to a different content process. r?hsivonen → Bug 1616373. Handle the browsing context housing the active window moving to a different content process. r=hsivonen
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2b21fa5970ca Handle the browsing context housing the active window moving to a different content process. r=hsivonen
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75

Ah, sorry, I should have mentioned that I re-triggered many more times than that on try to verify before I even posted the patch here.

Attachment #9127774 - Attachment is obsolete: true
Blocks: 1618437
See Also: → 1618386
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: