Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#6600 closed defect (fixed)

SCI: Castle of Dr Brain - kUnLoad error after loading a game

Reported by: misterhands Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Castle of Dr. Brain

Description

Using a recent Win32 build by Kirben
Castle of Dr Brain DOS English version 1.1

After loading a savegame made during the 2nd word game, and entering the game
(you may need to move the cursor over the word grid to trigger the crash):
parameter 0: 0000:0085 (integer), should be null, integer
parameter 1: 0022:08d1 (reference, invalid), should be null, integer, reference
[VM] kUnLoad[1]: signature mismatch via method SWord::upDate (room 320, script 377, localCall 0xffffffff)!

Clicking on the EXIT button before the crash gives a similar error, only the method is different:
parameter 0: 0000:0085 (integer), should be null, integer
parameter 1: 0022:08d1 (reference, invalid), should be null, integer, reference
[VM] kUnLoad[1]: signature mismatch via method theWord::show (room 320, script 377, localCall 0xffffffff)!

Bug #4942 was about the same issue, and it was supposed to be fixed.
https://sourceforge.net/p/scummvm/bugs/4942/

Also found some irc logs about this:
http://echelog.com/logs/browse/scummvm/1279922400

Ticket imported from: bugs/6600.

Attachments (1)

castlebrain.009 (46.0 KB ) - added by misterhands 5 years ago.

Download all attachments as: .zip

Change History (6)

by misterhands, 5 years ago

Attachment: castlebrain.009 added

comment:1 by m-kiewitz, 5 years ago

It was fixed back then, but a commit removed the workarounds:
https://github.com/scummvm/scummvm/commit/0d555c497d7208d0fa686f1b2369a52841873990

will add those back

comment:2 by bluegr, 5 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:3 by bluegr, 5 years ago

Fixed properly, by allowing invalid references in kUnload() in commit 1cbfe02bcf.

Since the reference will be invalidated anyway by kUnload itself,
there's no real reason to check for its validity. We do the same with
kGraph() and kDisplay().

comment:4 by SF/pecatb, 4 years ago

unfortunately still not fixed in Android version (build 1.7.0a)

comment:5 by m-kiewitz, 4 years ago

It seems this was fixed after ScummVM 1.7.0 was released.
I definitely can not reproduce it using the Amiga version of the game and using the latest code.

You will have to download a daily build (http://buildbot.scummvm.org/builds.html) or wait for the official 1.8.0 release.

Note: See TracTickets for help on using tickets.