This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SIGSEGV in glCompileShader due to loop

We ran into a SIGSEGV on Samsung Galaxy J7 (SM-730F) running android 9 (Kernel version 3.18.91 - 16526088), which after some debugging we finally found out was in glCompilerShader . (OpenGL ES 3.2 v1.r28p0-01rel0.###other-sha0123456789ABCDEF0###) . After some more debugging we figured out it's because we have a loop that does 9 iterations. Changing this to 8 or manually unrolling works.

Relevant part of the shader code (it's generated by a tool, weights and offsets are arrays of size 9, but with 10 it also crashes)

color = vec3 (ivec3 (0 ,0 ,0 ));
i = 9 ; // Change this to 8 and it works
_T1 = i;
i = (i-1);
_T0 = bool(_T1);
while(_T0)
{
color = (color + (texture(Input0,(v.UV + (offsets[int(uint (i))] * vec2 (bloom_width, bloom_height)))) .xyz * vec3 (weights[int(uint (i))],weights[int(uint (i))],weights[int(uint (i))])));
_T2 = i;
i = (i-1);
_T0 = bool(_T2);

}

Parents
  • Thanks for the bug report, I'll raise this with our driver team.

    If it's possible to share a full shader it would help us more quickly investigate - please email to developer@arm.com if you don't want to share it publicly.

    Kind regards, 
    Pete

Reply
  • Thanks for the bug report, I'll raise this with our driver team.

    If it's possible to share a full shader it would help us more quickly investigate - please email to developer@arm.com if you don't want to share it publicly.

    Kind regards, 
    Pete

Children