[Scummvm-tracker] [ScummVM :: Bugs] #13953: TINSEL: DW2 - random setMusicSceneDetails() mutex lock-ups when changing scenes

ScummVM :: Bugs trac at scummvm.org
Sun Dec 4 13:08:06 UTC 2022


#13953: TINSEL: DW2 - random setMusicSceneDetails() mutex lock-ups when changing
scenes
-------------------------+----------------------------
Reporter:  dwatteau      |      Owner:  (none)
    Type:  defect        |     Status:  new
Priority:  normal        |  Component:  Engine: Tinsel
 Version:                |   Keywords:  mutex,lock-up
    Game:  Discworld II  |
-------------------------+----------------------------
 ScummVM 2.6.1 and current Git HEAD. I can only trigger this on OSX PPC,
 but I think this may be a general issue that's more likely to be triggered
 there (see below).

 In a full gameplay (9 hours) of Discworld II DOS/GB, the game randomly got
 stuck on the fade-to-black screen around 15 times when leaving a
 scene/room for the next one. I had to force quit ScummVM, restart it and
 load the nearest save. DW1 was very stable on the same setup, in
 comparison.

 Areas where this would frequently happen when leaving the scene were: the
 cemetery, the vampire's crypt, the University garden, and the place
 zooming on the two or three camels in Djelibeybi. The latter is where it
 was the most likely to happen (more than 1 time out of 10).

 When this happens, the engine appears to (randomly) get stuck right after
 `Setting music scene details: camels.mus` is displayed, when
 PCMMusicPlayer::setMusicSceneDetails() calls `setVol(255)`. This brings us
 to MixerImpl::setChannelVolume() calling `Common::StackLock lock(_mutex)`
 but never coming back from it.

 Attaching some saves and logs below...

 FWIW, this port is big-endian ppc32, uses GCC 4.8.5 and SDL 1.2. The bug
 happens with either a -O2 release build or a -O0 debug build. With Debian
 ppc32 on the same machine, I can't reproduce it, but I wonder if OSX PPC
 10.4/10.5 isn't just "luckier" in triggering some threading issues, as in
 bug #13661 for SAGA.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13953>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list