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

Temporarily revert #3079 for a crash workaround. #3108

Merged
merged 4 commits into from Sep 23, 2018

Conversation

gw3583
Copy link
Contributor

@gw3583 gw3583 commented Sep 22, 2018

This change is Reviewable

@gw3583
Copy link
Contributor Author

gw3583 commented Sep 22, 2018

This is a temporary fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1493177.

r? @jrmuizel

@gw3583
Copy link
Contributor Author

gw3583 commented Sep 22, 2018

@gw3583
Copy link
Contributor Author

gw3583 commented Sep 22, 2018

@jrmuizel Try run looks good.

@jrmuizel
Copy link
Collaborator

@bors-servo r+

@bors-servo
Copy link
Contributor

📌 Commit 02a0607 has been approved by jrmuizel

@bors-servo
Copy link
Contributor

⌛ Testing commit 02a0607 with merge 4e7d0ed...

bors-servo pushed a commit that referenced this pull request Sep 23, 2018
Temporarily revert #3079 for a crash workaround.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3108)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: jrmuizel
Pushing 4e7d0ed to master...

@bors-servo bors-servo merged commit 02a0607 into servo:master Sep 23, 2018
bors-servo pushed a commit that referenced this pull request Sep 25, 2018
Store a queue of rasterized blobs instead for non-tiled images (take two)

The 3 commits from #3079 which were reverted in #3108 plus a commit that fixes the crash that motivated the backout.

Bugzilla entry: https://bugzilla.mozilla.org/show_bug.cgi?id=1493177

In the texture cache we have an automatic and a manual eviction policy. The manual eviction policy ensures blob images don't get automatically evicted from the cache which could otherwise race with the asynchronous rasterization. The Texture cache was missing a tiny piece of code to ensure the eviction policy was respected in for shared cache entries (it does work for normal cache entries). I bet border images make uses of these shared entries. While scrolling the image eventually gets discarded and next time we see it we request the image. The problem is that when we decide whether a blob image is missing, we only look at whether there is an entry in the rasterized_blob_image map, but we don't check whether that entry contains any actual data to upload in its queue.

Before the regressing commit, the bug would occur without crashing, but we wouldn't necessary upload all of the image (only the last available dirty region). With that commit we end up requesting something we think we have but don't have and later panic with an empty handed upload request.

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

Successfully merging this pull request may close these issues.

None yet

3 participants