Opened 2 years ago
Closed 2 years 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 , 2 years ago
| Attachment: | lol-cd.005 added |
|---|
comment:1 by , 2 years ago
comment:2 by , 2 years 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 , 2 years 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...