Closed Bug 1528225 Opened 5 years ago Closed 5 years ago

Intermittent /css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html | Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html ==

Categories

(Core :: Graphics: WebRender, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- fixed

People

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

References

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

#[markdown(off)]
Filed by: aciure [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=228639243&repo=mozilla-inbound

https://queue.taskcluster.net/v1/task/D42y2mgyTlm7vY_kXlJX6g/runs/0/artifacts/public/logs/live_backing.log

https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://queue.taskcluster.net/v1/task/D42y2mgyTlm7vY_kXlJX6g/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1

12:23:57 INFO - TEST-START | /css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html
12:23:57 INFO - PID 5676 | 1550233437147 Marionette INFO Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html == http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001-ref.html
12:23:57 INFO - PID 5676 | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2381: TypeError: tabbrowser.getTabForBrowser is not a function
12:23:57 INFO - PID 5676 | ++DOMWINDOW == 257 (0000026B283A4C00) [pid = 8560] [serial = 551] [outer = 0000026B1D82D400]
12:23:57 INFO - PID 5676 | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2381: TypeError: tabbrowser.getTabForBrowser is not a function
12:23:57 INFO - PID 5676 | ++DOMWINDOW == 258 (0000026B285F5000) [pid = 8560] [serial = 552] [outer = 0000026B1D82D400]
12:23:57 INFO - PID 5676 | [Child 8560, Main Thread] WARNING: Listener is not retargetable: file z:/build/build/src/netwerk/protocol/http/HttpChannelChild.cpp, line 3436
12:23:57 INFO - PID 5676 | 1550233437475 Marionette INFO No differences allowed
12:23:57 INFO - PID 5676 | 1550233437476 Marionette INFO Found 155 pixels different, maximum difference per channel 26
12:23:57 INFO - TEST-UNEXPECTED-FAIL | /css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html | Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html == http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001-ref.html
12:23:57 INFO - TEST-INFO took 377ms
12:23:57 INFO - PID 5676 | [GPU 9076, Compositor] WARNING: Possibly dropping task posted to updater thread: file z:/build/build/src/gfx/layers/apz/src/APZUpdater.cpp, line 370
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Child 8560, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Child 8560, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Child 8560, Main Thread] WARNING: Finishing incremental GC in progress during CC: file z:/build/build/src/xpcom/base/nsCycleCollector.cpp, line 3296
12:23:57 INFO - PID 5676 | 1550233437634 Marionette INFO Stopped listening on port 2828
12:23:57 INFO - PID 5676 | [Parent 7012, Main Thread] WARNING: '!mSelection', file z:/build/build/src/editor/libeditor/EditorBase.cpp, line 4836
12:23:57 INFO - PID 5676 | [Parent 7012, Main Thread] WARNING: '!editActionData.CanHandle()', file z:/build/build/src/editor/libeditor/EditorBase.cpp, line 1263
12:23:57 INFO - PID 5676 | [GPU 9076, Compositor] WARNING: Possibly dropping task posted to updater thread: file z:/build/build/src/gfx/layers/apz/src/APZUpdater.cpp, line 370
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Child 11608, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Child 11608, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [Parent 7012, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | [GPU 9076, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
12:23:57 INFO - PID 5676 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

This is on WebRender, BTW. Reclassifying since I'm pretty sure this is a WebRender bug. (Read on for why.)

If you zoom in on the screenshots, you can see that the pixels are blurred/fuzzy along the edges between the blocks of color, throughout the testcase (and they're blurred slightly differently between testcase vs. reference case at the bottom, which is where the mismatch is happening that cause the failure).

Really, all of the blurring is bogus - the testcase has image-rendering: -moz-crisp-edges, which should prevent that blurring from happening.

But it does seem to be happening, and it's happening slightly nondeterministically (or at least, differently between testcase vs. reference case). So, this seems like an image-scaling bug, and probably a bug in WebRender since this was a QuantumRender testrun.

Component: CSS Parsing and Computation → Graphics: WebRender

Oh, sorry -- this is actually in the WPT reimport of this test, which uses the standard CSS image-rendering: pixelated rather than -moz-crisp-edges, and we don't support that pixelated value yet.

So, it's expected/correct that the pixels along the edges are fuzzy.

Having said that, we should probably still be doing downscaling of the same image deterministically, I'd think (we should blur the same amount). The test is just comparing embed vs background-image, with the same image at the same size + position for each.

So the mismatch at the bottom of this test is still probably unexpected, though maybe not too concerning given that it's not really a user-perceivable difference.

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

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

[task 2019-07-09T17:26:48.011Z] 17:26:48 INFO - TEST-START | /css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html
[task 2019-07-09T17:26:48.643Z] 17:26:48 INFO - TEST-UNEXPECTED-FAIL | /css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html | Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html == http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001-ref.html
[task 2019-07-09T17:26:48.643Z] 17:26:48 INFO - REFTEST IMAGE 1 (TEST): data:image/png;base64,[...snipped by dholbert for brevity...]
[task 2019-07-09T17:26:48.643Z] 17:26:48 INFO - REFTEST IMAGE 2 (REFERENCE): data:image/png;base64,[...snipped by dholbert for brevity...]
[task 2019-07-09T17:26:48.643Z] 17:26:48 INFO - TEST-INFO took 621ms

Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

Comment 8 is on Android, FWIW, whereas previous failures were on WebRender. So this new issue may be slightly different, but related.

If I'm reading the logcat log correctly, this test-failure has:

Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001e.html == http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/images3/object-fit-contain-png-001-ref.html
[...]
INFO	No differences allowed
INFO	Found 23 pixels different, maximum difference per channel 26

The pixels are all along the edges between colors, which have some color-rounding as noted in comment 2, and it's not surprising that the color blending may be slightly nondeterministic (particularly when there's image-scaling going on). I think we can just add a fuzzy annotation here.

side note: the failure in comment 6 was also a not-webrender configuration, but that one seems to have been a super-busted testrun -- huge chunks of many tests (including this one) simply did not render at all there. So that one wasn't really this bug either... I'm guessing it was caused by a broken patch that landed & was later backed out, or perhaps bad hardware.)

Not sure if I should bother with review for this annotation, but might as well. Maja, I hope you don't mind if I tag you to review - thanks!

(In reply to Daniel Holbert [:dholbert] from comment #12)

Not sure if I should bother with review for this annotation, but might as well. Maja, I hope you don't mind if I tag you to review - thanks!

Happy to review as you see fit. :) You can also push to inbound with a=testonly if you think no review is needed.

Also: really great to see these test failures being investigated. I read the bug comments with glee.

Pushed by mjzffr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/7e437d2cc193
Add fuzzy annotation for Android fuzzy-failure of web-platform-test object-fit-contain-png-001e.html.ini. r=maja_zf
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Assignee: nobody → dholbert
Flags: needinfo?(dholbert)

That failure has:

Found 23 pixels different, maximum difference per channel 26

...which is precisely what this bug's annotation allowed.

Ah, it looks like this bug's fuzzy annotation was stomped on with a more-severe "fails" annotation in bug 1559276 (as a temporary measure while we waited for changes to be synchronized around), and then that fails annotation was entirely removed in Bug 1567435. So now the test is left without any annotation at all. (It does have a stub .ini file that doesn't do anything.)

I'm cleaning up this stub .ini file (and related ones) in bug 1569263 -- I'll add a second patch there to restore files like this one for fuzzy annotations that we do in fact need.

Flags: needinfo?(dholbert)

In the meantime, I suppose we can reopen this bug and star failures here. I anticipate we'll be able to mark this as "fixed" when bug 1569263 is closed out.

Status: RESOLVED → REOPENED
Depends on: 1569263
Resolution: FIXED → ---

Thank you.

Sure, thanks for the heads up!

Bug 1569263's patches have now hit central, so this should be fixed again.

Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: