glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength);
glGetShaderInfoLog(shader, maxLength, &length, log);

i see a strange result, status is not true, maxLength is very big, but length is zero, and log is empty, but finally i get the right 3d scene.

Sounds like a potential driver bug. What hardware and driver are you using?

you should post some surrounding code. probably something wrong with type-casting, or some mistakes in shader setup. or it is, indeed, a driver bug.

freebsd os, gt430, nvidia driver , support gl 4.2, mesa+glew+glfw api

I am sorry i can’t post the code because i lay on bed. It is deep night in my timezone. I type with phone.