Incorrect warning & draw errors on GeForce 840M with 344.75

I’m on a new laptop with a GeForce 840M GPU. The drivers are 344.75 (Windows 10 preview) and I’m using the GL_ARB_debug_output to see if I have errors in my rendering. I made it show up all errors and I get this one like all the time :

Usage warning: Generic vertex attribute array 1 uses a pointer with a small value (0x00000000). Is this intended to be used as an offset into a buffer object?

On top of that, the draws associated with that warning have visual flaws (I think the attributes may not be parsed due to that warning) as if it’s not a warning but an error.

This “warning” however is thrown because I have a list of attributes like say

attribute vec3 POSITION;
attribute vec3 NORMAL;
attribute vec2 TEXCOORD;

and when I call

glGetProgramiv( ProgramHandle, GL_ACTIVE_ATTRIBUTES, &ActiveAttributes );

and see where is what, it turns out that POSITION is on slot 1, NORMAL is on slot 0, and TEXCOORD is compiled out as it should as it’s not used. Now, because my vertex buffer has POSITION at offset = 0 you can see why the warning above is incorrect, the offset is supposed to be 0 for attrib 1.

Just to be clear, the same code running on the integrated Intel® HD Graphics 4600 runs flawlessly, no visual errors and no warnings.

Side remark for Nvidia Engineers : Tegra 3 and 4 GPUs report GL_INVALID_VALUE when querying uniforms with
glGetActiveUniform( ProgramHandle, Index, MaxLength, &NameLen, &Size, &Type, Name );
(MaxLength is sufficiently big(255), Index is 0…GL_ACTIVE_UNIFORMS - 1 ).
while glGetUniformLocation works as expected

I just started getting this same warning (id=131076) from the nvidia-346 Ubuntu drivers, and this is the only mention I can find of it on the web :)

In my case, my VAO sets up bindings for all attributes in a single vertex buffer: position, normal, tangent, bitangent, color, and UVs. My shader doesn’t use tangent or bitangent; these are the attributes that cause this warning to be emitted. I didn’t think it was an error to use a VAO with vertex attributes that aren’t used by the shader; am I mistaken?

I am seeing this issue as well and am a bit confused about what to do. (So far I ignored it.)

I have some sources that tell me unused attributes could at most be a performance problem:

It would be nice to have some clarification what this error should tell me.
It may be concerned with using invalid CPU side pointers instead of offsets into GPU buffers. However, in my case it clearly is an offset into a buffer and the error only occurs when the attribute is not used/active in the bound shader.

Either the problem is real, then the message is a bit lacking/unclear, or there is no problem.
In the latter case there should be no message at all.