Opened 11 years ago

Closed 11 years ago

#4332 closed defect (fixed)

goldrush! crashes when pressing F5

Reported by: SF/spectralmks Owned by: wjp
Priority: normal Component: Engine: AGI
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-, 11 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-, 11 years ago

Owner: set to sev-

comment:3 by SF/spectralmks, 11 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, 11 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, 11 years ago

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