Opened 9 months ago
Closed 9 months ago
#14990 closed defect (fixed)
LOL: Crash when going up in the Draracle's cave
Reported by: | cspiegel | Owned by: | athrxx |
---|---|---|---|
Priority: | normal | Component: | Engine: Kyra |
Version: | Keywords: | ||
Cc: | Game: | Lands of Lore |
Description
I've tested the latest Git version (01a2d2ed) as well as 2.8.0, and both exhibit this crash.
I'm attaching a save file (done with the GOG version of LOL). Load the save, then try to go up the ladder. scummvm crashes, with the following backtrace (Git build):
Thread 1 "scummvm" received signal SIGSEGV, Segmentation fault. 0x0000555559cf1c6a in Common::SearchSet::hasFile (this=0x55555cc06878, path=...) at common/archive.cpp:424 424 if (it->_arc->hasFile(path)) (gdb) bt #0 0x0000555559cf1c6a in Common::SearchSet::hasFile (this=0x55555cc06878, path=...) at common/archive.cpp:424 #1 0x0000555559cf1c6c in Common::SearchSet::hasFile (this=0x55555cc06858, path=...) at common/archive.cpp:424 #2 0x00005555576cc1d5 in Kyra::Resource::exists (this=0x55555cc06630, file=..., errorOutOnFail=false) at engines/kyra/resource/resource.cpp:356 #3 0x0000555557750310 in Kyra::Sound::isVoicePresent (this=0x55555ce87850, file=0x55555d80f250 "LADDER") at engines/kyra/sound/sound.cpp:60 #4 0x000055555757b892 in Kyra::LoLEngine::snd_playSoundEffect (this=0x55555cf68d60, track=137, volume=255) at engines/kyra/sound/sound_lol.cpp:189 #5 0x00005555575603d5 in Kyra::LoLEngine::olol_playSoundEffect (this=0x55555cf68d60, script=0x7fffffffb1c0) at engines/kyra/script/script_lol.cpp:1169 #6 0x0000555557571346 in Common::Functor1Mem<Kyra::EMCState*, int, Kyra::LoLEngine>::operator() (this=0x55555ce96ff0, v1=0x7fffffffb1c0) at ./common/func.h:460 #7 0x0000555557720354 in Kyra::EMCInterpreter::op_sysCall (this=0x55555ce95b70, script=0x7fffffffb1c0) at engines/kyra/script/script.cpp:316 #8 0x000055555771fced in Kyra::EMCInterpreter::run (this=0x55555ce95b70, script=0x7fffffffb1c0) at engines/kyra/script/script.cpp:218 #9 0x0000555557557ac7 in Kyra::LoLEngine::runLevelScriptCustom (this=0x55555cf68d60, block=290, flags=2, charNum=-1, item=0, reg3=0, reg4=0) at engines/kyra/script/script_lol.cpp:87 #10 0x0000555557557947 in Kyra::LoLEngine::runLevelScript (this=0x55555cf68d60, block=290, flags=2) at engines/kyra/script/script_lol.cpp:65 #11 0x0000555557528c58 in Kyra::LoLEngine::moveParty (this=0x55555cf68d60, direction=2, unk1=0, unk2=0, buttonShape=80) at engines/kyra/engine/scene_lol.cpp:695 #12 0x000055555753c821 in Kyra::LoLEngine::clickedUpArrow (this=0x55555cf68d60, button=0x55555cf69d58) at engines/kyra/gui/gui_lol.cpp:953 #13 0x0000555557557692 in Common::Functor1Mem<Kyra::Button*, int, Kyra::LoLEngine>::operator() (this=0x55555ce93170, v1=0x55555cf69d58) at ./common/func.h:460 #14 0x0000555557541f43 in Kyra::GUI_LoL::processButtonList (this=0x55555d80fe80, buttonList=0x55555cf69d58, inputFlag=0, mouseWheel=0 '\000') at engines/kyra/gui/gui_lol.cpp:2176 #15 0x0000555557654b3b in Kyra::KyraEngine_v1::checkInput (this=0x55555cf68d60, buttonList=0x55555cf692a8, mainLoop=true, eventFlag=0) at engines/kyra/engine/kyra_v1.cpp:338 #16 0x000055555753b93c in Kyra::LoLEngine::gui_updateInput (this=0x55555cf68d60) at engines/kyra/gui/gui_lol.cpp:765 #17 0x00005555575118ff in Kyra::LoLEngine::runLoop (this=0x55555cf68d60) at engines/kyra/engine/lol.cpp:948 #18 0x000055555750f498 in Kyra::LoLEngine::go (this=0x55555cf68d60) at engines/kyra/engine/lol.cpp:578 #19 0x0000555557523b8b in Kyra::KyraEngine_v1::run (this=0x55555cf68d60) at ./engines/kyra/kyra_v1.h:205 #20 0x0000555555fb66c1 in runGame (plugin=0x55555c71f280, enginePlugin=0x55555c32b620, system=..., debugLevels=...) at base/main.cpp:326 #21 0x0000555555fb8a03 in scummvm_main (argc=1, argv=0x7fffffffda88) at base/main.cpp:806 #22 0x0000555555fb36bc in main (argc=1, argv=0x7fffffffda88) at backends/platform/sdl/posix/posix-main.cpp:44
Attachments (1)
Change History (5)
by , 9 months ago
Attachment: | lol-cd.005 added |
---|
comment:1 by , 9 months ago
comment:2 by , 9 months ago
Thanks for the report. I have made a fix. Please test with the latest build if it works for you as intended.
comment:4 by , 9 months ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
I had hoped there would be something easy to diagnose, but not for me. One problem seems to be that character 4 is saying something, and as far as I understand the characters should be numbered 0 through 3.
Though LolEngine::snd_playCharacterSpeech() seems to think that anything up to and including 64 is ok, so I don't know...