Poll

What platform would you run Quetoo on if it was on Steam?
GNU/Linux (Any distribution)
51%
OS X (Any version)
13%
Windows (Any version)
33%
SteamOS (Not Steam)
1%
Other (BSD etc.)
2%
Total votes: 3196

rev 473 segfaults on debian with Intel 965 graphics

April 29, 2009 - 05:23am

I just svn updated and recompiled, now q2w crashes. I'm quite sure it's due to a bug in the intel graphics driver though...

This is what happends:


spirit@threat:~/share/builds/quake2world$ svn update
At revision 473.
spirit@threat:~/share/builds/quake2world$ quake2world
Quake2World 0.1.0
Sound initialization..
Sound initialized 22050KHz 2 channels.
Video initialization..
Renderer: Mesa DRI Intel(R) 965GM 4.1.3002 x86/MMX/SSE2
Vendor: Tungsten Graphics, Inc
Version: 1.4 Mesa 7.0.4
Segmentation fault
spirit@threat:~/share/builds/quake2world$ uname -a
Linux threat 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux
spirit@threat:~/share/builds/quake2world$ cat /etc/debian_version
squeeze/sid

If I run q2w from gdb, the screen turns black and nothing happens. After killing the gdb process from a non-X11 terminal, my mouse and keyboard don't work anymore under X11 and my resolution is sth like 640x480 => reboot. Killing the process also means that I can't see what happened in the gdb window, of course. So how do I get more info on what's going wrong?

EDIT: It just came to my mind that I also updated quite a few debian packages so this may also be related to a new gfx driver rather than the latest q2w updates. Question on how to get more info remains though...

April 30, 2009 - 10:11am

Try valgrind?

July 08, 2009 - 12:12pm

Looks like a video driver issue. Relevant parts are printed fat:


spirit@threat:~$ uname -a
Linux threat 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686 GNU/Linux
spirit@threat:~$ cd share/builds/quake2world/ && svn up && cd
At revision 584.
spirit@threat:~$ valgrind quake2world
==6579== Memcheck, a memory error detector.
==6579== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==6579== Using LibVEX rev 1884, a library for dynamic binary translation.
==6579== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==6579== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework.
==6579== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==6579== For more details, rerun with: -v
==6579==
Quake2World 0.1.0
Sound initialization..
==6579== Syscall param semctl(IPC_SET, arg.buf) points to uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4AB26C3: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAA8E2: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAB32C: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75E91: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A765BC: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A766BF: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AB5D95: _snd_pcm_softvol_open (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75E91: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A766F5: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A92B7C: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75E91: (within /usr/lib/libasound.so.2.0.0)
==6579== Address 0xbebd7acc is on thread 1's stack
==6579==
==6579== Thread 2:
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA8F08: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAB6BA: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70860: snd_pcm_start (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8EF94: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70860: snd_pcm_start (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75AFB: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D185: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A9B4: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4ABB251: snd_timer_start (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA8F45: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAB6BA: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70860: snd_pcm_start (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8EF94: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70860: snd_pcm_start (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75AFB: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D185: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A9B4: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A6A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A9094C: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75A5A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D185: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A9B4: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x441279A: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4ABB1F1: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A19: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A9094C: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75A5A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D185: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A9B4: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x441279A: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A6A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9BBF: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6C90A: snd_pcm_avail_update (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E539: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6C90A: snd_pcm_avail_update (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A759E3: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D185: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A9B4: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A6A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAA76C: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6D211: snd_pcm_mmap_commit (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E19E: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E3B9: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E4DF: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6D211: snd_pcm_mmap_commit (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81B40: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75A28: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
Sound initialized 22050KHz 2 channels.
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4ABB1F1: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A19: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9BBF: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6C90A: snd_pcm_avail_update (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E358: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8E4DF: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A6D211: snd_pcm_mmap_commit (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81B40: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A75A28: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A81D4D: snd_pcm_mmap_writei (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70283: snd_pcm_writei (in /usr/lib/libasound.so.2.0.0)
S_LoadMusic: Failed to load default.
Video initialization..
==6579==
==6579== Thread 1:
==6579== Syscall param ioctl(generic) points to uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x639D21C: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x639D2B7: driGetCurrentVBlank (in /usr/lib/dri/i965_dri.so)
==6579== by 0x63A7E09: intelWindowMoved (in /usr/lib/dri/i965_dri.so)
==6579== by 0x63A842D: intelMakeCurrent (in /usr/lib/dri/i965_dri.so)
==6579== by 0x639E6E9: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x43B98D7: glXMakeContextCurrent (in /usr/lib/libGL.so.1.2)
==6579== by 0x43B9A62: glXMakeCurrent (in /usr/lib/libGL.so.1.2)
==6579== by 0x4445631: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x4445720: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x444BDEF: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x4435BCF: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== Address 0xbebd7ee0 is on thread 1's stack
Renderer: Mesa DRI Intel(R) 965GM 4.1.3002 x86/MMX/SSE2
Vendor: Tungsten Graphics, Inc
Version: 1.4 Mesa 7.0.4
==6579==

==6579== Invalid read of size 4
==6579== at 0x64F05F8: _slang_pop_var_table (in /usr/lib/dri/i965_dri.so)
==6579== by 0x65495F3: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549D66: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549C26: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x654B21F: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549A5A: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549D66: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549C26: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x654B21F: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549A5A: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549D66: (within /usr/lib/dri/i965_dri.so)
==6579== by 0x6549D58: (within /usr/lib/dri/i965_dri.so)
==6579== Address 0x10 is not stack'd, malloc'd or (recently) free'd

==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4A70C40: snd_pcm_hwsync (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A6A: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAB7CB: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70720: snd_pcm_drain (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8ED7F: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70720: snd_pcm_drain (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D0E9: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A02A: SDL_AudioQuit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x44094A4: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440951D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x4409D4E: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4ABB1F1: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA9A19: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AAB7CB: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70720: snd_pcm_drain (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A8ED7F: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A70720: snd_pcm_drain (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D0E9: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A02A: SDL_AudioQuit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x44094A4: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440951D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x4409D4E: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== Syscall param ioctl(arg) contains uninitialised byte(s)
==6579== at 0x40007F2: (within /lib/ld-2.9.so)
==6579== by 0x4ABB1F1: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AB1ED7: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4AA8F93: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A707C0: snd_pcm_drop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A833D4: (within /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A707C0: snd_pcm_drop (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x4A76AE8: snd_pcm_close (in /usr/lib/libasound.so.2.0.0)
==6579== by 0x443D0F9: (within /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440A02A: SDL_AudioQuit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x44094A4: SDL_QuitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579== by 0x440951D: SDL_Quit (in /usr/lib/libSDL-1.2.so.0.11.2)
==6579==
==6579== ERROR SUMMARY: 8583 errors from 13 contexts (suppressed: 405 from 7)
==6579== malloc/free: in use at exit: 19,568,769 bytes in 10,275 blocks.
==6579== malloc/free: 49,998 allocs, 39,723 frees, 45,101,827 bytes allocated.
==6579== For counts of detected errors, rerun with: -v
==6579== Use --track-origins=yes to see where uninitialised values come from
==6579== searching for pointers to 10,275 not-freed blocks.
==6579== checked 44,165,120 bytes.
==6579==
==6579== LEAK SUMMARY:
==6579== definitely lost: 54,758 bytes in 108 blocks.
==6579== possibly lost: 13,664,156 bytes in 924 blocks.
==6579== still reachable: 5,849,855 bytes in 9,243 blocks.
==6579== suppressed: 0 bytes in 0 blocks.
==6579== Rerun with --leak-check=full to see details of leaked memory.

Segmentation fault

spirit@threat:~$

July 08, 2009 - 12:47pm

Nice. You can try #dri on Freenode.