Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#9873 closed defect (fixed)

MOHAWK: Riven: Could not find sound 2 in card 11!

Reported by: angstsmurf Owned by: bgK
Priority: normal Component: Engine: Mohawk
Version: Keywords:
Cc: Game: Riven

Description

I have reproduced this error three times now, but very annoyingly it won't trigger if I reload a save made right before it.

Still, it is reasonably easy to reproduce, even if this explanation may seem complicated. It shouldn't take many minutes if you are familiar with the game.

At the start, leave the cage, walk across the bridge and down to the room with a round "cage" around a chair and two view portals. It is here that the crash will occur later. Pull the lever next to the red and gold view portal to the left; this will open the door in the room with pillars. Move on, into the room you saw in the portal and through the door you just opened. Take the maglev to Jungle Island. Walk up to the chopped forest, then down left. Follow the path down and right until you come to the village where the villagers will run from you. Go up the ladders past the huts and keep going until you get to a shrine with a submarine. Hit the lever next to the sub to lower it. (I think this is what triggers the bug, but I'm not 100% sure). Then retrace your steps, back to the maglev and the starting (Temple) island. Open the heavy door. There will be a hologram of Ghen (I think) briefly shown in the room inside. Go back through the secret door to the left, back to the room with the chair, cage and view portals. When moving towards the chair, the game will crash with the error "Could not find sound 2 in card 11!".

This is the GOG version. I have not been able to test it yet with the original executable.

ScummVM 1.10.0git3669-geb174354b8 (Jul 3 2017 16:55:05)
Features compiled in: TAINTED Vorbis FLAC MP3 SEQ TiMidity RGB zLib MPEG2 FluidSynth Theora AAC FreeType2 JPEG PNG cloud (servers, local)

Attachments (3)

Sparade Terminal-utmatningar.zip (9.8 KB ) - added by angstsmurf 7 years ago.
Heh. I think I might have attached the output from wrong Terminal window. This should be the correct one.
Sparade Terminal-utmatningar 2.zip (7.3 KB ) - added by angstsmurf 7 years ago.
A shorter walk to the same bug, with the latest ScummVM 1.10.0git3675-g13fa1b22a2
Capture d'écran de 2017-07-05 18-59-50.png (194.6 KB ) - added by bgK 7 years ago.
Opening that hatch in book making island triggers the bug

Download all attachments as: .zip

Change History (16)

comment:1 by ctoroman, 7 years ago

I will add: if you open the door to the funicular with a lever and come to the chair, the game crashes

comment:2 by angstsmurf, 7 years ago

That is correct. The game crashes if you just turn around towards the chair after opening the door. But that is a different error message (Assertion failed: (_pos >= _begin), function seek, file common/stream.cpp, line 255. Abort trap: 6), so perhaps that should be a separate bug report?

comment:3 by bgK, 7 years ago

Thanks for your report. Please post that other crash as a separate issue.

comment:4 by bgK, 7 years ago

I can't reproduce the "Could not find sound 2 in card 11!" error, and the scripts in my version don't enable sound list 2 anywhere near card 11.

Can you please enable the script execution trace in ScummVM and post the result here for the whole sequence leading to the crash?
To enable the script trace, run Riven in ScummVM. Hit Ctrl-d to open the debug console. Enter "debugflag_enable script". The scripts will now be printed to standard output and to the ScummVM log file.

comment:5 by angstsmurf, 7 years ago

I managed to trigger it again, but I had to walk around quite a bit. I attached the terminal output file to the issue. The path through the game up until the crash is a lot longer and more confused than my description above. I basically kept trying things at random, and finally it triggered. I hope this is still helpful.

Note that this is the same build as before. I haven't checked if the latest changes affect this in any way.

by angstsmurf, 7 years ago

Heh. I think I might have attached the output from wrong Terminal window. This should be the correct one.

by angstsmurf, 7 years ago

A shorter walk to the same bug, with the latest ScummVM 1.10.0git3675-g13fa1b22a2

comment:6 by angstsmurf, 7 years ago

I reproduced it again with the latest commit (13fa1b2) and attached a new terminal output file. It seems that it is baiting and lowering the trap that triggers the bug, not lowering the sub. Sorry about that!

comment:7 by dafioram, 7 years ago

I was also able to reproduce this.

Video: https://streamable.com/dfazq

ScummVM: 1.10.0git-3674-g02dec19 64bit
Game: Riven DVD 10th-Anniversary/v1.2 Windows/English
Tester OS: Win7-64

comment:8 by macca8, 7 years ago

I was able to reproduce this bug, but not consistently or using the method described above.

Current Daily Build: 1.10.0git3675-g13fa1b2 (5 Jul 2017)
Game Version: English, 5-CD (contains v1.02 patch files)
Platform: Intel Mac (OS X 10.6.8)

In my case, the bug occurred without needing to leave Temple Island. My preliminary steps were to start a new game, complete all expected actions on the dome side of the island, then go directly to the room with the chair and approach the chair.
When I typed 'exit' to leave the console, ScummVM quit without any further error messages (the log reported the error, and that it closed successfully).

comment:9 by bgK, 7 years ago

Owner: set to bgK

Thanks to you all for your help. Using the script traces, I've been able to track down the bug. It is due to a script scheduling a sound to be played at a point of time in a video. The sound is not triggered when playing the intended video, but in the "cage opening" video due to a bug in ScummVM.
The fix will be ready soon.

comment:10 by angstsmurf, 7 years ago

Great news! Would it be possible to tell exactly which user action or script that triggers this? I spent some time trying to find the shortest test case, i.e. the quickest way to reproduce it when starting a new game, and it would be fun to hear the "correct answer".

by bgK, 7 years ago

Opening that hatch in book making island triggers the bug

comment:11 by bgK, 7 years ago

Opening the hatch from the new attachment in book making island sets the condition that triggers the bug back in temple island.

There may be other actions in other locations that can cause the bug as well.

comment:12 by bgK, 7 years ago

Resolution: fixed
Status: newclosed

This is fixed as of commit 31d428fd0. The fix will be available in the next daily build.

comment:13 by macca8, 7 years ago

Thanks bgK. I've confirmed that the bug described in #9891 (specifically, powering on without the bridge preset to change position, also powering off and then back on) caused this issue in my case. Now resolved on both issues.

Note: See TracTickets for help on using tickets.