kirben@mainframe:~/scummvm$ valgrind --db-attach=yes --num-callers=30 ./scummvm -d0 -b550 ft ==2474== Memcheck, a memory error detector for x86-linux. ==2474== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==2474== Using valgrind-2.4.0, a program supervision framework for x86-linux. ==2474== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==2474== For more details, rerun with: -v ==2474== Debuglevel (from command line): 0 audio_alsa: no cards found! ==2511== Invalid free() / delete / delete[] ==2511== at 0x1B902A8D: free (vg_replace_malloc.c:152) ==2511== by 0x1BD264DB: free_mem (in /lib/libc-2.3.2.so) ==2511== by 0x1BD26248: __libc_freeres (in /lib/libc-2.3.2.so) ==2511== by 0x1B8FC9F7: _vgw(float, long double,...)(...)(long double,...)(short) (vg_intercept.c:55) ==2511== by 0x1BF38CCC: esd_open_sound (in /usr/lib/libesd.so.0.2.34) ==2511== by 0x1BA5F740: (within /usr/lib/libSDL-1.2.so.0.7.0) ==2511== by 0x1BA5A692: SDL_AudioInit (in /usr/lib/libSDL-1.2.so.0.7.0) ==2511== by 0x1BA594DA: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.7.0) ==2511== by 0x1BA59556: SDL_Init (in /usr/lib/libSDL-1.2.so.0.7.0) ==2511== by 0x80509D7: OSystem_SDL::initBackend() (sdl.cpp:54) ==2511== by 0x8058F4B: main (main.cpp:393) ==2511== Address 0x1BAE1F00 is not stack'd, malloc'd or (recently) free'd ==2511== ==2511== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- n ==2511== ==2511== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 82 from 3) ==2511== malloc/free: in use at exit: 352361 bytes in 8935 blocks. ==2511== malloc/free: 12676 allocs, 3742 frees, 718135 bytes allocated. ==2511== For counts of detected errors, rerun with: -v ==2511== searching for pointers to 8935 not-freed blocks. ==2511== checked 2433420 bytes. ==2511== ==2511== LEAK SUMMARY: ==2511== definitely lost: 59 bytes in 2 blocks. ==2511== possibly lost: 18336 bytes in 302 blocks. ==2511== still reachable: 333966 bytes in 8631 blocks. ==2511== suppressed: 0 bytes in 0 blocks. ==2511== Use --leak-check=full to see details of leaked memory. ==2474== Syscall param write(buf) points to uninitialised byte(s) ==2474== at 0x1BAEEDFB: write (in /lib/libpthread-0.10.so) ==2474== by 0x1BAEAAED: pthread_create@@GLIBC_2.1 (in /lib/libpthread-0.10.so) ==2474== by 0x1BAA3666: SDL_SYS_CreateThread (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA3492: SDL_CreateThread (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA4642: SDL_SYS_TimerInit (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA3FC5: SDL_TimerInit (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA59494: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA59556: SDL_Init (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x80509D7: OSystem_SDL::initBackend() (sdl.cpp:54) ==2474== by 0x8058F4B: main (main.cpp:393) ==2474== Address 0x52BFE590 is on thread 1's stack ==2474== ==2474== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- n ==2474== ==2474== Syscall param write(buf) points to uninitialised byte(s) ==2474== at 0x1BAEEDFB: write (in /lib/libpthread-0.10.so) ==2474== by 0x1BAA3666: SDL_SYS_CreateThread (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA3492: SDL_CreateThread (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA4642: SDL_SYS_TimerInit (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BAA3FC5: SDL_TimerInit (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA59494: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA59556: SDL_Init (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x80509D7: OSystem_SDL::initBackend() (sdl.cpp:54) ==2474== by 0x8058F4B: main (main.cpp:393) ==2474== Address 0x52BFE68C is on thread 1's stack ==2474== ==2474== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- n ==2474== Warning: bad signal number 0 in sigaction() Looking for ft Trying to start game 'Full Throttle' WARNING: Sound mixer initialization failed! DEBUG: room number in boot = 550 DEBUG: sputm-debug = 1 DEBUG: exit room 1 DEBUG: exit room 1 DEBUG: build-shadow-palettes DEBUG: exit room 1 DEBUG: build-shadow-palettes DEBUG: exit room 1 DEBUG: build-shadow-palettes DEBUG: ben has mace DEBUG: ben has 2x4 DEBUG: ben has wrench ==2474== ==2474== Conditional jump or move depends on uninitialised value(s) ==2474== at 0x1BA8D33B: X11_SetKeyboardState (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA8C611: (within /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA8C8AD: X11_PumpEvents (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA9DE82: SDL_PumpEvents (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x1BA9DEC8: SDL_PollEvent (in /usr/lib/libSDL-1.2.so.0.7.0) ==2474== by 0x804BDC2: OSystem_SDL::pollEvent(OSystem::Event&) (events.cpp:186) ==2474== by 0x80DC9F8: Scumm::ScummEngine::parseEvents() (input.cpp:52) ==2474== by 0x80A80D9: Scumm::SmushPlayer::play(char const*, int, int) (smush_player.cpp:1233) ==2474== by 0x8094DC8: Scumm::Insane::startVideo(char const*, int, int, int, int, unsigned char*, int) (insane.cpp:618) ==2474== by 0x809F5D2: Scumm::Insane::runScene(int) (insane_scenes.cpp:88) ==2474== by 0x81269C7: Scumm::ScummEngine_v6::o6_kernelSetFunctions() (script_v6.cpp:2520) ==2474== by 0x8120A62: Scumm::ScummEngine_v6::executeOpcode(unsigned char) (script_v6.cpp:379) ==2474== by 0x8112D47: Scumm::ScummEngine::executeScript() (script.cpp:457) ==2474== by 0x8112674: Scumm::ScummEngine::runScriptNested(int) (script.cpp:332) ==2474== by 0x8111DFE: Scumm::ScummEngine::runScript(int, bool, bool, int*, int) (script.cpp:85) ==2474== by 0x81220B9: Scumm::ScummEngine_v6::o6_jumpToScript() (script_v6.cpp:858) ==2474== by 0x8120A62: Scumm::ScummEngine_v6::executeOpcode(unsigned char) (script_v6.cpp:379) ==2474== by 0x8112D47: Scumm::ScummEngine::executeScript() (script.cpp:457) ==2474== by 0x8112674: Scumm::ScummEngine::runScriptNested(int) (script.cpp:332) ==2474== by 0x8111DFE: Scumm::ScummEngine::runScript(int, bool, bool, int*, int) (script.cpp:85) ==2474== by 0x81220B9: Scumm::ScummEngine_v6::o6_jumpToScript() (script_v6.cpp:858) ==2474== by 0x8120A62: Scumm::ScummEngine_v6::executeOpcode(unsigned char) (script_v6.cpp:379) ==2474== by 0x8112D47: Scumm::ScummEngine::executeScript() (script.cpp:457) ==2474== by 0x8112674: Scumm::ScummEngine::runScriptNested(int) (script.cpp:332) ==2474== by 0x8111DFE: Scumm::ScummEngine::runScript(int, bool, bool, int*, int) (script.cpp:85) ==2474== by 0x8063C64: Scumm::ScummEngine::go() (scumm.cpp:1853) ==2474== by 0x8058B7F: runGame(GameDetector&, OSystem&) (main.cpp:282) ==2474== by 0x8059081: main (main.cpp:419) ==2474== ==2474== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- n ==2530== ==2530== Thread 3: ==2530== Invalid read of size 4 ==2530== at 0x80AA218: Scumm::SmushMixer::stop() (smush_mixer.cpp:151) ==2530== by 0x80A7B4D: Scumm::SmushPlayer::seekSan(char const*, int, int) (smush_player.cpp:1146) ==2530== by 0x809734D: Scumm::Insane::smush_setupSanFile(char const*, int, int) (insane.cpp:1455) ==2530== by 0x80972A9: Scumm::Insane::smush_setupSanFromStart(char const*, int, int, int, int) (insane.cpp:1440) ==2530== by 0x80959F9: Scumm::Insane::queueSceneSwitch(int, unsigned char*, char const*, int, int, int, int) (insane.cpp:850) ==2530== by 0x81494B2: Scumm::Insane::mineChooseRoad(int) (insane_ben.cpp:308) ==2530== by 0x8148D13: Scumm::Insane::turnBen(bool) (insane_ben.cpp:115) ==2530== by 0x80A2E86: Scumm::Insane::postCase3(unsigned char*, int, int, int, int, int) (insane_scenes.cpp:1138) ==2530== by 0x80A2442: Scumm::Insane::procPostRendering(unsigned char*, int, int, int, int, int) (insane_scenes.cpp:902) ==2530== by 0x80A6D5F: Scumm::SmushPlayer::handleFrame(Scumm::Chunk&) (smush_player.cpp:945) ==2530== by 0x80A77A8: Scumm::SmushPlayer::parseNextFrame() (smush_player.cpp:1044) ==2530== by 0x80A4168: Scumm::SmushPlayer::timerCallback(void*) (smush_player.cpp:220) ==2530== by 0x828CFB7: Timer::handler(int) (timer.cpp:89) ==2530== by 0x828CE13: Timer::timer_handler(int) (timer.cpp:69) ==2530== by 0x1BAA437E: (within /usr/lib/libSDL-1.2.so.0.7.0) ==2530== by 0x1BAA40FD: SDL_ThreadedTimerCheck (in /usr/lib/libSDL-1.2.so.0.7.0) ==2530== by 0x1BAA4609: (within /usr/lib/libSDL-1.2.so.0.7.0) ==2530== by 0x1BAA33EA: SDL_RunThread (in /usr/lib/libSDL-1.2.so.0.7.0) ==2530== by 0x1BAA35FE: (within /usr/lib/libSDL-1.2.so.0.7.0) ==2530== by 0x1BAE8CC3: pthread_start_thread (in /lib/libpthread-0.10.so) ==2530== by 0x1BCF4BE6: clone (in /lib/libc-2.3.2.so) ==2530== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==2530== ==2530== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- y starting debugger ==2530== starting debugger with cmd: /usr/bin/gdb -nw /proc/2531/fd/1015 2531 GNU gdb 6.1.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1". Attaching to program: /proc/2531/fd/1015, process 2531 Reading symbols from /usr/local/lib/valgrind/vg_inject.so...done. Loaded symbols for /usr/local/lib/valgrind/vg_inject.so Reading symbols from /usr/local/lib/valgrind/vgpreload_memcheck.so...done. Loaded symbols for /usr/local/lib/valgrind/vgpreload_memcheck.so Reading symbols from /usr/lib/libvorbisfile.so.3...done. Loaded symbols for /usr/lib/libvorbisfile.so.3 Reading symbols from /usr/lib/libvorbis.so.0...done. Loaded symbols for /usr/lib/libvorbis.so.0 Reading symbols from /usr/lib/libogg.so.0...done. Loaded symbols for /usr/lib/libogg.so.0 Reading symbols from /usr/lib/libFLAC.so.4...done. Loaded symbols for /usr/lib/libFLAC.so.4 Reading symbols from /usr/lib/libmad.so.0...done. Loaded symbols for /usr/lib/libmad.so.0 Reading symbols from /usr/lib/libasound.so.2...done. Loaded symbols for /usr/lib/libasound.so.2 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /usr/lib/libSDL-1.2.so.0...done. Loaded symbols for /usr/lib/libSDL-1.2.so.0 Reading symbols from /lib/libpthread.so.0...done. [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 2474)] [New Thread 32769 (LWP 2529)] [New Thread 16386 (LWP 2530)] Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/libstdc++.so.5...done. Loaded symbols for /usr/lib/libstdc++.so.5 Reading symbols from /lib/libm.so.6...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /usr/lib/libgcc_s.so.1...done. Loaded symbols for /usr/lib/libgcc_s.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /usr/X11R6/lib/libX11.so.6...done. Loaded symbols for /usr/X11R6/lib/libX11.so.6 Reading symbols from /usr/X11R6/lib/libXext.so.6...done. Loaded symbols for /usr/X11R6/lib/libXext.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /usr/X11R6/lib/libXcursor.so.1...done. Loaded symbols for /usr/X11R6/lib/libXcursor.so.1 Reading symbols from /usr/X11R6/lib/libXrender.so.1...done. Loaded symbols for /usr/X11R6/lib/libXrender.so.1 Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2 Reading symbols from /opt/kde/lib/libartsflow.so.1...done. Loaded symbols for /opt/kde/lib/libartsflow.so.1 Reading symbols from /usr/lib/./libesd.so.0...done. Loaded symbols for /usr/lib/./libesd.so.0 Reading symbols from /usr/lib/./libaudiofile.so.0...done. Loaded symbols for /usr/lib/./libaudiofile.so.0 Reading symbols from /opt/kde/lib/libartsflow_idl.so.1...done. Loaded symbols for /opt/kde/lib/libartsflow_idl.so.1 Reading symbols from /opt/kde/lib/libmcop.so.1...done. Loaded symbols for /opt/kde/lib/libmcop.so.1 Reading symbols from /usr/lib/./libgmodule-2.0.so.0...done. Loaded symbols for /usr/lib/./libgmodule-2.0.so.0 Reading symbols from /usr/lib/./libgthread-2.0.so.0...done. Loaded symbols for /usr/lib/./libgthread-2.0.so.0 Reading symbols from /usr/lib/./libglib-2.0.so.0...done. Loaded symbols for /usr/lib/./libglib-2.0.so.0 Reading symbols from /lib/libnss_compat.so.2...done. Loaded symbols for /lib/libnss_compat.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 0x080aa218 in Scumm::SmushMixer::stop (this=0x1be2b6d8) at scumm/smush/smush_mixer.cpp:151 151 _channels[i].stream->finish(); (gdb) bt #0 0x080aa218 in Scumm::SmushMixer::stop (this=0x1be2b6d8) at scumm/smush/smush_mixer.cpp:151 #1 0x080a7b4e in Scumm::SmushPlayer::seekSan (this=0x1c9a4cb0, file=0x8329394 "tomine.san", pos=0, contFrame=0) at scumm/smush/smush_player.cpp:1146 #2 0x0809734e in Scumm::Insane::smush_setupSanFile (this=0x1c551a18, filename=0x8329394 "tomine.san", offset=0, contFrame=0) at scumm/insane/insane.cpp:1455 #3 0x080972aa in Scumm::Insane::smush_setupSanFromStart (this=0x1c551a18, filename=0x8329394 "tomine.san", setupsan2=96, step1=-1, step2=-1, setupsan1=0) at scumm/insane/insane.cpp:1440 #4 0x080959fa in Scumm::Insane::queueSceneSwitch (this=0x1c551a18, sceneId=8, fluPtr=0x0, filename=0x8329394 "tomine.san", arg_C=64, arg_10=0, startFrame=0, numFrames=0) at scumm/insane/insane.cpp:850 #5 0x081494b3 in Scumm::Insane::mineChooseRoad (this=0x1c551a18, buttons=1) at scumm/insane/insane_ben.cpp:308 #6 0x08148d14 in Scumm::Insane::turnBen (this=0x1c551a18, controllable=true) at scumm/insane/insane_ben.cpp:115 #7 0x080a2e87 in Scumm::Insane::postCase3 (this=0x1c551a18, renderBitmap=0x1c80761c "!!!! \037\036\035\034\034\034\033\033\031\027\025\023\022\022\022\023\024\025\027\031\033\033\034\034\035\035\035\035\036\037 !!!\"", '#' , "\"\"\"!!! \036\035\034\033\033\030\027\025\023\022\022\021\022\022\023\024\025\027\030\031\033\033\034\035\037 !", '#' to continue, or q to quit--- 27 times>, "\"\"\"\"\"\"\"\"", '#' , "\"\"\"", '!' , " !!!!\"\"\"", '#' ..., codecparam=0, setupsan12=0, setupsan13=0, curFrame=156, maxFrame=229) at scumm/insane/insane_scenes.cpp:1138 #8 0x080a2443 in Scumm::Insane::procPostRendering (this=0x1c551a18, renderBitmap=0x1c80761c "!!!! \037\036\035\034\034\034\033\033\031\027\025\023\022\022\022\023\024\025\027\031\033\033\034\034\035\035\035\035\036\037 !!!\"", '#' , "\"\"\"!!! \036\035\034\033\033\030\027\025\023\022\022\021\022\022\023\024\025\027\030\031\033\033\034\035\037 !", '#' , "\"\"\"\"\"\"\"\"", '#' , "\"\"\"", '!' , " !!!!\"\"\"", '#' ..., codecparam=0, setupsan12=0, setupsan13=0, curFrame=156, maxFrame=229) at scumm/insane/insane_scenes.cpp:902 #9 0x080a6d60 in Scumm::SmushPlayer::handleFrame (this=0x1c9a4cb0, b=@0x1c37b338) at scumm/smush/smush_player.cpp:945 #10 0x080a77a9 in Scumm::SmushPlayer::parseNextFrame (this=0x1c9a4cb0) at scumm/smush/smush_player.cpp:1044 #11 0x080a4169 in Scumm::SmushPlayer::timerCallback (refCon=0x1c9a4cb0) at scumm/smush/smush_player.cpp:220 #12 0x0828cfb8 in Timer::handler (this=0x1c3cad48, t=10) at common/timer.cpp:89 #13 0x0828ce14 in Timer::timer_handler (t=10) at common/timer.cpp:69 #14 0x1baa437f in SDL_RemoveTimer () from /usr/lib/libSDL-1.2.so.0 #15 0x1baa40fe in SDL_ThreadedTimerCheck () from /usr/lib/libSDL-1.2.so.0 ---Type to continue, or q to quit--- #16 0x1baa460a in SDL_Delay () from /usr/lib/libSDL-1.2.so.0 #17 0x1b8ee490 in _dl_runtime_resolve () from /lib/ld-linux.so.2 #18 0x1c3c7c00 in ?? () #19 0x523ffae4 in ?? () #20 0x1baa33eb in SDL_RunThread () from /usr/lib/libSDL-1.2.so.0 Previous frame inner to this frame (corrupt stack?) (gdb) quit The program is running. Quit anyway (and detach it)? (y or n) y