The following code triggers SIGSEGV at mesa/state_tracker/st_cb_bufferobjects.c:236, because st_obj->buffer is NULL. #include <stdlib.h> #define GL_GLEXT_PROTOTYPES #include <GL/gl.h> #include <GL/glut.h> int main (int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutInitWindowSize(512,512); glutCreateWindow(""); GLuint id; glGenBuffersARB(1, &id); glBindBufferARB(GL_ARRAY_BUFFER_ARB, id); glBufferDataARB(GL_ARRAY_BUFFER_ARB, 0, NULL, GL_STATIC_DRAW); glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); glBindBufferARB(GL_ARRAY_BUFFER_ARB, id); glMapBuffer(GL_ARRAY_BUFFER_ARB, GL_READ_WRITE_ARB); /* CRASH! */ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); return 0; }
Fixed with commit 97ae4dad1cc24c5e969e6b99f07ece68e239964b. Committed to the 7.9 branch too. Thanks for the test program!
bug/show.html.tmpl processed on Mar 20, 2017 at 09:47:46. (provided by the Example extension).