Brian Paul wrote: > Donnie Berkholz wrote: >> Brian Paul wrote: >> >>> Try applying the attached patch for t_vtx_generic.c It's just some >>> assertions to try to narrow down the problem. >> >> >> Didn't get any assertion failures out of that. > > But it still crashes, right?
Yep. > Could you possibly use gdb to inspect some of the variables, pointers, > etc. after the crash? I attached the results of my debugging session. Thanks, Donnie
(gdb) bt #0 0xb5dadc31 in attrib_8_2 (v=0x9f7cabb8) at t_vtx_generic.c:113 #1 0xb5daaba2 in choose_8_2 (v=0x9f7cabb8) at t_vtx_api.c:471 #2 0xb5dac2ed in _tnl_VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at t_vtx_generic.c:395 #3 0xb5d0dfad in VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at api_arrayelt.c:481 #4 0xb5d0fd13 in _ae_loopback_array_elt (elt=717) at api_arrayelt.c:780 #5 0xb5e3b926 in fallback_drawelements (ctx=<value optimized out>, mode=<value optimized out>, count=27, indices=0xa19e8b70) at t_array_api.c:75 #6 0x08140f90 in ?? () #7 0x08142bd6 in ?? () #8 0x08142652 in ?? () #9 0x08128e85 in ?? () #10 0x08129259 in ?? () #11 0x0812c16f in ?? () #12 0x08142ad9 in ?? () #13 0x0813410a in ?? () #14 0x0810b820 in ?? () #15 0xaba215b9 in idObjective::Event_CamShot () from /opt/doom3-demo/gamex86.so #16 0xabae7cf5 in idClass::ProcessEventArgPtr () from /opt/doom3-demo/gamex86.so #17 0xabae9475 in idEvent::ServiceEvents () from /opt/doom3-demo/gamex86.so #18 0xaba12c31 in idGameLocal::RunFrame () from /opt/doom3-demo/gamex86.so #19 0x080a296f in ?? () #20 0x080a24a4 in ?? () #21 0x080593ee in ?? () #22 0x0820949e in ?? () #23 0xb7c65f73 in __libc_start_main () from /lib/libc.so.6 #24 0x00000001 in ?? () #25 0xbfec7904 in ?? () #26 0xbfec790c in ?? () #27 0x08049d49 in ?? () #28 0xb7d80ff4 in ?? () from /lib/libc.so.6 #29 0x00000000 in ?? () (gdb) directory /usr/local/share/mesa/Mesa-HEAD/src/mesa/tnl Source directories searched: /usr/local/share/mesa/Mesa-HEAD/src/mesa/tnl:$cdir:$cwd (gdb) bt #0 0xb5dadc31 in attrib_8_2 (v=0x9f7cabb8) at t_vtx_generic.c:113 #1 0xb5daaba2 in choose_8_2 (v=0x9f7cabb8) at t_vtx_api.c:471 #2 0xb5dac2ed in _tnl_VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at t_vtx_generic.c:395 #3 0xb5d0dfad in VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at api_arrayelt.c:481 #4 0xb5d0fd13 in _ae_loopback_array_elt (elt=717) at api_arrayelt.c:780 #5 0xb5e3b926 in fallback_drawelements (ctx=<value optimized out>, mode=<value optimized out>, count=27, indices=0xa19e8b70) at t_array_api.c:75 #6 0x08140f90 in ?? () #7 0x08142bd6 in ?? () #8 0x08142652 in ?? () #9 0x08128e85 in ?? () #10 0x08129259 in ?? () #11 0x0812c16f in ?? () #12 0x08142ad9 in ?? () #13 0x0813410a in ?? () #14 0x0810b820 in ?? () #15 0xaba215b9 in idObjective::Event_CamShot () from /opt/doom3-demo/gamex86.so #16 0xabae7cf5 in idClass::ProcessEventArgPtr () from /opt/doom3-demo/gamex86.so #17 0xabae9475 in idEvent::ServiceEvents () from /opt/doom3-demo/gamex86.so #18 0xaba12c31 in idGameLocal::RunFrame () from /opt/doom3-demo/gamex86.so #19 0x080a296f in ?? () #20 0x080a24a4 in ?? () #21 0x080593ee in ?? () #22 0x0820949e in ?? () #23 0xb7c65f73 in __libc_start_main () from /lib/libc.so.6 #24 0x00000001 in ?? () #25 0xbfec7904 in ?? () #26 0xbfec790c in ?? () #27 0x08049d49 in ?? () #28 0xb7d80ff4 in ?? () from /lib/libc.so.6 #29 0x00000000 in ?? () (gdb) info frame Stack level 0, frame at 0xbfec6370: eip = 0xb5dadc31 in attrib_8_2 (t_vtx_generic.c:113); saved eip 0xb5daaba2 called by frame at 0xbfec6380 source language c. Arglist at 0xbfec6368, args: v=0x9f7cabb8 Locals at 0xbfec6368, Previous frame's sp is 0xbfec6370 Saved registers: ebx at 0xbfec6364, ebp at 0xbfec6368, eip at 0xbfec636c (gdb) print *0x9f7cabb8 $1 = 0 (gdb) info args v = (const GLfloat *) 0x9f7cabb8 (gdb) info locals dest = (GLfloat *) 0xad13255c __PRETTY_FUNCTION__ = "attrib_8_2" (gdb) print *0xad13255c $2 = 1069547520 (gdb) up #1 0xb5daaba2 in choose_8_2 (v=0x9f7cabb8) at t_vtx_api.c:471 471 CHOOSERS( 8 ) (gdb) info frame Stack level 1, frame at 0xbfec6380: eip = 0xb5daaba2 in choose_8_2 (t_vtx_api.c:471); saved eip 0xb5dac2ed called by frame at 0xbfec6390, caller of frame at 0xbfec6370 source language c. Arglist at 0xbfec6378, args: v=0x9f7cabb8 Locals at 0xbfec6378, Previous frame's sp is 0xbfec6380 Saved registers: ebp at 0xbfec6378, eip at 0xbfec637c (gdb) info args v = (const GLfloat *) 0x9f7cabb8 (gdb) info locals f = (tnl_attrfv_func) 0xad130420 (gdb) print *0x9f7cabb8 $3 = 0 (gdb) print *0xad130420 $4 = -1244128816 (gdb) up #2 0xb5dac2ed in _tnl_VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at t_vtx_generic.c:395 395 if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB; (gdb) info frame Stack level 2, frame at 0xbfec6390: eip = 0xb5dac2ed in _tnl_VertexAttrib2fvNV (t_vtx_generic.c:395); saved eip 0xb5d0dfad called by frame at 0xbfec63b0, caller of frame at 0xbfec6380 source language c. Arglist at 0xbfec6388, args: index=8, v=0x9f7cabb8 Locals at 0xbfec6388, Previous frame's sp is 0xbfec6390 Saved registers: ebx at 0xbfec6384, ebp at 0xbfec6388, eip at 0xbfec638c (gdb) info args index = 8 v = (const GLfloat *) 0x9f7cabb8 (gdb) info locals No locals. (gdb) print *0x9f7cabb8 $5 = 0 (gdb) up #3 0xb5d0dfad in VertexAttrib2fvNV (index=8, v=0x9f7cabb8) at api_arrayelt.c:481 481 api_arrayelt.c: No such file or directory. in api_arrayelt.c (gdb) directory /usr/local/share/mesa/Mesa-HEAD/src/mesa/main Source directories searched: /usr/local/share/mesa/Mesa-HEAD/src/mesa/main:/usr/local/share/mesa/Mesa-HEAD/src/mesa/tnl:$cdir:$cwd (gdb) info frame Stack level 3, frame at 0xbfec63b0: eip = 0xb5d0dfad in VertexAttrib2fvNV (api_arrayelt.c:481); saved eip 0xb5d0fd13 called by frame at 0xbfec6410, caller of frame at 0xbfec6390 source language c. Arglist at 0xbfec63a8, args: index=8, v=0x9f7cabb8 Locals at 0xbfec63a8, Previous frame's sp is 0xbfec63b0 Saved registers: ebx at 0xbfec63a0, ebp at 0xbfec63a8, esi at 0xbfec63a4, eip at 0xbfec63ac (gdb) list 481 476 CALL_VertexAttrib1fvNV(GET_DISPATCH(), (index, v)); 477 } 478 479 static void GLAPIENTRY VertexAttrib2fvNV(GLuint index, const GLfloat *v)480 { 481 CALL_VertexAttrib2fvNV(GET_DISPATCH(), (index, v)); 482 } 483 484 static void GLAPIENTRY VertexAttrib3fvNV(GLuint index, const GLfloat *v)485 { (gdb) info args index = 8 v = (const GLfloat *) 0x9f7cabb8 (gdb) info locals No locals. (gdb) print *0x9f7cabb8 $6 = 0 (gdb) up #4 0xb5d0fd13 in _ae_loopback_array_elt (elt=717) at api_arrayelt.c:780 780 at->func( at->index, src ); (gdb) info frame Stack level 4, frame at 0xbfec6410: eip = 0xb5d0fd13 in _ae_loopback_array_elt (api_arrayelt.c:780); saved eip 0xb5e3b926 called by frame at 0xbfec6440, caller of frame at 0xbfec63b0 source language c. Arglist at 0xbfec6408, args: elt=717 Locals at 0xbfec6408, Previous frame's sp is 0xbfec6410 Saved registers: ebx at 0xbfec63fc, ebp at 0xbfec6408, esi at 0xbfec6400, edi at 0xbfec6404, eip at 0xbfec640c (gdb) info args elt = 717 (gdb) info locals actx = (const AEcontext *) 0xb6cf7e10 aa = <value optimized out> at = (const AEattrib *) 0xb6cf7f1c (gdb) print *0xb6cf7e10 $7 = -1228182136 (gdb) print *0xb6cf7f1c $8 = -1228181296 (gdb) up #5 0xb5e3b926 in fallback_drawelements (ctx=<value optimized out>, mode=<value optimized out>, count=27, indices=0xa19e8b70) at t_array_api.c:75 75 CALL_ArrayElement(GET_DISPATCH(), ( indices[i] )); (gdb) info frame Stack level 5, frame at 0xbfec6440: eip = 0xb5e3b926 in fallback_drawelements (t_array_api.c:75); saved eip 0x8140f90 called by frame at 0xbfec6460, caller of frame at 0xbfec6410 source language c. Arglist at 0xbfec6438, args: ctx=<value optimized out>, mode=<value optimized out>, count=27, indices=0xa19e8b70 Locals at 0xbfec6438, Previous frame's sp is 0xbfec6440 Saved registers: ebx at 0xbfec642c, ebp at 0xbfec6438, esi at 0xbfec6430, edi at 0xbfec6434, eip at 0xbfec643c (gdb) info args ctx = <value optimized out> mode = <value optimized out> count = 27 indices = (const GLuint *) 0xa19e8b70 (gdb) info locals i = 1 __PRETTY_FUNCTION__ = "fallback_drawelements" (gdb) print *0xa19e8b70 $9 = 717
signature.asc
Description: OpenPGP digital signature