Closed Bug 1454835 Opened 7 years ago Closed 6 years ago

Intermittent /css/css-shapes/spec-examples/shape-outside-012.html | CSS Test: Shape from image - shape-image-threshold - 0.9 - uncaught exception: Error: assert_unreached: Giving up waiting for shape layout to happen! Reached unreachable code

Categories

(Core :: CSS Parsing and Computation, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

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

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Filed by: ncsoregi [at] mozilla.com https://treeherder.mozilla.org/logviewer.html#?job_id=174183338&repo=autoland https://queue.taskcluster.net/v1/task/fDicUb-DQ-iQWDO9S9nBcQ/runs/0/artifacts/public/logs/live_backing.log [task 2018-04-17T20:13:13.892Z] 20:13:13 INFO - TEST-START | /css/css-shapes/spec-examples/shape-outside-012.html [task 2018-04-17T20:13:14.219Z] 20:13:14 INFO - PID 6894 | ERROR 2018-04-17T20:13:14Z: webrender::display_list_flattener: Unknown pipeline used for iframe IframeDisplayItem { clip_id: Clip(4, PipelineId(1, 1)), pipeline_id: PipelineId(1, 5) } [task 2018-04-17T20:13:14.479Z] 20:13:14 INFO - PID 6894 | ++DOCSHELL 0x7fd2dca35800 == 5 [pid = 6959] [id = {b5a3031d-c716-4cb6-b94e-bd239240c2f4}] [task 2018-04-17T20:13:14.481Z] 20:13:14 INFO - PID 6894 | ++DOMWINDOW == 13 (0x7fd2dd4b2c00) [pid = 6959] [serial = 14] [outer = (nil)] [task 2018-04-17T20:13:14.580Z] 20:13:14 INFO - PID 6894 | ++DOMWINDOW == 14 (0x7fd2dd4b7400) [pid = 6959] [serial = 15] [outer = 0x7fd2dd4b2c00] [task 2018-04-17T20:13:14.702Z] 20:13:14 INFO - PID 6894 | --DOCSHELL 0x7f1dbdf74000 == 3 [pid = 6894] [id = {c84de5ad-bef4-416f-916a-c9931a9003b7}] [task 2018-04-17T20:13:14.867Z] 20:13:14 INFO - PID 6894 | ++DOMWINDOW == 15 (0x7fd2dd4b7000) [pid = 6959] [serial = 16] [outer = 0x7fd2dd4b2c00] [task 2018-04-17T20:13:14.985Z] 20:13:14 INFO - PID 6894 | ERROR 2018-04-17T20:13:14Z: webrender::display_list_flattener: Unknown pipeline used for iframe IframeDisplayItem { clip_id: Clip(4, PipelineId(1, 1)), pipeline_id: PipelineId(1, 6) } [task 2018-04-17T20:13:15.074Z] 20:13:15 INFO - PID 6894 | ERROR 2018-04-17T20:13:15Z: webrender::display_list_flattener: Unknown pipeline used for iframe IframeDisplayItem { clip_id: Clip(4, PipelineId(1, 1)), pipeline_id: PipelineId(1, 6) } [task 2018-04-17T20:13:15.143Z] 20:13:15 INFO - PID 6894 | --DOCSHELL 0x7fd2e8091000 == 4 [pid = 6959] [id = {779ae39b-5947-40b9-b918-819143ccba2e}] [task 2018-04-17T20:13:16.773Z] 20:13:16 INFO - PID 6894 | JavaScript error: , line 0: uncaught exception: Error: assert_unreached: Giving up waiting for shape layout to happen! Reached unreachable code [task 2018-04-17T20:13:16.953Z] 20:13:16 INFO - PID 6894 | [Parent 6894, Main Thread] WARNING: NS_ENSURE_TRUE(aSecondURI) failed: file /builds/worker/workspace/build/src/dom/base/ThirdPartyUtil.cpp, line 98 [task 2018-04-17T20:13:17.040Z] 20:13:17 INFO - [task 2018-04-17T20:13:17.041Z] 20:13:17 INFO - TEST-UNEXPECTED-FAIL | /css/css-shapes/spec-examples/shape-outside-012.html | CSS Test: Shape from image - shape-image-threshold - 0.9 - uncaught exception: Error: assert_unreached: Giving up waiting for shape layout to happen! Reached unreachable code
Flags: needinfo?(bwerth)
This test, and several others in the directory seem to use a race condition to check float positions, instead of waiting for the document onload event to fire: https://searchfox.org/mozilla-central/source/testing/web-platform/tests/css/css-shapes/spec-examples/support/spec-example-utils.js. I'll change these tests to wait for the onload event, and then they'll work at least as consistently as the other shape-outside tests.
Assignee: nobody → bwerth
The proposed patches are correct and necessary, but there is a root cause issue in the platform that also must be resolved. Bug 1454694 is tracking that root cause, and will block this bug.
Depends on: 1454694
Depends on: 1457532
No longer depends on: 1454694
Flags: needinfo?(bwerth)
Attachment #8969120 - Flags: review?(dholbert)
Comment on attachment 8969120 [details] Bug 1454835: Remove racy-ness from some shape-outside web-platform tests. https://reviewboard.mozilla.org/r/237828/#review250806 r=me, though since this is a shared test not authored by us, I'm going to bikeshed the commit-message language a bit, in the interests of making sure the reason for the change is extra-clear to third parties if/when they sync it back upstream & into their repos. ::: commit-message-4af4a:3 (Diff revision 3) > +These tests rely on a race condition to wait for shape-outside layout to > +complete. This change makes those tests instead trigger on the onload event. It > +also removes the race code and replaces it with an assert. Nit #1: It doesn't quite make sense to say that tests "rely on a race condition". To my eye, that literally means the tests rely on nondeterminism (i.e. rely on *the fact that something is nondeterministic*) in order to pass. And that's not what you mean to say. Nit #2: "removes the race code" is a bit vague RE whether it's talking about the code-with-a-racy-dependency vs. the hackaround for the race (you mean the latter but it sounds like the former). Here's some suggested replacement text that's a bit more direct/clear, I think (feel free to edit/reword as you like - this is just what I came up with): ========== "Without this change, these tests have no guarantee about whether the rendering will be complete by the time the test's JS fires. Up until now, the tests worked around this issue with a hacky setTimeout loop. This patch addresses the race condition (and removes the workaround for it) by making the test JS fire from the body's load event, at which point the layout should be complete & reliably testable."
Attachment #8969120 - Flags: review?(dholbert) → review+
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/927fe2d0a4b9 Remove racy-ness from some shape-outside web-platform tests. r=dholbert
Created web-platform-tests PR https://github.com/w3c/web-platform-tests/pull/11061 for changes under testing/web-platform/tests
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: