Menu

#6618 RINGWORLD2: Game can hang when restoring savegame

open
nobody
None
5
2014-06-07
2014-06-06
No

While preparing bug report #6617 I noticed that if I try to load the savegame attached to that bug report while the creature that appears when you play the flute (and the game is waiting for me to click to dismiss a message), ScummVM will hang on a black screen.

Discussion

  • digitall

    digitall - 2014-06-07

    The relevant savegame is:
    https://sourceforge.net/p/scummvm/bugs/6617/attachment/ringworld2-cd.028

    Replicated here with latest git master on Linux x86_64. Will get gdb backtrace to see where it is hung up.

     
  • digitall

    digitall - 2014-06-07

    Ah, it is stuck in an Stacklock mutex in the audio. Backtrace follows:
    #4 0x00000000006e0940 in SdlMutexManager::lockMutex
    (this=0xc033c0,
    mutex=0xe051c0) at backends/mutex/sdl/sdl-mutex.cpp:36
    #5 0x00000000006cdeaa in ModularBackend::lockMutex
    (this=0xbb1010,
    mutex=0xe051c0) at backends/modular-backend.cpp:222
    #6 0x00000000007bc06b in Common::StackLock::lock
    (this=0x7ffffffb7020)
    at common/mutex.cpp:68
    #7 0x00000000007bbfee in Common::StackLock::StackLock
    (this=0x7ffffffb7020,
    mutex=..., mutexName=0x0) at common/mutex.cpp:57
    #8 0x0000000000775c80 in Audio::MixerImpl::stopHandle
    (this=0xe2d330,
    handle=...) at audio/mixer.cpp:324
    #9 0x00000000005bdb57 in TsAGE::PlayStream::stop
    (this=0x12d7c60)
    at engines/tsage/sound.cpp:2646
    #10 0x00000000005a71dd in
    TsAGE::Ringworld2::VisualSpeaker::stopSpeaking (
    this=0x1336590) at engines/tsage/ringworld2
    /ringworld2_speakers.cpp:269
    #11 0x000000000065ffc9 in TsAGE::StripManager::remove
    (this=0x13359c0)
    at engines/tsage/converse.cpp:746
    #12 0x0000000000423d2a in TsAGE::Action::remove
    (this=0x1335980)
    at engines/tsage/core.cpp:195
    #13 0x00000000004de15e in TsAGE::Ringworld2::SceneExt::remove
    (this=0x1335980)
    at engines/tsage/ringworld2/ringworld2_logic.cpp:402
    #14 0x00000000005b231e in TsAGE::SceneManager::sceneChange
    (this=0x12d2d68)
    at engines/tsage/scenes.cpp:78
    #15 0x00000000005b2d0c in
    TsAGE::SceneManager::listenerSynchronize (
    this=0x12d2d68, s=...) at engines/tsage/scenes.cpp:252
    #16 0x000000000041cc81 in TsAGE::Saver::restore
    (this=0x1205300, slot=28)
    at engines/tsage/saveload.cpp:201
    #17 0x00000000004341a4 in TsAGE::SceneHandler::dispatch
    (this=0x12282a0)
    at engines/tsage/core.cpp:4445
    #18 0x00000000004ded4d in
    TsAGE::Ringworld2::SceneHandlerExt::dispatch (
    this=0x12282a0) at engines/tsage/ringworld2
    /ringworld2_logic.cpp:630
    #19 0x000000000043372f in TsAGE::GameHandler::execute
    (this=0x12282a0)
    at engines/tsage/core.cpp:4263
    #20 0x00000000005b498e in TsAGE::Game::execute
    (this=0x1228280)
    at engines/tsage/scenes.cpp:617
    #21 0x000000000041f714 in TsAGE::TSageEngine::run
    (this=0x121bc40)
    at engines/tsage/tsage.cpp:134

     

    Last edit: digitall 2014-06-07