New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 898166 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

OffscreenCanvas-backed canvas elements eventually "blank out"

Project Member Reported by tabatkins@google.com, Oct 23

Issue description

Chrome Version       : 70.0.3538.69
OS Version: 11021.51.0
URLs (if applicable) : https://www.xanthir.com/etc/jpg/offscreen.html
Other browsers tested: didn't test other browsers

What steps will reproduce the problem?
1. Load up the page at the URL.
2. Confirm that the three images get rendered.
3. Background the tab for a while, doing other things for several minutes, then return to the tab.

What is the expected result?
The canvases continue to show what they were left at.

What happens instead of that?
The canvases eventually turn back to fully transparent.

I'm not sure exactly how long you have to wait to reproduce this, but it's happened repeatedly and consistently, to the point where I simple *cannot use* OffscreenCanvas because I can't rely on it.

UserAgentString: Mozilla/5.0 (X11; CrOS x86_64 11021.51.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.69 Safari/537.36



 
Huh, I can consistently cause it to happen just by Ctrl-T/Ctrl-W a few times. They clear one-by-one; it's not perfectly deterministic, as sometimes it happens immediately, sometimes I have to open/close a tab several times before it starts, but it definitely happens pretty quickly and repeatedly.
Labels: -Pri-3 Pri-1
Owner: fs...@chromium.org
Status: Started (was: Untriaged)
Cc: fsam...@chromium.org sadrul@chromium.org
Components: Internals>Services>Viz
Just to keep this place updated too:
Seems like CompositorFrameSinks get destroyed after the images are rendered. This marks their surfaces as evicted. Once the top level renderer gets evicted too the images are destroyed.
Keeping their CompositorFrameSink alive should solve this problem.

Comment 5 Deleted

Comment 6 Deleted

Comment 7 Deleted

Comment 8 Deleted

Labels: -Pri-1 Pri-2
I've been working on a solution for this, but since the latest versions of ToT, I haven't been able to repro anymore, due to changes in V8's GC of worker threads.
 Pinging here in case anyone got a consistent repro.

Sign in to add a comment