segfault
Peter Jay Salzman
p at dirac.org
Tue Aug 6 17:06:18 EDT 2002
hola,
quake2 is segfaulting on me about 3 seconds into the opening demo. it
happens repeatedly right when the dude readies the weapon in his hand.
i have reason to believe it has to do with QMAX.
here's the backtrace:
#0 0xbffff6e4 in ?? ()
#1 0x0805b84c in CL_R_Explode_SP (origin=0xbffff870)
at src/client/cl_tent.c:243
#2 0x0805cbe6 in CL_ParseTEnt () at src/client/cl_tent.c:1011
#3 0x0805abcd in CL_ParseServerMessage () at src/client/cl_parse.c:764
#4 0x0805816a in CL_ReadPackets () at src/client/cl_main.c:1045
#5 0x080598bf in CL_Frame (msec=28) at src/client/cl_main.c:1760
#6 0x0807802c in Qcommon_Frame (msec=28) at src/qcommon/common.c:1592
#7 0x08086002 in main (argc=1, argv=0xbffff9c4) at
src/linux/sys_linux.c:332
note that this is with the "non-debug" version. i'm surprised that
there's a symbol table to read. could this be an error in the makefile?
in cl_tent.c, line 243:
void CL_R_Explode_SP (vec3_t origin)
{
CL_Explosion_Particle (origin, 0, true, true);
}
gdb sees origin as a "float *" pointing to a type vec_t. it stores
0xbffff870 and has a value of -184. i don't know if this is a "good
value" or not.
this wasn't particularly illuminating. i'm guessing that the segfault
happened in whatever is represented by frame 0. so i built and
installed the debug version of quake2. the same segfault happened at
the same part of the demo, and here's the resulting backtrace:
#0 0x40046af4 in dlopen () from /lib/libdl.so.2
#1 0x0805f15c in CL_ParseServerMessage () at src/client/cl_parse.c:764
#2 0x0805bd15 in CL_ReadPackets () at src/client/cl_main.c:1045
#3 0x0805d926 in CL_Frame (msec=36) at src/client/cl_main.c:1760
#4 0x0807fd73 in Qcommon_Frame (msec=36) at src/qcommon/common.c:1592
#5 0x08090eb1 in main (argc=1, argv=0xbffff994) at
src/linux/sys_linux.c:332
looking at frame 1:
763 case svc_temp_entity:
764 CL_ParseTEnt ();
765 break;
well, i don't know what to say. the debug version didn't list all the
frames. wierd.
anyway, the segfault appears to really happen at cl_tent.c, line 243.
something happens in the call to CL_R_Explode_SP().
this binary was built with BUILD_QMAX=YES. i also have maxpak.pak,
downloaded from icculus.org in ./baseq2.
as a last note, i tossed my quake2 disk a long, long time ago when i
decided to never use microsoft again. however, i kept the pak files. i
have two of them:
name md5sum
------- ------
pak0.pak 1ec55a724dc3109fd50dde71ab581d70
pak2.pak c8217cc5557b672a87fc210c2347d98d
can someone check these md5sums for me?
also, is there anything i can do to help with this? i'd really like
to play quake2 again. love that game! :) and i've never played quake2
ctf. i'm itching to try.
thanks.
pete
--
GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D
More information about the quake2
mailing list