Currently the OpenGL 4.1 spec (v20100725) reads:
"For the default framebuffer, the initial setting
for ReadBuffer is FRONT if there is no back buffer and BACK otherwise."
This means that if there is no default framebuffer associated with the context, then it will be a value of FRONT, whereas for draw buffers the specification reads:
"For the default framebuffer, in the initial
state the draw buffer for fragment color zero is BACK if there is a back buffer;
FRONT if there is no back buffer; and NONE if no default framebuffer is associated with the context."
Maybe the ReadBuffer should be NONE too when there is no associated framebuffer?
This was fixed in the GL 4.2 spec but we forgot to close the bug. Thanks.