Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittent failure in /_mozilla/mozilla/css-paint-api/paint2d-image.html, /_mozilla/mozilla/css-paint-api/paint2d-filter.html #19631

Closed
jdm opened this issue Dec 22, 2017 · 6 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented Dec 22, 2017

  ▶ FAIL [expected PASS] /_mozilla/mozilla/css-paint-api/paint2d-image.html
  └   → /_mozilla/mozilla/css-paint-api/paint2d-image.html 23b755622cc81841a23cc8431a6546dfb1401c66
/_mozilla/mozilla/css-paint-api/paint2d-image-ref.html b6f7303d5c7a36e1f77eb50a273b11bf743a4dd2
Testing 23b755622cc81841a23cc8431a6546dfb1401c66 == b6f7303d5c7a36e1f77eb50a273b11bf743a4dd2

The testcase shows a blank page.

@asajeffrey
Copy link
Member

@asajeffrey asajeffrey commented Dec 23, 2017

Oh rats, is this caused by adding the timeout to paint worklets? It could be that the worklet isn't doing its job in the time allotted, which causes the failure. There easiest fix would be a parameter for how long to wait before timing out. There are probably better fixes though.
cc @yati-sagade

@yati-sagade
Copy link
Contributor

@yati-sagade yati-sagade commented Dec 23, 2017

++ for injecting the expected timeout when requesting a paint.

I wonder though what happens to the 60fps requirement in this case. When a paint2d thread takes too long to paint an image, increasing the timeout to > 16ms will waste work, right?

@jdm jdm changed the title Intermittent failure in /_mozilla/mozilla/css-paint-api/paint2d-image.html Intermittent failure in /_mozilla/mozilla/css-paint-api/paint2d-image.html, /_mozilla/mozilla/css-paint-api/paint2d-filter.html Jan 3, 2018
@asajeffrey
Copy link
Member

@asajeffrey asajeffrey commented Jan 5, 2018

[Back from winter break, catching up on backlog...]

@yati-sagade yes, I'd expect large timeout values only to be used for things like wpt testcases.

@yati-sagade
Copy link
Contributor

@yati-sagade yati-sagade commented Jan 5, 2018

I see, then probably the timeout can be bumped for particular tests using the pref dom.worklet.timeout_ms?

@asajeffrey
Copy link
Member

@asajeffrey asajeffrey commented Jan 5, 2018

Indeed.

yati-sagade added a commit to yati-sagade/servo that referenced this issue Jan 5, 2018
Fixes servo#19631

Since the addition of timeouts to paint worklets, CSS paint API threads
were failing intermittently because of the timeouts being fired. This is
because the timeouts are quite tight, to account for the 60fps
requirement. Bumping up the timeout threshold for these tests alone is
the easiest solution.
@yati-sagade
Copy link
Contributor

@yati-sagade yati-sagade commented Jan 5, 2018

@asajeffrey that seems to work ^^

bors-servo added a commit that referenced this issue Jan 5, 2018
CSS Paint API: Use a high timeout for worklet threads in tests

Fixes #19631

Since the addition of timeouts to paint worklets, CSS paint API threads
were failing intermittently because of the timeouts being fired. This is
because the timeouts are quite tight, to account for the 60fps
requirement. Bumping up the timeout threshold for these tests alone is
the easiest solution.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this changes config for a test.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19702)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants
You can’t perform that action at this time.