It seems that the TransformFeedback object has to be bound before calling glBindBufferBase on a buffer, otherwise the formerly bound buffer remains active, resulting in GL_INVALID_OPERATION ("Buffer is mapped.") errors, because the same buffer is used for reading and writing.
The example previously worked by chance, because m_transformFeedback->draw() internally calls bind(), so the object will already be bound in the next frame. Remove the draw call in the previous version of the example to reproduce the error.
It seems that the TransformFeedback object has to be bound before calling glBindBufferBase on a buffer, otherwise the formerly bound buffer remains active, resulting in GL_INVALID_OPERATION ("Buffer is mapped.") errors, because the same buffer is used for reading and writing.
The example previously worked by chance, because m_transformFeedback->draw() internally calls bind(), so the object will already be bound in the next frame. Remove the draw call in the previous version of the example to reproduce the error.