Opened 8 months ago

Closed 8 months ago

#12374 closed defect (fixed)

SCUMM: Amiga MI2 and Indy4 crashes at startup since SCUMMVM release 2.1.0

Reported by: SJwInCK Owned by: athrxx
Priority: normal Component: Engine: SCUMM
Version: Keywords: Amiga scumm MI2 Fate
Cc: SJwInCK Game: Monkey Island 2

Description

As of release 2.1.0 of ScummVM the Amiga versions of Monkey Island 2 and Fate of Atlantis crashes immediately after startup of these games. Other Amiga versions of Scumm (MM, Zak, Loom, Indy 3) are OK.
It works normally on all versions of scummvm up to (and including) release 2.0.0.
I have english (floppy versions ofcourse) of these games.

The last message I get on the console is:
Assertion failed!
Programm: C:\...\scummvm.exe
File: ./common/array.h, Line 158
Expression: idx <_size

Change History (9)

comment:1 by SJwInCK, 8 months ago

This defect manifests both on Windows and Android ports.

comment:2 by athrxx, 8 months ago

Thanks for your report.

Both of these games work fine for me on Windows. So this is going to be difficult to track down, unless someone else can reproduce it.

My first guess would have been that it might have something to do with the recently added Amiga iMuse drivers, since these are exactly the games that would be affected. But the Amiga iMuse driver doesn't even use the code from common/array.h.

Next best guess would be that it is related to the keymapper (which recently has been enforced for all engines and platforms and which does use the array code all the time.

Could you please try if the games work if you add them again in the launcher? (Maybe it's just something with incorrectly upgraded launcher settings). Could you please also confirm whether you have all the amiga*.ims files in the game directories? (I just checked if ScummVM gives a valid error message in case you don't. And it does that for me. But let's make sure...)

comment:3 by SJwInCK, 8 months ago

No effect after complete de- and reinstallation. However, I think your first guest is probably right. When I disable the music device (no music) the game runs. Yes, I have all ims files in the folder. Hope you can find a cause and solution.

comment:4 by athrxx, 8 months ago

Okay, I have now also tried Ubuntu (with and without address sanitizer) and MI2 and INDY4 Amiga both work fine for me there, too.

And I have just downloaded some of our current official Windows release builds for testing:

https://downloads.scummvm.org/frs/scummvm/2.2.0/scummvm-2.2.0-win32-x86_64.zip https://downloads.scummvm.org/frs/scummvm/2.2.0/scummvm-2.2.0-win32.zip

Are these the ones you've been using?
Both (32 and 64 bit) work fine for me with MI2 and INDY4 Amiga.

Which files do you have in your game folders for these games?

comment:5 by SJwInCK, 8 months ago

Yes, I used and checked these official releases (both).
I also checked it on my Windows 10 Pro (20H2 x64) laptop and
guess what, it worked. But still not on my other PC (also Win10 Pro 20H2 x64).
I use the exact same resources from network location.
And also the Android port won't work. Checked on two devices (Android 10 One and Android Pie).
Must be some other configuration setting.

comment:6 by athrxx, 8 months ago

Could you please attach a copy of your config file (from the Windows PC where it doesn't work).
Should be located at %appdata%\ScummVM\scummvm.ini

comment:7 by SJwInCK, 8 months ago

OK, now I got the perpetrator. It's the enable_gs setting.
Enabling will cause the crash.
Then again, only for the Amiga iMuse versions.

Anyhow, here is the ini file I used:

[scummvm]
gui_browser_native=true
filtering=false
autosave_period=0
tts_enabled=false
mute=false
speech_volume=192
native_mt32=true
opl_driver=auto
gui_use_game_language=false
local_server_port=12345
kbdmouse_speed=3
talkspeed=60
mt32_device=mt32
extrapath=C:\Program Files\ScummVM\Extra\CM32L\
tts_voice=-1
subtitles=true
multi_midi=false
fullscreen=false
updates_check=0
gui_browser_show_hidden=false
browser_lastpath=N:\Games\Adventures\Lucasarts\Indiana Jones 4\Amiga
gm_device=null
sfx_volume=192
music_volume=192
midi_gain=100
lastselectedgame=atlantis-amiga
music_driver=auto
speech_mute=false
vsync=true
aspect_ratio=false
versioninfo=2.2.0
gui_theme=SCUMMREMASTERED
enable_gs=true

[atlantis-amiga]
filtering=false
description=Indiana Jones and the Fate of Atlantis (Floppy/Amiga/English)
extra=Floppy
talkspeed=60
path=N:\Games\Adventures\Lucasarts\Indiana Jones 4\Amiga\
engineid=scumm
subtitles=true
fullscreen=false
gameid=atlantis
render_mode=amiga
language=en
platform=amiga
music_driver=amiga
opl_driver=auto
aspect_ratio=false
speech_mute=true
guioptions=sndNoSpeech midiAmiga lang_English

[monkey2-amiga]
filtering=false
description=Monkey Island 2: LeChuck's Revenge (Amiga/English)
talkspeed=60
path=N:\Games\Adventures\Lucasarts\Monkey Island 2\Amiga\
engineid=scumm
subtitles=true
fullscreen=false
gameid=monkey2
render_mode=amiga
language=en
platform=amiga
music_driver=amiga
opl_driver=auto
aspect_ratio=false
speech_mute=true
guioptions=sndNoSpeech midiAmiga lang_English

comment:8 by athrxx, 8 months ago

Nice. Thanks for doing all the work here :-)

I have now committed a fix, so that the Roland GS setting is ignored.

comment:9 by athrxx, 8 months ago

Component: --Unset--Engine: SCUMM
Owner: set to athrxx
Resolution: fixed
Status: newclosed
Summary: Amiga MI2 and Indy4 crashes at startup since SCUMMVM release 2.1.0SCUMM: Amiga MI2 and Indy4 crashes at startup since SCUMMVM release 2.1.0
Note: See TracTickets for help on using tickets.