Opened 16 years ago

Closed 16 years ago

#4332 closed defect (fixed)

goldrush! crashes when pressing F5

Reported by: SF/spectralmks Owned by: wjp
Priority: normal Component: Engine: AGI
Version: Keywords:
Cc: Game: Goldrush

Description

version: 0.13.1 and trunk of SVN (r40409) game: Amiga and DOS Goldrush! Language: English Version: Floppy (Amiga: 1.01 1989-01-13 aka 2.05 1989-03-09, pc version isn't recognized (unknown v3 Game/DOS)) Platform: Linux (OpenSuse 11.1) Compiler: Gcc 4.3.2

How to reproduce: Start game, press enter until you are in the game. Press F5 to get the save game dialog. Here it crashes with SIGSEGV.

backtrace: #0 0xb7a727da in memcpy () from /lib/libc.so.6 #1 0x081bfee6 in Agi::SoundMgr::fillAudio (this=0x8a1b390, udata=0x8a1b390, stream=0x8a75ed0, len=2048) at engines/agi/sound.cpp:1198 #2 0x081c0034 in Agi::SoundMgr::premixerCall (this=0x8a1b390, data=0x8a75ed0, len=512) at engines/agi/sound.cpp:1231 #3 0x081c1b8e in Agi::SoundMgr::readBuffer (this=0x8a1b390, buffer=0x8a75ed0, numSamples=1024) at ./engines/agi/sound.h:442 #4 0x08684ea6 in Audio::CopyRateConverter<false, false>::flow (this=0x88bcb20, input=@0x8a1b390, obuf=0x88ea718, osamp=1024, vol_l=256, vol_r=256) at sound/rate.cpp:302 #5 0x08670167 in Audio::Channel::mix (this=0x8920dc0, data=0x88ea718, len=1024) at sound/mixer.cpp:444 #6 0x08670fb6 in Audio::MixerImpl::mixCallback (this=0x88e4a00, samples=0x88ea718 "", len=1024) at sound/mixer.cpp:234 #7 0x080522ba in OSystem_SDL::mixCallback (sys=0x8891210, samples=0x88ea718 "", len=4096) at backends/platform/sdl/sdl.cpp:649 #8 0xb7ca73d2 in SDL_RunAudio () from /usr/lib/libSDL-1.2.so.0 #9 0xb7caf1bb in SDL_RunThread () from /usr/lib/libSDL-1.2.so.0 #10 0xb7cfd81d in RunThread () from /usr/lib/libSDL-1.2.so.0 #11 0xb7c8c1b5 in start_thread () from /lib/libpthread.so.0 #12 0xb7ace3be in clone () from /lib/libc.so.6

Ticket imported from: #2789647. Ticket imported from: bugs/4332.

Change History (5)

comment:1 by sev-, 16 years ago

This is wrong thread. Could you, please switch to thread 0 and provide the backtrace.

Also could you, please, provide md5 of your logdir file?

comment:2 by sev-, 16 years ago

Owner: set to sev-

comment:3 by SF/spectralmks, 16 years ago

Hi, backtrace for thread 1 (first thread, there is no thread 0 so i guess this is the one you want) is: (gdb) thread 1 [Switching to thread 1 (Thread 0xb793b700 (LWP 24257))]#0 0xffffe430 in __kernel_vsyscall () (gdb) bt #0 0xffffe430 in __kernel_vsyscall () #1 0xb7add3d6 in __xstat () from /lib/libc.so.6 #2 0x0871484c in __stat (file=0x8ae5afc "/data/scummsaves/gr", buf=0xbfffd8b0) at stat.c:52 #3 0x086e95bd in POSIXFilesystemNode::setFlags (this=0x8ae5ad0) at ./backends/fs/posix/posix-fs.cpp:45 #4 0x086e9b88 in POSIXFilesystemNode (this=0x8ae5ad0, p=@0xbfffda24) at ./backends/fs/posix/posix-fs.cpp:92 #5 0x086e9bea in POSIXFilesystemFactory::makeFileNodePath (this=0x8900ef8, path=@0xbfffda24) at backends/fs/posix/posix-fs-factory.cpp:40 #6 0x086f8d7d in FSNode (this=0xbfffda14, p=@0xbfffda24) at common/fs.cpp:47 #7 0x086eec49 in DefaultSaveFileManager::openForLoading (this=0x8933e58, filename=0xbfffda8c "agi-fanmade.000") at backends/saves/default/default-saves.cpp:79 #8 0x081f3fba in Agi::AgiEngine::getSavegameDescription (this=0x8a893e8, num=0, buf=0xbfffdbe6 "��\214ب�N�ʷ\b", showEmpty=true) at engines/agi/saveload.cpp:522 #9 0x081f418a in Agi::AgiEngine::selectSlot (this=0x8a893e8) at engines/agi/saveload.cpp:553 #10 0x081f50a5 in Agi::AgiEngine::saveGameDialog (this=0x8a893e8) at engines/agi/saveload.cpp:746 #11 0x081ece96 in cmd_save_game (p=0xbfffe11b "") at engines/agi/op_cmd.cpp:492 #12 0x081e9148 in Agi::AgiEngine::runLogic (this=0x8a893e8, n=0) at engines/agi/op_cmd.cpp:1788 #13 0x081df085 in Agi::AgiEngine::interpretCycle (this=0x8a893e8) at engines/agi/cycle.cpp:118 #14 0x081df481 in Agi::AgiEngine::playGame (this=0x8a893e8) at engines/agi/cycle.cpp:349 #15 0x081df82e in Agi::AgiEngine::runGame (this=0x8a893e8) at engines/agi/cycle.cpp:442 #16 0x081d8e89 in Agi::AgiEngine::go (this=0x8a893e8) at engines/agi/agi.cpp:808 #17 0x081c8b94 in Agi::AgiBase::run (this=0x8a893e8) at ./engines/agi/agi.h:706 #18 0x080544b3 in runGame (plugin=0x89076a8, system=@0x8900258, edebuglevels=@0xbfffeaa8) at base/main.cpp:192 #19 0x08054d38 in scummvm_main (argc=1, argv=0xbfffed94) at base/main.cpp:314 #20 0x0805184a in main (argc=1, argv=0xbfffed94) at backends/platform/sdl/main.cpp:108

as for md5's they are..

pc - unrecognized: Please, report the following data to the ScummVM team along with name
of the game you tried to add and its version/language/etc.:
"grdir", "3ae052117feb483f01a9017025fbb366", 2399
"object", "9fa64d3f27c489933c6d9700e94f1791", 1814
(about goldrush gives: Gold Rush! version 2.01, Dec. 22, 1988)

amiga: don't have the md5 here since detection works, but the about dialog says version 2.05, march 9, 1989

also found a mac version that emits the same behavior: version 2.01, Dec. 22, 1988

Hope this is the info you need.

comment:4 by wjp, 16 years ago

Fixed by r40437. It was caused by a static buffer being too small for target names such as 'goldrush-amiga'.

comment:5 by wjp, 16 years ago

Owner: changed from sev- to wjp
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.