Heretik wrote:
I haven't done that for some time, but just running it with valgrind
should give you some more information.
$ valgrind nexuiz
Just for the record: It has to be
"cd /usr/lib/games/nexuiz && valgrind ./nexuiz-sdl" to bypass the
wrapper script.
I don't think the log really helps, but the last lines of the valgrind
log are attached.
I also tried to use gdb, but Nexuiz just freezes when the segfault
appears and I have to kill the Xserver. Without debug symbols the
backtrace wouldn't really help anyway.
^7Server: Nexuiz build 12:39:37 Sep 4 2006 (progs 42255 crc)
^7
^7<===================================>
^7
^7^3Downer
^7CDAudio: Bad track number 0.
^7<-- server to client keepalive
^7<-- server to client keepalive
^7No CD in player.
^7^1autoswitch turned on
==7414==
==7414== Invalid read of size 4
==7414== at 0x4C98BF3: r300EmitArrays (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C8DB87: r300_run_vb_render (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C82066: (within /usr/lib/dri/r300_dri.so)
==7414== by 0x4C21FBC: glDrawRangeElements (in /usr/lib/libGL.so.1.2)
==7414== by 0x8094111: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x809B8A6: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A39EA: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A40F6: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A43E9: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A6DB0: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x809AF54: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x809D9A1: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== Address 0x10202138 is 0 bytes after a block of size 2,592 alloc'd
==7414== at 0x40054A1: malloc (vg_replace_malloc.c:149)
==7414== by 0x813CDFE: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80D05DA: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80E3446: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80E37D4: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x8121DE5: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x8131409: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x810795D: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80FFE49: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x8124B48: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80B04C1: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80B0B1A: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414==
==7414== Conditional jump or move depends on uninitialised value(s)
==7414== at 0x4C7FC30: radeon_mm_alloc (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C83BE0: r300RefillCurrentDmaRegion (in /usr/lib/dri/r300_dri.s o)
==7414== by 0x4C83ECA: r300AllocDmaRegion (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C9855B: r300EmitArrays (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C8DB87: r300_run_vb_render (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C82066: (within /usr/lib/dri/r300_dri.so)
==7414== by 0x4C21FBC: glDrawRangeElements (in /usr/lib/libGL.so.1.2)
==7414== by 0x8094111: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x809B8A6: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A39EA: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A40F6: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A43E9: (within /usr/lib/games/nexuiz/nexuiz-sdl)
^7You got the ^2Mortar
==7414==
==7414== Invalid read of size 4
==7414== at 0x4C8BD2D: r300_setup_textures (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C8CBF6: r300UpdateShaderStates (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C81FF2: (within /usr/lib/dri/r300_dri.so)
==7414== by 0x4C21FBC: glDrawRangeElements (in /usr/lib/libGL.so.1.2)
==7414== by 0x8094111: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x809B8A6: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x81121FE: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x811396B: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x81152B3: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x80A5A74: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x81183CC: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== by 0x8118DEB: (within /usr/lib/games/nexuiz/nexuiz-sdl)
==7414== Address 0x5FC is not stack'd, malloc'd or (recently) free'd
==7414==
==7414== Syscall param ioctl(arg) contains uninitialised byte(s)
==7414== at 0x4900D792: (within /lib/ld-2.3.6.so)
==7414== by 0x49D3B111: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==7414== by 0x49D2BEFB: (within /usr/lib/libasound.so.2.0.0)
==7414== by 0x49D2CB0A: (within /usr/lib/libasound.so.2.0.0)
==7414== by 0x49CF5101: snd_pcm_drain (in /usr/lib/libasound.so.2.0.0)
==7414== by 0x40503F9: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401EF55: SDL_AudioQuit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E42B: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E48D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401ECDC: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x498C58B7: (within /lib/tls/i686/cmov/libc-2.3.6.so)
==7414== by 0x4C8CBF6: r300UpdateShaderStates (in /usr/lib/dri/r300_dri.so)
==7414==
==7414== Syscall param ioctl(arg) contains uninitialised byte(s)
==7414== at 0x4900D792: (within /lib/ld-2.3.6.so)
==7414== by 0x49D3B111: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==7414== by 0x49D32587: snd_pcm_direct_timer_stop (in /usr/lib/libasound.so.2 .0.0)
==7414== by 0x49D2BA73: (within /usr/lib/libasound.so.2.0.0)
==7414== by 0x49CF51A1: snd_pcm_drop (in /usr/lib/libasound.so.2.0.0)
==7414== by 0x49CFC6E4: snd_pcm_close (in /usr/lib/libasound.so.2.0.0)
==7414== by 0x4050409: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401EF55: SDL_AudioQuit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E42B: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E48D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401ECDC: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x498C58B7: (within /lib/tls/i686/cmov/libc-2.3.6.so)
==7414==
==7414== Conditional jump or move depends on uninitialised value(s)
==7414== at 0x4C82D28: r300DestroyContext (in /usr/lib/dri/r300_dri.so)
==7414== by 0x4C790B7: (within /usr/lib/dri/r300_dri.so)
==7414== by 0x4C75336: (within /usr/lib/dri/r300_dri.so)
==7414== by 0x4BF4BD2: (within /usr/lib/libGL.so.1.2)
==7414== by 0x4055DE1: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x405A5A6: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x405A7C2: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x404A3ED: SDL_VideoQuit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E414: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401E48D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x401ECDC: (within /usr/lib/libSDL-1.2.so.0.11.0)
==7414== by 0x498C58B7: (within /lib/tls/i686/cmov/libc-2.3.6.so)
==7414==
==7414== ERROR SUMMARY: 5917 errors from 62 contexts (suppressed: 25 from 1)
==7414== malloc/free: in use at exit: 134,589,748 bytes in 32,261 blocks.
==7414== malloc/free: 314,321 allocs, 282,060 frees, 1,467,472,153 bytes allocat ed.
==7414== For counts of detected errors, rerun with: -v
==7414== searching for pointers to 32,261 not-freed blocks.
==7414== checked 188,986,012 bytes.
==7414==
==7414== LEAK SUMMARY:
==7414== definitely lost: 26,123 bytes in 141 blocks.
==7414== possibly lost: 126,922 bytes in 811 blocks.
==7414== still reachable: 134,436,703 bytes in 31,309 blocks.
==7414== suppressed: 0 bytes in 0 blocks.
==7414== Use --leak-check=full to see details of leaked memory.
Segmentation fault