Opened 11 years ago

Closed 11 years ago

#6358 closed defect (fixed)

LSL6: ScummVM locks up at Electro-Shock room

Reported by: SF/eoakford Owned by: bluegr
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Leisure Suit Larry 6

Description

Just when Char is about to give Larry Electro-Shock treatment, ScummVM completely hangs. Fortunately, this cutscene can be skipped.

ScummVM version: 1.7.0git561-gd530985 Language: English Version: CD Low-Res (from GOG.com) Platform: Debian 64-bit

Ticket imported from: #3614566. Ticket imported from: bugs/6358.

Attachments (2)

lsl6-cd.006 (41.4 KB ) - added by SF/eoakford 11 years ago.
Savegame at Electro-Shock Room.
lsl6.021 (39.4 KB ) - added by digitall 11 years ago.
LSL6 from Collection CD Savegame for replication

Download all attachments as: .zip

Change History (10)

by SF/eoakford, 11 years ago

Attachment: lsl6-cd.006 added

Savegame at Electro-Shock Room.

comment:1 by wjp, 11 years ago

I don't have time to investigate properly right now, but it hangs for me too, with the main thread waiting for a lock somewhere in UpdateCues while the audio thread is in an apparent infinite loop in MidiParser_SCI::jumpToTick.

It didn't hang with a quick test with an older commit (ef61c64f3f8)

comment:2 by digitall, 11 years ago

Can't load the attached savegame with my version of LSL6 (from the LSL Collection). Will have to play through from start and see if I can replicate this. If so, I'll run a bisection.

comment:3 by digitall, 11 years ago

OK. Replicated as described as Char turns the voltage up, ScummVM hangs in what looks like a deadlock. Attaching savegame for replication. Starting bisection.

by digitall, 11 years ago

Attachment: lsl6.021 added

LSL6 from Collection CD Savegame for replication

comment:4 by digitall, 11 years ago

A gdb backtrace from the lockup shows the following of relevance: #7 0x000000000061f0e2 in Common::StackLock::StackLock (this=0x7fffffffc350, mutex=..., mutexName=0x0) at common/mutex.cpp:57 #8 0x00000000004a3864 in Sci::SciMusic::getSlot (this=0x10f9890, obj=...) at engines/sci/sound/music.cpp:223 #9 0x00000000004a7b5d in Sci::SoundCommandParser::processUpdateCues ( this=0x10f9850, obj=...) at engines/sci/sound/soundcmd.cpp:443 #10 0x00000000004a7b32 in Sci::SoundCommandParser::kDoSoundUpdateCues ( this=0x10f9850, argc=1, argv=0x10edaf4, acc=...) at engines/sci/sound/soundcmd.cpp:438 #11 0x000000000044c84b in Sci::kDoSoundUpdateCues (s=0x10ccf20, argc=1, argv=0x10edaf4) at engines/sci/engine/ksound.cpp:60 #12 0x000000000046a000 in Sci::callKernelFunc (s=0x10ccf20, kernelCallNr=45, argc=1) at engines/sci/engine/vm.cpp:431

comment:5 by digitall, 11 years ago

Completed bisection: f280789afe397e384a81411a65e1e12a308c1125 is the first bad commit commit f280789afe397e384a81411a65e1e12a308c1125 Author: Willem Jan Palenstijn <wjp@usecode.org> Date: Tue Apr 16 23:10:09 2013 +0200

SCI: Don't suppress loop delta in SCI1 midi

This fixes bug #3293354.

comment:6 by digitall, 11 years ago

The referenced bug artifact in that commit is "SCI: QFG3: Note timing in intro": https://sourceforge.net/tracker/?func=detail&aid=3293354&group_id=37116&atid=418820

comment:7 by bluegr, 11 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:8 by bluegr, 11 years ago

Fixed in commit 0f30ba2. Please try the next daily version of ScummVM

Note: See TracTickets for help on using tickets.