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

Issue 607049 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 607048
Owner:
Long OOO (go/where-is-mgiuca)
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

virtual/gpu/fast/canvas/canvas-lost-gpu-context.html LayoutTest failing

Project Member Reported by mgiuca@chromium.org, Apr 27 2016

Issue description

Comment 1 by mgiuca@chromium.org, Apr 27 2016

The tests are failing with:

PASS contextLostTest is false
PASS ctx.isContextLost() is false
PASS ctx.isContextLost() is false
Aborting test: Graphics context loss did not destroy canvas contents. This is expected if canvas is not accelerated.
PASS successfullyParsed is true

TEST COMPLETE

All the builders are showing the same Aborting test message (which is not in the expected results).

Comment 2 by mgiuca@chromium.org, Apr 27 2016

Cc: danakj@chromium.org
Suspected CL: r389947 / https://codereview.chromium.org/1916303003
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2cc4cad984106eeb0309f2af08a35cad6c53a59f

commit 2cc4cad984106eeb0309f2af08a35cad6c53a59f
Author: mgiuca <mgiuca@chromium.org>
Date: Wed Apr 27 03:32:54 2016

Revert of Report lost context from GLES2Implementation based on share group state. (patchset #3 id:40001 of https://codereview.chromium.org/1916303003/ )

Reason for revert:
Seems to be crashing tests. See two attached bugs:

1. BrowserGpuChannelHostFactoryTest crashes in GPU-related code. DCHECK(IsContextLost(context_provider->ContextGL())) is failing in the second stack trace, which leads me to this CL.  https://crbug.com/607048 .
2. virtual/gpu/fast/canvas/canvas-lost-gpu-context.html LayoutTest is failing with "Graphics context loss did not destroy canvas contents." The mention of context loss also leads me to this CL.  https://crbug.com/607049 .

Speculatively reverting.

BUG= 607048 , 607049 

Original issue's description:
> Report lost context from GLES2Implementation based on share group state.
>
> When any context in a gles2::ShareGroup becomes lost, all contexts in
> the same group should report that they are lost immediately. This avoids
> races such as the following:
>
> IPC thread hears of the loss of Context 1 and 2.
> IPC thread posts to thread B for Context 1.
> Context 1 hears it is lost on thread B. Posts to thread A to recreate.
> IPC thread posts to thread A for Context 2.
> Context 1 is recreated on thread A. Puts itself in same share group as 2.
> Context 2 hears it is lost on thread A, makes a new share group.
>
> This can lead to racey cases where share groups get split apart.
>
> Resolve this by storing a |lost_| state on gles2::ShareGroup. When
> GLES2Implementation hears of OnGpuControlLostContext, it will set the
> lost state on the ShareGroup. Now glGetGraphicsResetStatusKHR() will
> return an error if the gles2::ShareGroup has been lost.
>
> We remove the GpuControl::IsChannelLost() method as this is now unused.
> The CmdBufferHelper::IsContextLost() is still needed for the
> QueryTracker, so insert a comment and a TODO explaining why and how
> it could be removed.
>
> R=piman, sievers
> BUG= 584497 
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel
>
> Committed: https://crrev.com/b1f17d6f3f988d7b190cab1147b1e20da0647a44
> Cr-Commit-Position: refs/heads/master@{#389947}

TBR=piman@chromium.org,sievers@chromium.org,fsamuel@google.com,sky@chromium.org,fsamuel@chromium.org,danakj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 584497 

Review URL: https://codereview.chromium.org/1919203003

Cr-Commit-Position: refs/heads/master@{#389980}

[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/components/mus/gles2/command_buffer_local.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/components/mus/gles2/command_buffer_local.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/gles2_implementation.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/query_tracker.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/share_group.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/client/share_group.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/service/in_process_command_buffer.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/service/in_process_command_buffer.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/gles2_conform_support/egl/display.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/gles2_conform_support/egl/display.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/mojo/gles2/command_buffer_client_impl.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/mojo/gles2/command_buffer_client_impl.h
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f/ppapi/proxy/ppapi_command_buffer_proxy.h

Comment 4 by mgiuca@chromium.org, Apr 27 2016

Mergedinto: 607048
Status: Duplicate (was: Available)
Seeing a lot of canvas lost issues on Linux and Mac. Duping them into the same bug.

Sign in to add a comment