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
