We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi we're encountering a crash in vulkan driver which possibly related to shader code.
: pid: 20915, tid: 23289, name: TaskGraphHP 4 >>> com.demo.demo <<< : uid: 10411 : signal 11 (SIGSEGV), code -6 (SI_TKILL), fault addr -------- : x0 0000000000000000 x1 0000000000005af9 x2 000000000000000b x3 0000000000000000 : x4 4008000000000000 x5 0000000000000000 x6 0000000000000000 x7 7f7f7f7f7f7f7f7f : x8 0000000000000083 x9 4321f071e901995e x10 0000007efc61205c x11 000000000000003b : x12 0000000000000018 x13 ffffffffffffffff x14 ffffffffff000000 x15 ffffffffffffffff : x16 0000007dfb527430 x17 0000007eff035ba0 x18 0000000000001ca4 x19 000000000000000b : x20 0000007da38352d0 x21 00000000000051b3 x22 00000000000028ab x23 0000000000005af9 : x24 0000000000000000 x25 0000000000000070 x26 0000000000000064 x27 0000007d45f5d020 : x28 0000007dfb52c1e0 x29 0000007e04cf6d00 : sp 0000007e04cf6a60 lr 0000007dfb42b440 pc 0000007eff035bc0 : : backtrace: : #00 pc 000000000006cbc0 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: b91c775ccc9b0556e91bc575a2511cd0) : #01 pc 000000000001b43c /data/app/com.demo.demo-tRgmyU9_u7D-1Q9a9OfoMQ==/lib/arm64/libCrashSight.so (BuildId: 5fef3bf82a535d91909c996e46141b41588f1549) : #02 pc 0000000000004cb8 /system/bin/app_process64 (art::SignalChain::Handler(int, siginfo*, void*)+352) (BuildId: e844be217eb39b34490d3798328d1f12) : #03 pc 0000000000000638 [vdso] (__kernel_rt_sigreturn) : #04 pc 0000000000cec578 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #05 pc 0000000000ce9564 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #06 pc 0000000000ce42d8 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #07 pc 0000000000ca01c4 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #08 pc 0000000000c9e7c0 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #09 pc 0000000000c9c824 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #10 pc 00000000024864e4 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #11 pc 00000000024889c4 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #12 pc 00000000024cf1a0 /vendor/lib64/egl/libGLES_mali.so (BuildId: b4caf7da709ad611a374b5d7d59fd88f) : #13 pc 00000000000cf7c0 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: b91c775ccc9b0556e91bc575a2511cd0) : #14 pc 00000000000721a8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: b91c775ccc9b0556e91bc575a2511cd0)
Device & driver info:
GpuFamily: Mali-G76
GlVersion: OpenGL ES 3.2 v1.r18p0-01rel0.e098644a2658b0905d91d87153032847
Hardware: vendor Kirin990
DeviceBuildNumber: TAS-AN00 2.0.0.280(C00E230R7P6)
VulkanVersion: 1.1.97
AndroidVersion: 10
The last PSO bound to render state is:
; SPIR-V ; Version: 1.0 ; Generator: Google spiregg; 0 ; Bound: 59 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Vertex %main_00000644_044c1d09 "main_00000644_044c1d09" %in_var_ATTRIBUTE0 %in_var_ATTRIBUTE1 %out_var_TEXCOORD0 %gl_Position OpName %type_DrawRectangleParameters "type.DrawRectangleParameters" OpName %DrawRectangleParameters "DrawRectangleParameters" OpName %in_var_ATTRIBUTE0 "in.var.ATTRIBUTE0" OpName %in_var_ATTRIBUTE1 "in.var.ATTRIBUTE1" OpName %out_var_TEXCOORD0 "out.var.TEXCOORD0" OpName %main_00000644_044c1d09 "main_00000644_044c1d09" OpDecorate %out_var_TEXCOORD0 NoPerspective OpDecorate %gl_Position BuiltIn Position OpDecorate %gl_Position Invariant OpDecorate %in_var_ATTRIBUTE0 Location 0 OpDecorate %in_var_ATTRIBUTE1 Location 1 OpDecorate %out_var_TEXCOORD0 Location 0 OpDecorate %DrawRectangleParameters DescriptorSet 0 OpDecorate %DrawRectangleParameters Binding 0 OpMemberDecorate %type_DrawRectangleParameters 0 Offset 0 OpMemberDecorate %type_DrawRectangleParameters 1 Offset 16 OpMemberDecorate %type_DrawRectangleParameters 2 Offset 32 OpDecorate %type_DrawRectangleParameters Block %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %v2float = OpTypeVector %float 2 %int = OpTypeInt 32 1 %float_0 = OpConstant %float 0 %float_1 = OpConstant %float 1 %int_1 = OpConstant %int 1 %int_0 = OpConstant %int 0 %float_n1 = OpConstant %float -1 %17 = OpConstantComposite %v2float %float_n1 %float_n1 %float_2 = OpConstant %float 2 %int_2 = OpConstant %int 2 %20 = OpConstantComposite %v2float %float_1 %float_n1 %type_DrawRectangleParameters = OpTypeStruct %v4float %v4float %v4float %_ptr_Uniform_type_DrawRectangleParameters = OpTypePointer Uniform %type_DrawRectangleParameters %_ptr_Input_v2float = OpTypePointer Input %v2float %_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Output_v4float = OpTypePointer Output %v4float %void = OpTypeVoid %26 = OpTypeFunction %void %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float %DrawRectangleParameters = OpVariable %_ptr_Uniform_type_DrawRectangleParameters Uniform %in_var_ATTRIBUTE0 = OpVariable %_ptr_Input_v2float Input %in_var_ATTRIBUTE1 = OpVariable %_ptr_Input_v2float Input %out_var_TEXCOORD0 = OpVariable %_ptr_Output_v2float Output %gl_Position = OpVariable %_ptr_Output_v4float Output %28 = OpConstantNull %v4float %main_00000644_044c1d09 = OpFunction %void None %26 %29 = OpLabel %30 = OpLoad %v2float %in_var_ATTRIBUTE0 %31 = OpLoad %v2float %in_var_ATTRIBUTE1 %32 = OpCompositeExtract %float %30 0 %33 = OpCompositeExtract %float %30 1 %34 = OpCompositeConstruct %v4float %32 %33 %float_0 %float_1 %35 = OpAccessChain %_ptr_Uniform_v4float %DrawRectangleParameters %int_0 %36 = OpLoad %v4float %35 %37 = OpVectorShuffle %v2float %36 %36 2 3 %38 = OpVectorShuffle %v2float %34 %34 0 1 %39 = OpVectorShuffle %v2float %36 %36 0 1 %40 = OpFMul %v2float %38 %39 %41 = OpFAdd %v2float %37 %40 %42 = OpVectorTimesScalar %v2float %41 %float_2 %43 = OpAccessChain %_ptr_Uniform_v4float %DrawRectangleParameters %int_2 %44 = OpLoad %v4float %43 %45 = OpVectorShuffle %v2float %44 %44 0 1 %46 = OpFMul %v2float %42 %45 %47 = OpFAdd %v2float %17 %46 %48 = OpVectorShuffle %v2float %47 %28 0 1 %49 = OpFMul %v2float %48 %20 %50 = OpVectorShuffle %v4float %34 %49 4 5 2 3 %51 = OpAccessChain %_ptr_Uniform_v4float %DrawRectangleParameters %int_1 %52 = OpLoad %v4float %51 %53 = OpVectorShuffle %v2float %52 %52 2 3 %54 = OpVectorShuffle %v2float %52 %52 0 1 %55 = OpFMul %v2float %31 %54 %56 = OpFAdd %v2float %53 %55 %57 = OpVectorShuffle %v2float %44 %44 2 3 %58 = OpFMul %v2float %56 %57 OpStore %out_var_TEXCOORD0 %58 OpStore %gl_Position %50 OpReturn OpFunctionEnd
; SPIR-V ; Version: 1.0 ; Generator: Google spiregg; 0 ; Bound: 193 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main_000011b8_b2799476 "main_000011b8_b2799476" %in_var_TEXCOORD0 %out_var_SV_Target0 OpExecutionMode %main_000011b8_b2799476 OriginUpperLeft OpName %type_2d_image "type.2d.image" OpName %InTexture "InTexture" OpName %type_sampler "type.sampler" OpName %InTextureBilinearSampler "InTextureBilinearSampler" OpName %type__Globals "type.$Globals" OpName %_Globals "$Globals" OpName %in_var_TEXCOORD0 "in.var.TEXCOORD0" OpName %out_var_SV_Target0 "out.var.SV_Target0" OpName %main_000011b8_b2799476 "main_000011b8_b2799476" OpName %type_sampled_image "type.sampled.image" OpDecorate %in_var_TEXCOORD0 NoPerspective OpDecorate %in_var_TEXCOORD0 Location 0 OpDecorate %out_var_SV_Target0 Location 0 OpDecorate %InTexture DescriptorSet 1 OpDecorate %InTexture Binding 2 OpDecorate %InTextureBilinearSampler DescriptorSet 1 OpDecorate %InTextureBilinearSampler Binding 1 OpDecorate %_Globals DescriptorSet 1 OpDecorate %_Globals Binding 0 OpMemberDecorate %type__Globals 0 Offset 0 OpMemberDecorate %type__Globals 1 Offset 8 OpDecorate %type__Globals Block OpDecorate %in_var_TEXCOORD0 RelaxedPrecision OpDecorate %12 RelaxedPrecision OpDecorate %13 RelaxedPrecision OpDecorate %14 RelaxedPrecision OpDecorate %15 RelaxedPrecision OpDecorate %16 RelaxedPrecision OpDecorate %17 RelaxedPrecision OpDecorate %18 RelaxedPrecision OpDecorate %19 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %v2float = OpTypeVector %float 2 %int = OpTypeInt 32 1 %float_0 = OpConstant %float 0 %float_1 = OpConstant %float 1 %float_n0_5 = OpConstant %float -0.5 %float_0_5 = OpConstant %float 0.5 %float_0_125 = OpConstant %float 0.125 %float_0_25 = OpConstant %float 0.25 %int_0 = OpConstant %int 0 %float_2 = OpConstant %float 2 %float_n2 = OpConstant %float -2 %int_1 = OpConstant %int 1 %34 = OpConstantComposite %v2float %float_1 %float_1 %35 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %type_2d_image = OpTypeImage %float 2D 2 0 0 1 Unknown %_ptr_UniformConstant_type_2d_image = OpTypePointer UniformConstant %type_2d_image %type_sampler = OpTypeSampler %_ptr_UniformConstant_type_sampler = OpTypePointer UniformConstant %type_sampler %type__Globals = OpTypeStruct %v2float %float %_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals %_ptr_Input_v2float = OpTypePointer Input %v2float %_ptr_Output_v4float = OpTypePointer Output %v4float %void = OpTypeVoid %42 = OpTypeFunction %void %bool = OpTypeBool %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float %_ptr_Uniform_float = OpTypePointer Uniform %float %type_sampled_image = OpTypeSampledImage %type_2d_image %v4bool = OpTypeVector %bool 4 %InTexture = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant %InTextureBilinearSampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant %_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform %in_var_TEXCOORD0 = OpVariable %_ptr_Input_v2float Input %out_var_SV_Target0 = OpVariable %_ptr_Output_v4float Output %47 = OpConstantComposite %v2float %float_n0_5 %float_n0_5 %48 = OpConstantComposite %v2float %float_0_5 %float_n0_5 %49 = OpConstantComposite %v2float %float_n0_5 %float_0_5 %50 = OpConstantComposite %v2float %float_0_5 %float_0_5 %51 = OpConstantComposite %v2float %float_0 %float_n0_5 %52 = OpConstantComposite %v2float %float_n0_5 %float_0 %53 = OpConstantComposite %v2float %float_0_5 %float_0 %54 = OpConstantComposite %v2float %float_0 %float_0_5 %float_2_23606801 = OpConstant %float 2.23606801 %float_0_400000006 = OpConstant %float 0.400000006 %57 = OpConstantComposite %v4float %float_0_400000006 %float_0_400000006 %float_0_400000006 %float_0_400000006 %58 = OpUndef %v2float %main_000011b8_b2799476 = OpFunction %void None %42 %59 = OpLabel %12 = OpLoad %v2float %in_var_TEXCOORD0 %13 = OpCompositeExtract %float %12 0 %14 = OpFOrdLessThanEqual %bool %13 %float_0_5 %15 = OpFMul %float %13 %float_2 %16 = OpFMul %float %float_n2 %13 %17 = OpFAdd %float %16 %float_2 %18 = OpSelect %float %14 %15 %17 %60 = OpCompositeInsert %v2float %18 %58 0 %19 = OpCompositeExtract %float %12 1 %61 = OpCompositeInsert %v2float %19 %60 1 %62 = OpVectorTimesScalar %v2float %61 %float_2 %63 = OpFSub %v2float %62 %34 %64 = OpDot %float %63 %63 %65 = OpAccessChain %_ptr_Uniform_v2float %_Globals %int_0 %66 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_1 %67 = OpLoad %float %66 %68 = OpFMul %float %float_2_23606801 %67 %69 = OpFSub %float %float_1 %68 %70 = OpExtInst %float %1 FClamp %69 %float_0 %float_1 %71 = OpFOrdGreaterThan %bool %64 %70 OpSelectionMerge %72 None OpBranchConditional %71 %73 %74 %73 = OpLabel %75 = OpFMul %float %18 %float_0_5 %76 = OpCompositeInsert %v2float %75 %61 0 %77 = OpLoad %type_2d_image %InTexture %78 = OpLoad %type_sampler %InTextureBilinearSampler %79 = OpSampledImage %type_sampled_image %77 %78 %80 = OpImageSampleExplicitLod %v4float %79 %76 Lod %float_0 %81 = OpLoad %v2float %65 %82 = OpFMul %v2float %47 %81 %83 = OpFAdd %v2float %76 %82 %84 = OpSampledImage %type_sampled_image %77 %78 %85 = OpImageSampleExplicitLod %v4float %84 %83 Lod %float_0 %86 = OpVectorTimesScalar %v4float %85 %float_0_125 %87 = OpFAdd %v4float %80 %86 %88 = OpFMul %v2float %48 %81 %89 = OpFAdd %v2float %76 %88 %90 = OpSampledImage %type_sampled_image %77 %78 %91 = OpImageSampleExplicitLod %v4float %90 %89 Lod %float_0 %92 = OpVectorTimesScalar %v4float %91 %float_0_125 %93 = OpFAdd %v4float %87 %92 %94 = OpFMul %v2float %49 %81 %95 = OpFAdd %v2float %76 %94 %96 = OpSampledImage %type_sampled_image %77 %78 %97 = OpImageSampleExplicitLod %v4float %96 %95 Lod %float_0 %98 = OpVectorTimesScalar %v4float %97 %float_0_125 %99 = OpFAdd %v4float %93 %98 %100 = OpFMul %v2float %50 %81 %101 = OpFAdd %v2float %76 %100 %102 = OpSampledImage %type_sampled_image %77 %78 %103 = OpImageSampleExplicitLod %v4float %102 %101 Lod %float_0 %104 = OpVectorTimesScalar %v4float %103 %float_0_125 %105 = OpFAdd %v4float %99 %104 %106 = OpFMul %v2float %51 %81 %107 = OpFAdd %v2float %76 %106 %108 = OpSampledImage %type_sampled_image %77 %78 %109 = OpImageSampleExplicitLod %v4float %108 %107 Lod %float_0 %110 = OpVectorTimesScalar %v4float %109 %float_0_25 %111 = OpFAdd %v4float %105 %110 %112 = OpFMul %v2float %52 %81 %113 = OpFAdd %v2float %76 %112 %114 = OpSampledImage %type_sampled_image %77 %78 %115 = OpImageSampleExplicitLod %v4float %114 %113 Lod %float_0 %116 = OpVectorTimesScalar %v4float %115 %float_0_25 %117 = OpFAdd %v4float %111 %116 %118 = OpFMul %v2float %53 %81 %119 = OpFAdd %v2float %76 %118 %120 = OpSampledImage %type_sampled_image %77 %78 %121 = OpImageSampleExplicitLod %v4float %120 %119 Lod %float_0 %122 = OpVectorTimesScalar %v4float %121 %float_0_25 %123 = OpFAdd %v4float %117 %122 %124 = OpFMul %v2float %54 %81 %125 = OpFAdd %v2float %76 %124 %126 = OpSampledImage %type_sampled_image %77 %78 %127 = OpImageSampleExplicitLod %v4float %126 %125 Lod %float_0 %128 = OpVectorTimesScalar %v4float %127 %float_0_25 %129 = OpFAdd %v4float %123 %128 OpBranch %72 %74 = OpLabel %130 = OpLoad %type_2d_image %InTexture %131 = OpLoad %type_sampler %InTextureBilinearSampler %132 = OpSampledImage %type_sampled_image %130 %131 %133 = OpImageSampleExplicitLod %v4float %132 %12 Lod %float_0 %134 = OpLoad %v2float %65 %135 = OpFMul %v2float %47 %134 %136 = OpFAdd %v2float %12 %135 %137 = OpSampledImage %type_sampled_image %130 %131 %138 = OpImageSampleExplicitLod %v4float %137 %136 Lod %float_0 %139 = OpVectorTimesScalar %v4float %138 %float_0_125 %140 = OpFAdd %v4float %133 %139 %141 = OpFMul %v2float %48 %134 %142 = OpFAdd %v2float %12 %141 %143 = OpSampledImage %type_sampled_image %130 %131 %144 = OpImageSampleExplicitLod %v4float %143 %142 Lod %float_0 %145 = OpVectorTimesScalar %v4float %144 %float_0_125 %146 = OpFAdd %v4float %140 %145 %147 = OpFMul %v2float %49 %134 %148 = OpFAdd %v2float %12 %147 %149 = OpSampledImage %type_sampled_image %130 %131 %150 = OpImageSampleExplicitLod %v4float %149 %148 Lod %float_0 %151 = OpVectorTimesScalar %v4float %150 %float_0_125 %152 = OpFAdd %v4float %146 %151 %153 = OpFMul %v2float %50 %134 %154 = OpFAdd %v2float %12 %153 %155 = OpSampledImage %type_sampled_image %130 %131 %156 = OpImageSampleExplicitLod %v4float %155 %154 Lod %float_0 %157 = OpVectorTimesScalar %v4float %156 %float_0_125 %158 = OpFAdd %v4float %152 %157 %159 = OpFMul %v2float %51 %134 %160 = OpFAdd %v2float %12 %159 %161 = OpSampledImage %type_sampled_image %130 %131 %162 = OpImageSampleExplicitLod %v4float %161 %160 Lod %float_0 %163 = OpVectorTimesScalar %v4float %162 %float_0_25 %164 = OpFAdd %v4float %158 %163 %165 = OpFMul %v2float %52 %134 %166 = OpFAdd %v2float %12 %165 %167 = OpSampledImage %type_sampled_image %130 %131 %168 = OpImageSampleExplicitLod %v4float %167 %166 Lod %float_0 %169 = OpVectorTimesScalar %v4float %168 %float_0_25 %170 = OpFAdd %v4float %164 %169 %171 = OpFMul %v2float %53 %134 %172 = OpFAdd %v2float %12 %171 %173 = OpSampledImage %type_sampled_image %130 %131 %174 = OpImageSampleExplicitLod %v4float %173 %172 Lod %float_0 %175 = OpVectorTimesScalar %v4float %174 %float_0_25 %176 = OpFAdd %v4float %170 %175 %177 = OpFMul %v2float %54 %134 %178 = OpFAdd %v2float %12 %177 %179 = OpSampledImage %type_sampled_image %130 %131 %180 = OpImageSampleExplicitLod %v4float %179 %178 Lod %float_0 %181 = OpVectorTimesScalar %v4float %180 %float_0_25 %182 = OpFAdd %v4float %176 %181 OpBranch %72 %72 = OpLabel %183 = OpPhi %v4float %129 %73 %182 %74 %184 = OpFMul %v4float %183 %57 %185 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %186 = OpLoad %float %185 %187 = OpCompositeConstruct %v4float %186 %186 %186 %float_1 %188 = OpExtInst %v4float %1 FMin %187 %184 %189 = OpIsNan %v4bool %188 %190 = OpAny %bool %189 %191 = OpCompositeConstruct %v4bool %190 %190 %190 %190 %192 = OpSelect %v4float %191 %35 %188 OpStore %out_var_SV_Target0 %192 OpReturn OpFunctionEnd
The only suspicious part is that this vertex pixel shader pair's interface variable type is missmatching(float vs half).
We'll fix this issue and re-check again. But the same PSO works on other mali devices. The G76 is by far the only device that crashes.
Still crash even without isNan & any.