Here's the original bug report. Roger E Critchlow Jr ([EMAIL PROTECTED]) wrote: > Hi - > > I'm building a SWIG wrapped opengl extension for Tcl/Tk, using Mesa > as my opengl surrogate on Linux. > > When I implemented exception handling, I mistakenly called > glGetError() after every call into Mesa. But glGetError() isn't > allowed between glBegin() and glEnd(). > > The result is appended, the code is building a face model out of > triangles so there were lots of invalid calls to glGetError() with the > vertices, normals, and texture coordinates. > > I suppose I should look at the source and see if you intentionally > dumped core, but my reading is that glGetError() should continue > returning zero until glEnd() and then return GL_INVALID_OPERATION. > Seems sort of bizarre to deliberately obfuscate the source of the > error this way, but I suppose they knew what they wanted when they > wrote the spec. And later wrote: > > Here's a stack trace of the crash. Let me know if you need anything > else. This is with 3.1b2 configured for linux-386-elf with -g added > to the CFLAGS. > > -- rec -- > > [rec@elf115 demos]$ LD_LIBRARY_PATH=/packages/Mesa-3.1/lib:$LD_LIBRARY_PATH > gdb /usr/local/bin/wish8.1 > GNU gdb 4.17 > Copyright 1998 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-redhat-linux"... > (gdb) pwd > Working directory /home/elf1/windows/frustum-1.0/demos. > (gdb) run skin-browse.tcl > Starting program: /usr/local/bin/wish8.1 skin-browse.tcl > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > Mesa user error: GL_INVALID_OPERATION in glGetError > > Program received signal SIGSEGV, Segmentation fault. > 0x40382a4b in gl_depth_test_span_less (ctx=0x80f2038, n=51, x=353, y=404, > z=0xbfffc8b0, > mask=0xbfff5c40 '\001' <repeats 51 times>) at depth.c:365 > 365 if (z[i] < zptr[i]) { > (gdb) where > #0 0x40382a4b in gl_depth_test_span_less (ctx=0x80f2038, n=51, x=353, > y=404, z=0xbfffc8b0, > mask=0xbfff5c40 '\001' <repeats 51 times>) at depth.c:365 > #1 0x403eae2f in gl_write_texture_span (ctx=0x80f2038, n=51, x=353, y=404, > z=0xbfffc8b0, s=0xbfff96b0, t=0xbfff7db0, > u=0xbfff64b0, lambda=0x0, rgbaIn=0xbfffafb0, spec=0x0, > primitive=GL_POLYGON) at span.c:784 > #2 0x4040f9b5 in general_textured_triangle (ctx=0x80f2038, v0=1, v1=2, > v2=3, pv=3) at tritemp.h:941 > #3 0x40357dc5 in render_vb_triangles_raw (VB=0x8104470, start=1, count=4, > parity=0) at render_tmp.h:116 > #4 0x40356ce6 in gl_render_vb (VB=0x8104470) at vbrender.c:587 > #5 0x40352478 in do_render (VB=0x8104470) at pipeline.c:579 > #6 0x40351fe1 in gl_run_pipeline (VB=0x8104470, type=1) at pipeline.c:1236 > #7 0x40359b00 in gl_execute_cassette (ctx=0x80f2038, IM=0x810cb40, pipe=1) > at vbxform.c:829 > #8 0x4035a042 in gl_flush_vb (ctx=0x80f2038, where=0x4045b9a4 > "glGetError") at vbxform.c:73 > #9 0x40380f64 in gl_GetError (ctx=0x80f2038) at context.c:1676 > #10 0x40363e41 in glGetError () at api1.c:1257 > #11 0x402eebb2 in myGlError (interp=0x804a038) at opengl_wrap.c:589 > #12 0x402f176c in _wrap_glVertex3d (clientData=0x0, interp=0x804a038, > argc=4, argv=0xbfffd734) at opengl_wrap.c:2557 > #13 0x400d8905 in TclInvokeStringCommand () > #14 0x400f1f50 in TclExecuteByteCode () > #15 0x400d92ac in Tcl_EvalObjEx () > #16 0x4011317c in TclObjInterpProc () > #17 0x400f1f50 in TclExecuteByteCode () > #18 0x400d92ac in Tcl_EvalObjEx () > #19 0x40112bf6 in Tcl_UplevelObjCmd () > #20 0x400f1f50 in TclExecuteByteCode () > #21 0x400d92ac in Tcl_EvalObjEx () > #22 0x4011317c in TclObjInterpProc () > #23 0x400f1f50 in TclExecuteByteCode () > #24 0x400d92ac in Tcl_EvalObjEx () > #25 0x4011317c in TclObjInterpProc () > #26 0x400f1f50 in TclExecuteByteCode () > #27 0x400d92ac in Tcl_EvalObjEx () > #28 0x4011317c in TclObjInterpProc () > #29 0x400f1f50 in TclExecuteByteCode () > #30 0x400d92ac in Tcl_EvalObjEx () > #31 0x40054904 in TkInvokeButton (butPtr=0x80bd528) at > ./../generic/tkButton.c:1457 > #32 0x40053dc0 in ButtonWidgetObjCmd (clientData=0x80bd528, > interp=0x804a038, objc=2, objv=0x804acbc) > at ./../generic/tkButton.c:835 > #33 0x400f1f50 in TclExecuteByteCode () > #34 0x400d92ac in Tcl_EvalObjEx () > #35 0x40112bf6 in Tcl_UplevelObjCmd () > #36 0x400f1f50 in TclExecuteByteCode () > #37 0x400d92ac in Tcl_EvalObjEx () > #38 0x4011317c in TclObjInterpProc () > #39 0x4010c14a in EvalObjv () > #40 0x4010c842 in Tcl_EvalEx () > #41 0x4010ca2a in Tcl_Eval () > #42 0x400da810 in Tcl_GlobalEval () > #43 0x4001f35f in Tk_BindEvent (bindingTable=0x806ad70, eventPtr=0x80ec7d0, > tkwin=0x80e1e78, numObjects=0, > objectPtr=0xbffffa5c) at ./../generic/tkBind.c:1782 > #44 0x4002435f in TkBindEventProc (winPtr=0x80e1e78, eventPtr=0x80ec7d0) at > ./../generic/tkCmds.c:245 > #45 0x4002a4ae in Tk_HandleEvent (eventPtr=0x80ec7d0) at > ./../generic/tkEvent.c:709 > #46 0x4002a8e1 in WindowEventProc (evPtr=0x80ec7c8, flags=-3) at > ./../generic/tkEvent.c:1044 > #47 0x4010a177 in Tcl_ServiceEvent () > #48 0x4010a389 in Tcl_DoOneEvent () > #49 0x4002a974 in Tk_MainLoop () at ./../generic/tkEvent.c:1102 > #50 0x40035520 in Tk_MainEx (argc=2, argv=0xbffffca8, appInitProc=0x8048838 > <Tcl_AppInit>, interp=0x804a038) > at ./../generic/tkMain.c:277 > #51 0x804882b in main (argc=2, argv=0xbffffca4) at ./tkAppInit.c:54 _______________________________________________ Mesa-dev maillist - [EMAIL PROTECTED] http://lists.mesa3d.org/mailman/listinfo/mesa-dev