Opened 2 months ago

Closed 2 months ago

#15270 closed defect (fixed)

Crash in Alpinia

Reported by: danifs25 Owned by: athrxx
Priority: normal Component: Engine: Kyra
Version: Keywords:
Cc: danifs25 Game: Kyrandia 2

Description

Game crashes just after taking the snowman potion and try to go to climb the mountain.

Attached small video and game save.

Attachments (2)

kyra2-cd.008 (15.8 KB ) - added by danifs25 2 months ago.
hof_bug_480.mov (1.9 MB ) - added by danifs25 2 months ago.

Download all attachments as: .zip

Change History (10)

by danifs25, 2 months ago

Attachment: kyra2-cd.008 added

comment:1 by danifs25, 2 months ago

No video can be attached due to file size limitations. Apologies.

comment:2 by eriktorbjorn, 2 months ago

I was able to load the savegame, but it's been so long since I played the game that I couldn't figure out how to make it crash. I'll try again later with a walkthrough.

Would it be possible to re-encode the video at lower quality to make it smaller?

comment:3 by eriktorbjorn, 2 months ago

I've played from that savegame to getting to the rainbow machine in the Mystic's cabin twice. Once normally, and once using the Valgrind memory debugger. I saw no crash.

Of course, there are a few different configurations that may be relevant. I was using The FluidSynth MIDI driver, for instance.

I did get a couple of warnings like this when quitting the game. Obviously not good, but not related to this crash either:

==384548== Invalid read of size 4
==384548==    at 0x4796AFD: Kyra::TIMInterpreter::refreshTimersAfterPause(unsigned int) (script_tim.cpp:275)
==384548==    by 0x46C8E7C: Kyra::KyraEngine_HoF::pauseEngineIntern(bool) (kyra_hof.cpp:181)
==384548==    by 0x6B02EA4: Engine::resumeEngine() (engine.cpp:698)
==384548==    by 0x6B04B6C: PauseToken::~PauseToken() (engine.cpp:1040)
==384548==    by 0x6BD7FB9: DefaultEventManager::pollEvent(Common::Event&) (default-events.cpp:219)
==384548==    by 0x46BE870: Kyra::KyraEngine_v1::updateInput() (kyra_v1.cpp:447)
==384548==    by 0x46BDE54: Kyra::KyraEngine_v1::checkInput(Kyra::Button*, bool, int) (kyra_v1.cpp:244)
==384548==    by 0x46CA5A4: Kyra::KyraEngine_HoF::runLoop() (kyra_hof.cpp:455)
==384548==    by 0x46C984A: Kyra::KyraEngine_HoF::go() (kyra_hof.cpp:280)
==384548==    by 0x46C030C: Kyra::KyraEngine_v1::run() (kyra_v1.h:205)
==384548==    by 0x28A35D3: runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) (main.cpp:311)
==384548==    by 0x28A59C9: scummvm_main (main.cpp:796)

by danifs25, 2 months ago

Attachment: hof_bug_480.mov added

comment:4 by danifs25, 2 months ago

I was able to reencode the video and I have attached it here now.

To reproduce the issue, just take the potion and go down the icy mountain, don't go inside the hunter's cabin.

Also, I should mention that I'm using the GOG version of the game, and SCUMM version 2.8.1 on MACos 12.7.5, in case it makes any difference.

Last edited 2 months ago by danifs25 (previous) (diff)

comment:5 by eriktorbjorn, 2 months ago

Thanks, now I can reproduce it too. (When you wrote "taking the snowman potion", I read that as picking it up.)

comment:6 by athrxx, 2 months ago

I have made a fix. Could you please check if it works for you?

comment:7 by danifs25, 2 months ago

That worked!

Thanks,

comment:8 by athrxx, 2 months ago

Owner: set to athrxx
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.