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

Issue 861956 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Crash inside GrGLProgramBuilder::finalize during context lost tests

Project Member Reported by kbr@chromium.org, Jul 9

Issue description

Have seen a couple of failures of GpuCrash_GPUProcessCrashesExactlyOncePerVisitToAboutGpuCrash on the Mac GPU ASAN bot recently:

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20GPU%20ASAN%20Release/1341
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20GPU%20ASAN%20Release/1340

At least in this build, there is evidence of an assertion failure inside GrGLProgramBuilder::finalize because of the crash of the GPU process and attendant context loss:

https://chromium-swarm.appspot.com/task?id=3e9843d1a5181410&refresh=10&show_raw=1

  Thread 21 (crashed)
   0  libsystem_kernel.dylib + 0x19d42
      rax = 0x0000000000000000   rdx = 0x0000000000000000
      rcx = 0x00007000104ae538   rbx = 0x0000000000000006
      rsi = 0x0000000000000006   rdi = 0x000000000000a903
      rbp = 0x00007000104ae560   rsp = 0x00007000104ae538
       r8 = 0x0000000000000000    r9 = 0x0000000000989680
      r10 = 0x0000000008000000   r11 = 0x0000000000000206
      r12 = 0x0000000000000000   r13 = 0x00007000104ae600
      r14 = 0x00007000104b6000   r15 = 0x0000000000000000
      rip = 0x00007fff9dbd9d42
      Found by: given as instruction pointer in context
   1  libsystem_c.dylib + 0x5f4bb
      rbp = 0x00007000104ae590   rsp = 0x00007000104ae570
      rip = 0x00007fff9db3f4bb
      Found by: previous frame's frame pointer
   2  libsystem_c.dylib + 0x5f42f
      rbp = 0x00007000104ae5c0   rsp = 0x00007000104ae5a0
      rip = 0x00007fff9db3f42f
      Found by: previous frame's frame pointer
   3  Chromium Framework!__Z17sk_abort_no_printv + 0xe
      rbp = 0x00007000104ae5d0   rsp = 0x00007000104ae5d0
      rip = 0x000000011b36232e
      Found by: previous frame's frame pointer
   4  Chromium Framework!__ZN18GrGLProgramBuilder8finalizeEv + 0x2309
      rbp = 0x00007000104ae970   rsp = 0x00007000104ae5e0
      rip = 0x000000011b879d29
      Found by: previous frame's frame pointer
   5  Chromium Framework!__ZN18GrGLProgramBuilder13CreateProgramERK20GrPrimitiveProcessorRK10GrPipelineP13GrProgramDescP7GrGLGpu + 0x51c
      rbp = 0x00007000104afa10   rsp = 0x00007000104ae980
      rip = 0x000000011b8777cc
      Found by: previous frame's frame pointer
   6  Chromium Framework!__ZN7GrGLGpu12ProgramCache10refProgramEPKS_RK20GrPrimitiveProcessorRK10GrPipelineb + 0x67e
      rbp = 0x00007000104afc10   rsp = 0x00007000104afa20
      rip = 0x000000011b84640e
      Found by: previous frame's frame pointer
   7  Chromium Framework!__ZN7GrGLGpu12flushGLStateERK20GrPrimitiveProcessorRK10GrPipelinePKNS3_17FixedDynamicStateEb + 0x120
      rbp = 0x00007000104afe10   rsp = 0x00007000104afc20
      rip = 0x000000011b819f30
      Found by: previous frame's frame pointer
   8  Chromium Framework!__ZN7GrGLGpu4drawERK20GrPrimitiveProcessorRK10GrPipelinePKNS3_17FixedDynamicStateEPKNS3_18DynamicStateArraysEPK6GrMeshi + 0x204
      rbp = 0x00007000104aff90   rsp = 0x00007000104afe20
      rip = 0x000000011b827594
      Found by: previous frame's frame pointer
   9  Chromium Framework!__ZN20GrGpuRTCommandBuffer4drawERK20GrPrimitiveProcessorRK10GrPipelinePKNS3_17FixedDynamicStateEPKNS3_18DynamicStateArraysEPK6GrMeshiRK6SkRect + 0x5d4
      rbp = 0x00007000104b0020   rsp = 0x00007000104affa0
      rip = 0x000000011b4b2f24
      Found by: previous frame's frame pointer


Is there any way these assertions could be relaxed to better handle context loss? In the meantime I'm going to mark this test flaky on this bot.

 
Cc: jmad...@chromium.org
Suppressing this flake in https://chromium-review.googlesource.com/1130507 .

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 10

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

commit c1a0930e1d2478845da5fad1bed7ba4e2f2aa261
Author: Kenneth Russell <kbr@chromium.org>
Date: Tue Jul 10 01:12:54 2018

Mark a context_lost test flaky on Mac ASAN.

GpuCrash_GPUProcessCrashesExactlyOncePerVisitToAboutGpuCrash
occasionally crashes the renderer process while navigating to
about:gpucrash. The test's main tab appears to crash too.

Required passing an --is-asan argument to the test, similarly to the
WebGL conformance tests.

Bug:  861956 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic18876e88a0d99c9152be1a67599f2cae3cd4881
Tbr: jmadill@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1130507
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573577}
[modify] https://crrev.com/c1a0930e1d2478845da5fad1bed7ba4e2f2aa261/content/test/gpu/gpu_tests/context_lost_expectations.py
[modify] https://crrev.com/c1a0930e1d2478845da5fad1bed7ba4e2f2aa261/content/test/gpu/gpu_tests/context_lost_integration_test.py
[modify] https://crrev.com/c1a0930e1d2478845da5fad1bed7ba4e2f2aa261/testing/buildbot/chromium.gpu.fyi.json
[modify] https://crrev.com/c1a0930e1d2478845da5fad1bed7ba4e2f2aa261/testing/buildbot/test_suite_exceptions.pyl

Cc: kbr@chromium.org
 Issue 863627  has been merged into this issue.
In  Issue 863627 , seen flaky on mac_chromium_rel_ng as well. From this run:

https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/93473

and this Swarming shard:

https://chromium-swarm.appspot.com/task?id=3eab47822fa74f10&refresh=10&show_raw=1

we see the following stack trace.

I'll mark this as flaky on Mac in general. Brian, Ethan, do you think it'd be possible to cooperatively return an error code rather than crashing if context loss happens at this place in Ganesh?


[25349:44035:0713/000830.438221:INFO:GrGLProgramBuilder.cpp(371)] Program linking failed.

[25349:44035:0713/000830.438259:INFO:GrGLProgramBuilder.cpp(295)] VS:

[25349:44035:0713/000830.438402:INFO:GrGLShaderStringBuilder.cpp(38)] SKSL:

[25349:44035:0713/000830.438439:INFO:GrGLShaderStringBuilder.cpp(38)]    1	#version 100

[25349:44035:0713/000830.438459:INFO:GrGLShaderStringBuilder.cpp(38)]    2	uniform float4 sk_RTAdjust;

[25349:44035:0713/000830.438474:INFO:GrGLShaderStringBuilder.cpp(38)]    3	uniform float2 uAtlasSizeInv_Stage0;

[25349:44035:0713/000830.438488:INFO:GrGLShaderStringBuilder.cpp(38)]    4	in float2 inPosition;

[25349:44035:0713/000830.438502:INFO:GrGLShaderStringBuilder.cpp(38)]    5	in half4 inColor;

[25349:44035:0713/000830.438516:INFO:GrGLShaderStringBuilder.cpp(38)]    6	in float2 inTextureCoords;

[25349:44035:0713/000830.438529:INFO:GrGLShaderStringBuilder.cpp(38)]    7	out float2 vTextureCoords_Stage0;

[25349:44035:0713/000830.438547:INFO:GrGLShaderStringBuilder.cpp(38)]    8	out float vTexIndex_Stage0;

[25349:44035:0713/000830.438560:INFO:GrGLShaderStringBuilder.cpp(38)]    9	out half4 vinColor_Stage0;

[25349:44035:0713/000830.438573:INFO:GrGLShaderStringBuilder.cpp(38)]   10	void main() 

[25349:44035:0713/000830.438589:INFO:GrGLShaderStringBuilder.cpp(38)]   11	{

[25349:44035:0713/000830.438605:INFO:GrGLShaderStringBuilder.cpp(38)]   12		// Primitive Processor Texture

[25349:44035:0713/000830.438619:INFO:GrGLShaderStringBuilder.cpp(38)]   13		float2 indexTexCoords = float2(inTextureCoords.x, inTextureCoords.y);

[25349:44035:0713/000830.438632:INFO:GrGLShaderStringBuilder.cpp(38)]   14		float2 unormTexCoords = floor(0.5*indexTexCoords);

[25349:44035:0713/000830.438646:INFO:GrGLShaderStringBuilder.cpp(38)]   15		float2 diff = indexTexCoords - 2.0*unormTexCoords;

[25349:44035:0713/000830.438659:INFO:GrGLShaderStringBuilder.cpp(38)]   16		float texIdx = 2.0*diff.x + diff.y;

[25349:44035:0713/000830.438673:INFO:GrGLShaderStringBuilder.cpp(38)]   17		vTextureCoords_Stage0 = unormTexCoords * uAtlasSizeInv_Stage0;

[25349:44035:0713/000830.438687:INFO:GrGLShaderStringBuilder.cpp(38)]   18		vTexIndex_Stage0 = texIdx;

[25349:44035:0713/000830.438700:INFO:GrGLShaderStringBuilder.cpp(38)]   19		vinColor_Stage0 = inColor;

[25349:44035:0713/000830.438716:INFO:GrGLShaderStringBuilder.cpp(38)]   20		sk_Position = float4(inPosition.x , inPosition.y, 0, 1);

[25349:44035:0713/000830.438731:INFO:GrGLShaderStringBuilder.cpp(38)]   21	}

[25349:44035:0713/000830.438747:INFO:GrGLShaderStringBuilder.cpp(38)]   22	

[25349:44035:0713/000830.439301:INFO:GrGLShaderStringBuilder.cpp(47)] GLSL:

[25349:44035:0713/000830.439332:INFO:GrGLShaderStringBuilder.cpp(47)]    1	#version 100

[25349:44035:0713/000830.439346:INFO:GrGLShaderStringBuilder.cpp(47)]    2	

[25349:44035:0713/000830.439360:INFO:GrGLShaderStringBuilder.cpp(47)]    3	precision mediump float;

[25349:44035:0713/000830.439374:INFO:GrGLShaderStringBuilder.cpp(47)]    4	uniform highp vec4 sk_RTAdjust;

[25349:44035:0713/000830.439388:INFO:GrGLShaderStringBuilder.cpp(47)]    5	uniform highp vec2 uAtlasSizeInv_Stage0;

[25349:44035:0713/000830.439404:INFO:GrGLShaderStringBuilder.cpp(47)]    6	attribute highp vec2 inPosition;

[25349:44035:0713/000830.439436:INFO:GrGLShaderStringBuilder.cpp(47)]    7	attribute mediump vec4 inColor;

[25349:44035:0713/000830.439450:INFO:GrGLShaderStringBuilder.cpp(47)]    8	attribute highp vec2 inTextureCoords;

[25349:44035:0713/000830.439464:INFO:GrGLShaderStringBuilder.cpp(47)]    9	varying highp vec2 vTextureCoords_Stage0;

[25349:44035:0713/000830.439477:INFO:GrGLShaderStringBuilder.cpp(47)]   10	varying highp float vTexIndex_Stage0;

[25349:44035:0713/000830.439536:INFO:GrGLShaderStringBuilder.cpp(47)]   11	varying mediump vec4 vinColor_Stage0;

[25349:44035:0713/000830.439565:INFO:GrGLShaderStringBuilder.cpp(47)]   12	void main() {

[25349:44035:0713/000830.439579:INFO:GrGLShaderStringBuilder.cpp(47)]   13	    highp vec2 indexTexCoords = vec2(inTextureCoords.x, inTextureCoords.y);

[25349:44035:0713/000830.439593:INFO:GrGLShaderStringBuilder.cpp(47)]   14	    highp vec2 unormTexCoords = floor(0.5 * indexTexCoords);

[25349:44035:0713/000830.439607:INFO:GrGLShaderStringBuilder.cpp(47)]   15	    highp vec2 diff = indexTexCoords - 2.0 * unormTexCoords;

[25349:44035:0713/000830.439620:INFO:GrGLShaderStringBuilder.cpp(47)]   16	    highp float texIdx = 2.0 * diff.x + diff.y;

[25349:44035:0713/000830.439634:INFO:GrGLShaderStringBuilder.cpp(47)]   17	    vTextureCoords_Stage0 = unormTexCoords * uAtlasSizeInv_Stage0;

[25349:44035:0713/000830.439647:INFO:GrGLShaderStringBuilder.cpp(47)]   18	    vTexIndex_Stage0 = texIdx;

[25349:44035:0713/000830.439661:INFO:GrGLShaderStringBuilder.cpp(47)]   19	    vinColor_Stage0 = inColor;

[25349:44035:0713/000830.439674:INFO:GrGLShaderStringBuilder.cpp(47)]   20	    gl_Position = vec4(inPosition.x, inPosition.y, 0.0, 1.0);

[25349:44035:0713/000830.439687:INFO:GrGLShaderStringBuilder.cpp(47)]   21	    gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w);

[25349:44035:0713/000830.439707:INFO:GrGLShaderStringBuilder.cpp(47)]   22	}

[25349:44035:0713/000830.439720:INFO:GrGLShaderStringBuilder.cpp(47)]   23	

[25349:44035:0713/000830.439739:INFO:GrGLProgramBuilder.cpp(305)] 
FS:

[25349:44035:0713/000830.439926:INFO:GrGLShaderStringBuilder.cpp(38)] SKSL:

[25349:44035:0713/000830.439960:INFO:GrGLShaderStringBuilder.cpp(38)]    1	#version 100

[25349:44035:0713/000830.439974:INFO:GrGLShaderStringBuilder.cpp(38)]    2	uniform half4 uscaleAndTranslate_Stage1;

[25349:44035:0713/000830.439988:INFO:GrGLShaderStringBuilder.cpp(38)]    3	uniform half4 uTexDom_Stage1;

[25349:44035:0713/000830.440001:INFO:GrGLShaderStringBuilder.cpp(38)]    4	uniform lowp sampler2D uTextureSampler_0_Stage0;

[25349:44035:0713/000830.440014:INFO:GrGLShaderStringBuilder.cpp(38)]    5	uniform lowp sampler2D uTextureSampler_0_Stage1;

[25349:44035:0713/000830.440028:INFO:GrGLShaderStringBuilder.cpp(38)]    6	in float2 vTextureCoords_Stage0;

[25349:44035:0713/000830.440041:INFO:GrGLShaderStringBuilder.cpp(38)]    7	in float vTexIndex_Stage0;

[25349:44035:0713/000830.440054:INFO:GrGLShaderStringBuilder.cpp(38)]    8	in half4 vinColor_Stage0;

[25349:44035:0713/000830.440067:INFO:GrGLShaderStringBuilder.cpp(38)]    9	void main() 

[25349:44035:0713/000830.440080:INFO:GrGLShaderStringBuilder.cpp(38)]   10	{

[25349:44035:0713/000830.440092:INFO:GrGLShaderStringBuilder.cpp(38)]   11		half4 outputColor_Stage0;

[25349:44035:0713/000830.440105:INFO:GrGLShaderStringBuilder.cpp(38)]   12		half4 outputCoverage_Stage0;

[25349:44035:0713/000830.440118:INFO:GrGLShaderStringBuilder.cpp(38)]   13		{

[25349:44035:0713/000830.440131:INFO:GrGLShaderStringBuilder.cpp(38)]   14			// Stage 0, Texture

[25349:44035:0713/000830.440145:INFO:GrGLShaderStringBuilder.cpp(38)]   15			outputColor_Stage0 = vinColor_Stage0;

[25349:44035:0713/000830.440158:INFO:GrGLShaderStringBuilder.cpp(38)]   16			half4 texColor;

[25349:44035:0713/000830.440171:INFO:GrGLShaderStringBuilder.cpp(38)]   17			{

[25349:44035:0713/000830.440184:INFO:GrGLShaderStringBuilder.cpp(38)]   18				texColor = texture(uTextureSampler_0_Stage0, vTextureCoords_Stage0).rrrr;

[25349:44035:0713/000830.440197:INFO:GrGLShaderStringBuilder.cpp(38)]   19			}

[25349:44035:0713/000830.440210:INFO:GrGLShaderStringBuilder.cpp(38)]   20			outputCoverage_Stage0 = texColor;

[25349:44035:0713/000830.440223:INFO:GrGLShaderStringBuilder.cpp(38)]   21		}

[25349:44035:0713/000830.440246:INFO:GrGLShaderStringBuilder.cpp(38)]   22		half4 output_Stage1;

[25349:44035:0713/000830.440260:INFO:GrGLShaderStringBuilder.cpp(38)]   23		{

[25349:44035:0713/000830.440273:INFO:GrGLShaderStringBuilder.cpp(38)]   24			// Stage 1, GrDeviceSpaceTextureDecalFragmentProcessor

[25349:44035:0713/000830.440287:INFO:GrGLShaderStringBuilder.cpp(38)]   25			half2 coords = sk_FragCoord.xy * uscaleAndTranslate_Stage1.xy + uscaleAndTranslate_Stage1.zw;

[25349:44035:0713/000830.440300:INFO:GrGLShaderStringBuilder.cpp(38)]   26			{

[25349:44035:0713/000830.440313:INFO:GrGLShaderStringBuilder.cpp(38)]   27				bool4 outside;

[25349:44035:0713/000830.440326:INFO:GrGLShaderStringBuilder.cpp(38)]   28				outside.xy = lessThan(coords, uTexDom_Stage1.xy);

[25349:44035:0713/000830.440339:INFO:GrGLShaderStringBuilder.cpp(38)]   29				outside.zw = greaterThan(coords, uTexDom_Stage1.zw);

[25349:44035:0713/000830.440352:INFO:GrGLShaderStringBuilder.cpp(38)]   30				output_Stage1 = any(outside) ? half4(0.0, 0.0, 0.0, 0.0) : texture(uTextureSampler_0_Stage1, coords).rrrr * outputCoverage_Stage0;

[25349:44035:0713/000830.440367:INFO:GrGLShaderStringBuilder.cpp(38)]   31			}

[25349:44035:0713/000830.440379:INFO:GrGLShaderStringBuilder.cpp(38)]   32		}

[25349:44035:0713/000830.440392:INFO:GrGLShaderStringBuilder.cpp(38)]   33		{

[25349:44035:0713/000830.440405:INFO:GrGLShaderStringBuilder.cpp(38)]   34			// Xfer Processor: Porter Duff

[25349:44035:0713/000830.440418:INFO:GrGLShaderStringBuilder.cpp(38)]   35			sk_FragColor = outputColor_Stage0 * output_Stage1;

[25349:44035:0713/000830.440431:INFO:GrGLShaderStringBuilder.cpp(38)]   36		}

[25349:44035:0713/000830.440444:INFO:GrGLShaderStringBuilder.cpp(38)]   37	}

[25349:44035:0713/000830.440456:INFO:GrGLShaderStringBuilder.cpp(38)]   38	

[25349:44035:0713/000830.441157:INFO:GrGLShaderStringBuilder.cpp(47)] GLSL:

[25349:44035:0713/000830.441193:INFO:GrGLShaderStringBuilder.cpp(47)]    1	#version 100

[25349:44035:0713/000830.441208:INFO:GrGLShaderStringBuilder.cpp(47)]    2	

[25349:44035:0713/000830.441222:INFO:GrGLShaderStringBuilder.cpp(47)]    3	precision mediump float;

[25349:44035:0713/000830.441236:INFO:GrGLShaderStringBuilder.cpp(47)]    4	uniform mediump vec4 uscaleAndTranslate_Stage1;

[25349:44035:0713/000830.441249:INFO:GrGLShaderStringBuilder.cpp(47)]    5	uniform mediump vec4 uTexDom_Stage1;

[25349:44035:0713/000830.441263:INFO:GrGLShaderStringBuilder.cpp(47)]    6	uniform lowp sampler2D uTextureSampler_0_Stage0;

[25349:44035:0713/000830.441276:INFO:GrGLShaderStringBuilder.cpp(47)]    7	uniform lowp sampler2D uTextureSampler_0_Stage1;

[25349:44035:0713/000830.441289:INFO:GrGLShaderStringBuilder.cpp(47)]    8	varying highp vec2 vTextureCoords_Stage0;

[25349:44035:0713/000830.441303:INFO:GrGLShaderStringBuilder.cpp(47)]    9	varying highp float vTexIndex_Stage0;

[25349:44035:0713/000830.441316:INFO:GrGLShaderStringBuilder.cpp(47)]   10	varying mediump vec4 vinColor_Stage0;

[25349:44035:0713/000830.441329:INFO:GrGLShaderStringBuilder.cpp(47)]   11	void main() {

[25349:44035:0713/000830.441342:INFO:GrGLShaderStringBuilder.cpp(47)]   12	    mediump vec4 outputColor_Stage0;

[25349:44035:0713/000830.441355:INFO:GrGLShaderStringBuilder.cpp(47)]   13	    mediump vec4 outputCoverage_Stage0;

[25349:44035:0713/000830.441368:INFO:GrGLShaderStringBuilder.cpp(47)]   14	    {

[25349:44035:0713/000830.441381:INFO:GrGLShaderStringBuilder.cpp(47)]   15	        outputColor_Stage0 = vinColor_Stage0;

[25349:44035:0713/000830.441395:INFO:GrGLShaderStringBuilder.cpp(47)]   16	        mediump vec4 texColor;

[25349:44035:0713/000830.441408:INFO:GrGLShaderStringBuilder.cpp(47)]   17	        {

[25349:44035:0713/000830.441421:INFO:GrGLShaderStringBuilder.cpp(47)]   18	            texColor = texture2D(uTextureSampler_0_Stage0, vTextureCoords_Stage0, -0.5).xxxx;

[25349:44035:0713/000830.441434:INFO:GrGLShaderStringBuilder.cpp(47)]   19	        }

[25349:44035:0713/000830.441447:INFO:GrGLShaderStringBuilder.cpp(47)]   20	        outputCoverage_Stage0 = texColor;

[25349:44035:0713/000830.441460:INFO:GrGLShaderStringBuilder.cpp(47)]   21	    }

[25349:44035:0713/000830.441473:INFO:GrGLShaderStringBuilder.cpp(47)]   22	    mediump vec4 output_Stage1;

[25349:44035:0713/000830.441486:INFO:GrGLShaderStringBuilder.cpp(47)]   23	    {

[25349:44035:0713/000830.441631:INFO:GrGLShaderStringBuilder.cpp(47)]   24	        mediump vec2 coords = gl_FragCoord.xy * uscaleAndTranslate_Stage1.xy + uscaleAndTranslate_Stage1.zw;

[25349:44035:0713/000830.441646:INFO:GrGLShaderStringBuilder.cpp(47)]   25	        {

[25349:44035:0713/000830.441659:INFO:GrGLShaderStringBuilder.cpp(47)]   26	            bvec4 outside;

[25349:44035:0713/000830.441673:INFO:GrGLShaderStringBuilder.cpp(47)]   27	            outside.xy = lessThan(coords, uTexDom_Stage1.xy);

[25349:44035:0713/000830.441686:INFO:GrGLShaderStringBuilder.cpp(47)]   28	            outside.zw = greaterThan(coords, uTexDom_Stage1.zw);

[25349:44035:0713/000830.441700:INFO:GrGLShaderStringBuilder.cpp(47)]   29	            output_Stage1 = any(outside) ? vec4(0.0, 0.0, 0.0, 0.0) : texture2D(uTextureSampler_0_Stage1, coords, -0.5).xxxx * outputCoverage_Stage0;

[25349:44035:0713/000830.441714:INFO:GrGLShaderStringBuilder.cpp(47)]   30	        }

[25349:44035:0713/000830.441727:INFO:GrGLShaderStringBuilder.cpp(47)]   31	    }

[25349:44035:0713/000830.441739:INFO:GrGLShaderStringBuilder.cpp(47)]   32	    {

[25349:44035:0713/000830.441752:INFO:GrGLShaderStringBuilder.cpp(47)]   33	        gl_FragColor = outputColor_Stage0 * output_Stage1;

[25349:44035:0713/000830.441765:INFO:GrGLShaderStringBuilder.cpp(47)]   34	    }

[25349:44035:0713/000830.441778:INFO:GrGLShaderStringBuilder.cpp(47)]   35	}

[25349:44035:0713/000830.441791:INFO:GrGLShaderStringBuilder.cpp(47)]   36	

[25349:44035:0713/000830.441811:INFO:GrGLProgramBuilder.cpp(309)] ../../third_party/skia/src/gpu/gl/builders/GrGLProgramBuilder.cpp:309: fatal error: ""

Received signal 6
0   Chromium Framework                  0x0000000121c7b4fc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   Chromium Framework                  0x0000000121c7b331 base::debug::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, void*) + 2401
2   libsystem_platform.dylib            0x00007fff6d105f5a _sigtramp + 26
3   ???                                 0x0000000000000000 0x0 + 0
4   libsystem_c.dylib                   0x00007fff6cea31ae abort + 127
5   Chromium Framework                  0x0000000121d1dd75 sk_abort_no_print() + 21
6   Chromium Framework                  0x0000000121edd038 GrGLProgramBuilder::finalize() + 3544
7   Chromium Framework                  0x0000000121edc013 GrGLProgramBuilder::CreateProgram(GrPrimitiveProcessor const&, GrPipeline const&, GrProgramDesc*, GrGLGpu*) + 1667
8   Chromium Framework                  0x0000000121ec8752 GrGLGpu::ProgramCache::refProgram(GrGLGpu const*, GrPrimitiveProcessor const&, GrPipeline const&, bool) + 706
9   Chromium Framework                  0x0000000121eb8bd0 GrGLGpu::flushGLState(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, bool) + 48
10  Chromium Framework                  0x0000000121ebd8a1 GrGLGpu::draw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int) + 145
11  Chromium Framework                  0x0000000121d97d2a GrGpuRTCommandBuffer::draw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int, SkRect const&) + 618
12  Chromium Framework                  0x0000000121d9aeed GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp(unsigned int, SkRect const&) + 557
13  Chromium Framework                  0x0000000121dc1c07 GrOp::execute(GrOpFlushState*) + 183
14  Chromium Framework                  0x0000000121dc1a8d GrRenderTargetOpList::onExecute(GrOpFlushState*) + 1181
15  Chromium Framework                  0x0000000121d8ae4d GrDrawingManager::executeOpLists(int, int, GrOpFlushState*) + 1885
16  Chromium Framework                  0x0000000121d8a25b GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType, int, GrBackendSemaphore*) + 2299
17  Chromium Framework                  0x0000000121d8b209 GrDrawingManager::prepareSurfaceForExternalIO(GrSurfaceProxy*, int, GrBackendSemaphore*) + 185
18  Chromium Framework                  0x0000000121d8235b GrContextPriv::prepareSurfaceForExternalIO(GrSurfaceProxy*) + 235
19  Chromium Framework                  0x0000000121efe149 SkImage_Gpu::onGetBackendTexture(bool, GrSurfaceOrigin*) const + 233
20  Chromium Framework                  0x000000011e1f6d42 SkImage::getBackendTexture(bool, GrSurfaceOrigin*) const + 18
21  Chromium Framework                  0x000000012319edc2 cc::(anonymous namespace)::GlIdFromSkImage(SkImage*) + 114
22  Chromium Framework                  0x00000001231a60e9 cc::GpuImageDecodeCache::RunPendingContextThreadOperations() + 217
23  Chromium Framework                  0x00000001231a5f2e cc::GpuImageDecodeCache::DrawWithImageFinished(cc::DrawImage const&, cc::DecodedDrawImage const&) + 174
24  Chromium Framework                  0x0000000123174792 base::internal::Invoker<base::internal::BindState<void (*)(cc::DrawImage, cc::ImageDecodeCache*, cc::DecodedDrawImage), cc::DrawImage, cc::ImageDecodeCache*, cc::DecodedDrawImage>, void ()>::RunOnce(base::internal::BindStateBase*) + 82
25  Chromium Framework                  0x0000000122369f01 cc::ImageProvider::ScopedDecodedDrawImage::~ScopedDecodedDrawImage() + 33
26  Chromium Framework                  0x000000012238212a cc::DrawImageOp::RasterWithFlags(cc::DrawImageOp const*, cc::PaintFlags const*, SkCanvas*, cc::PlaybackParams const&) + 938
27  Chromium Framework                  0x0000000122389330 _ZN2cc4$_358__invokeEPKNS_7PaintOpEPKNS_10PaintFlagsEP8SkCanvasRKNS_14PlaybackParamsE + 160
28  Chromium Framework                  0x0000000122386cce cc::PaintOpBuffer::Playback(SkCanvas*, cc::PlaybackParams const&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > const*) const + 670
29  Chromium Framework                  0x000000012238866f _ZN2cc4$_148__invokeEPKNS_7PaintOpEP8SkCanvasRKNS_14PlaybackParamsE + 95
30  Chromium Framework                  0x0000000122386c4d cc::PaintOpBuffer::Playback(SkCanvas*, cc::PlaybackParams const&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > const*) const + 541
31  Chromium Framework                  0x0000000122362fe7 cc::DisplayItemList::Raster(SkCanvas*, cc::ImageProvider*) const + 295
32  Chromium Framework                  0x0000000123175b28 cc::RasterSource::PlaybackToCanvas(SkCanvas*, cc::ImageProvider*) const + 216
33  Chromium Framework                  0x0000000123175a1a cc::RasterSource::PlaybackToCanvas(SkCanvas*, gfx::ColorSpace const&, gfx::Size const&, gfx::Rect const&, gfx::Rect const&, gfx::AxisTransform2d const&, cc::RasterSource::PlaybackSettings const&) const + 954
34  Chromium Framework                  0x000000012317141d cc::GpuRasterBufferProvider::PlaybackOnWorkerThread(gpu::Mailbox const&, unsigned int, bool, bool, gpu::SyncToken const&, gfx::Size const&, viz::ResourceFormat, gfx::ColorSpace const&, bool, cc::RasterSource const*, gfx::Rect const&, gfx::Rect const&, unsigned long long, gfx::AxisTransform2d const&, cc::RasterSource::PlaybackSettings const&) + 2029
35  Chromium Framework                  0x0000000123170b37 cc::GpuRasterBufferProvider::RasterBufferImpl::Playback(cc::RasterSource const*, gfx::Rect const&, gfx::Rect const&, unsigned long long, gfx::AxisTransform2d const&, cc::RasterSource::PlaybackSettings const&) + 199
36  Chromium Framework                  0x00000001231d115b cc::(anonymous namespace)::RasterTaskImpl::RunOnWorkerThread() + 411
37  Chromium Framework                  0x00000001231773e8 cc::SingleThreadTaskGraphRunner::RunTaskWithLockAcquired() + 328
38  Chromium Framework                  0x0000000123177270 cc::SingleThreadTaskGraphRunner::Run() + 64
39  Chromium Framework                  0x0000000121c3f570 base::DelegateSimpleThread::Run() + 128
40  Chromium Framework                  0x0000000121c3f344 base::SimpleThread::ThreadMain() + 148
41  Chromium Framework                  0x0000000121c8a84f base::(anonymous namespace)::ThreadFunc(void*) + 95
42  libsystem_pthread.dylib             0x00007fff6d10f661 _pthread_body + 340
43  libsystem_pthread.dylib             0x00007fff6d10f50d _pthread_body + 0
44  libsystem_pthread.dylib             0x00007fff6d10ebf9 thread_start + 13
[end of stack trace]

Owner: bsalomon@chromium.org
https://skia-review.googlesource.com/141547 is underway fixing this so let me assign this to Brian.

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 16

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

commit 77da697591c660b08da393ed7ee6659752dd3c8e
Author: Kenneth Russell <kbr@chromium.org>
Date: Mon Jul 16 20:28:47 2018

Expand context_lost suppression on macOS.

GpuCrash_GPUProcessCrashesExactlyOncePerVisitToAboutGpuCrash is
failing intermittently on macOS in general, not just on the ASAN bot.

Bug:  861956 
Tbr: bsalomon@chromium.org
Tbr: ethannicholas@chromium.org
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ib1c2e4f165c8f658e354559e62eea1b34d825ab4
Reviewed-on: https://chromium-review.googlesource.com/1138742
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575406}
[modify] https://crrev.com/77da697591c660b08da393ed7ee6659752dd3c8e/content/test/gpu/gpu_tests/context_lost_expectations.py

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/6dd4b209091b876832218e8adf1909669960bf98

commit 6dd4b209091b876832218e8adf1909669960bf98
Author: Brian Salomon <bsalomon@google.com>
Date: Tue Jul 17 14:26:40 2018

Remove crash when shader linking fails.


Bug:  861956 
Change-Id: If60c1f4112702d8f96cb27a624de167049b34370
Reviewed-on: https://skia-review.googlesource.com/141547
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

[modify] https://crrev.com/6dd4b209091b876832218e8adf1909669960bf98/src/gpu/gl/builders/GrGLProgramBuilder.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 17

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

commit c034c9ed8e0fe5c0adb7f189fcffd7c6bf9082e1
Author: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue Jul 17 18:29:24 2018

Roll src/third_party/skia 94fee93c9b23..b609e6dc6a02 (6 commits)

https://skia.googlesource.com/skia.git/+log/94fee93c9b23..b609e6dc6a02


git log 94fee93c9b23..b609e6dc6a02 --date=short --no-merges --format='%ad %ae %s'
2018-07-17 ruiqimao@google.com added byte and ubyte types to SKSL
2018-07-17 bsalomon@google.com Remove crash when shader linking fails.
2018-07-17 brianosman@google.com Remove SkTransferFunctionBehavior
2018-07-17 bsalomon@google.com Reland "Remove interpolants are inaccurate workaround for Adreno 3xx."
2018-07-17 caryclark@skia.org polish picture and rrect docs
2018-07-17 robertphillips@google.com Revert "Reduce arbitrary opList splitting when sorting"


Created with:
  gclient setdep -r src/third_party/skia@b609e6dc6a02

The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:861956 , chromium:847984 
TBR=bungeman@chromium.org

Change-Id: Ic674df2072110895987466c86baa4f96ab849cee
Reviewed-on: https://chromium-review.googlesource.com/1140413
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#575728}
[modify] https://crrev.com/c034c9ed8e0fe5c0adb7f189fcffd7c6bf9082e1/DEPS

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 18

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

commit 5cc14a814c2b44c04276a470af4d693c59d05790
Author: Kenneth Russell <kbr@chromium.org>
Date: Wed Jul 18 19:57:19 2018

Re-enable a context lost test on Mac.

GpuCrash_GPUProcessCrashesExactlyOncePerVisitToAboutGpuCrash should no
longer be flaky, at least not for the previous reason.

Bug:  861956 
Tbr: bsalomon@google.com
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I37a34caf9b5725ddc877ac81a1760ad72dfbb261
Reviewed-on: https://chromium-review.googlesource.com/1142233
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576176}
[modify] https://crrev.com/5cc14a814c2b44c04276a470af4d693c59d05790/content/test/gpu/gpu_tests/context_lost_expectations.py

Status: Fixed (was: Assigned)
Calling this fixed. Will file a new bug if the flakiness reappears. Thanks Brian for your help on this.

Sign in to add a comment