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);

}

More questions in this forum