Opened 3 months ago

Closed 3 months ago

#14924 closed defect (fixed)

[SCI] Crash at portal in lighthouse

Reported by: vvs- Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Lighthouse

Description

When opening a portal in lighthouse the game crashes with debugger console. Here is a log output:

 ScummVM 2.9.0git1813-g24863f1496-dirty (Jan  1 1980 00:00:00)
 Vorbis FLAC MP3 ALSA SEQ TiMidity RGB zLib MPEG2 FluidSynth FreeType2 JPEG PNG cloud (servers) ENet SDL2 TinyGL OpenGL (with shaders)
 --- Log opened.
 WARNING: initWithU32String: Fribidi not available, will use input strings as fallback.!
 Running Lighthouse: The Dark Being (DOS/English)
 resmap.001: 47abc502c0b541b582db28f38dbc6a56, 7801 bytes.
 resmap.002: c68db5333f152fea6ca2dfc75cad8b34, 7573 bytes.
 ressci.001: 14e922c47b92156377cb49e241691792, 99591924 bytes.
 ressci.002: 175468431a979b9f317c294ce3bc1430, 94628315 bytes.
 WARNING: audio.32510 is being resumed in the future!
 WARNING: audio.32509 is being resumed in the future!
 WARNING: audio.250 is being resumed in the future!
 [lighthouse-xx.yyy.zzz 360/0 globalVMD::play @ 6100]: Uninitialized read for temp 0!
 Debugger started, type 'exit' to return to the game.
 Type 'help' to see a little list of commands and variables.
 ERROR: [lighthouse-xx.yyy.zzz 360/0 globalVMD::play @ 6100]: Uninitialized read for temp 0!


 --- Log closed successfully.

The same thing happened in recent stable as well. But it works in older ScummVM 2.0 and I'm attaching a save game from that version. Just pull the lever and watch.

This is Lighthouse 2.0a (Sierra official patch). OS Linux x86_64.

Attachments (1)

lighthouse.001 (34.6 KB ) - added by vvs- 3 months ago.

Download all attachments as: .zip

Change History (4)

by vvs-, 3 months ago

Attachment: lighthouse.001 added

comment:1 by sluicebox, 3 months ago

Owner: set to sluicebox
Resolution: fixed
Status: newpending

Hello! Thank you for reporting this; it's a script bug in the original that relies on the undefined value of an uninitialized variable.

Fixed in: https://github.com/scummvm/scummvm/commit/5a12df7b4b54b572860fce812bc516f6e2cd4d52

This is so straightforward from looking at the scripts that I didn't bother setting up Lighthouse to test this. Please confirm that the fix works and I'll close this.

You saw different behavior because that was a release build. Uninitialized variable reads are so common in SCI games that in release builds, we just guess a value and proceed in the hopes that the game works, and log a warning. In non-release builds it's an error so that it gets the attention it needs: an investigation to supply the correct value the buggy script needs to work. We've taken care of most of them, every now and again we find out about a straggler like this.

comment:2 by vvs-, 3 months ago

This works as expected, indeed.

Thank you very much!

comment:3 by sluicebox, 3 months ago

Status: pendingclosed

Great! Thank you for confirming, and thank you again for reporting this

Note: See TracTickets for help on using tickets.