it seems like the driver is doing a glGetActiveUniformBlockName(...) call when there are uniform buffer objects used in a shader, just before the glLinkProgram(...) call would return. Now this causes a GL_INVALID_VALUE error for the glLinkProgram(...) call, because the shader program hasn't been linket before callling glGetActiveUniformBlockName(...).
Removing the glGetActiveUniformBlockName(...) call should solve this problem.
I noticed this issue by getting a GL_INVALID_VALUE error for the glLinkProgram call for no reason. CodeXL showed this by an OpenGL debug message.
AMD A8-4500m Win7/64bit
Catalyst Win 8.1 preview driver (for the GL4.3 support , which is awesome)