Opened 9 years ago

Closed 9 years ago

#5119 closed defect (fixed)

HOYLE3: EGA/VGA Crashes

Reported by: SF/eddydrama Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Hoyle's Book of Games 3

Description

Game: Hoyle Official Book of Games Volume 3
Game Version: DOS/ENGLISH
ScummVM Version: 1.2.0SVN51672
Operating System: WinXP (SP3)

Dominoes crashes, when exiting from Checkers to main game menu crashes, Pachisi crashes.

At the startup of the game:
“resource.002”, “0a98a268ee99b92c233a0d7187c1f0fa”, 345811
“resource.003”, “97cfd72633f8f9b2a0b1d4116cf3ee81”, 346116
“resource.000”, “6ef28cac094dcd97fdb461662ead6f92”, 12070
“resource.001”, “ca6a9750a2c138d8bcbba369126040e9”, 348646
“resource.map”, “31c9fc0977ac6e5b566c37096803d0cb”, 2469
“resource.004”, “2884fb91b225fabd9ca87ea231293b48”, 351218

WARNING: kDoSound(setPriority): Slot not found (0001:2510)!
WARNING: kDoSound(setPriority): Slot not found (0001:257e)!
lookupSelector(): Attempt to send to non-object or invalid script. Address was 0000:0000!

Exiting checkers to main game menu crash:
Error: lookupSelector(): Attempt to send to non-object or invalid script. Address was 0000:0000!

Dominoes crash:
ERROR: [VM] kReadNumber [4a]: signature mismatch via method dominoes.opt::doit (script 101, room 100, localCall 0xffffffff)!

Pachisi crash:
ERROR: ult? On non-integer (000e:0038, 0000:0064) from method char2::say (script 0, room 400, localCall ffffffff)!

Snakes and ladders:
WARNING: kDoSound(fade): Slot not found (002b:161c)!
WARNING: kDoSound(fade): Slot not found (002b:168a)!

Ticket imported from: #3038837. Ticket imported from: bugs/5119.

Change History (17)

comment:1 by SF/eddydrama, 9 years ago

Summary: HOYLE3: CrashesHOYLE3: VGA Crashes

comment:2 by m-kiewitz, 9 years ago

Summary: HOYLE3: VGA CrashesHOYLE3: EGA/VGA Crashes

comment:3 by bluegr, 9 years ago

Owner: set to bluegr

comment:4 by bluegr, 9 years ago

Loads of errors in one report. Not good...

Anyway, let's take them one by one:
- The first warning means that you got an unknown version of the game. Is that EGA or VGA?
- Checkers/Pachisi crash when exiting to menu: not fixed yet, not sure what's wrong
- Dominoes crash: couldn't reproduce it. Can you try again?
- Pachisi crash when starting: fixed

So we're essentially left with the crash when exiting to the menu from Checkers/Pachisi, from what I can tell.

In the future, please file bug reports separately, as it's impossible to handle them effectively like this.

comment:5 by SF/eddydrama, 9 years ago

I will report bugs in separate reports in the future. I am sorry.

-I have the VGA version.

-Dominoes crash happened again, when starting the game. Same bugreport.

This time I used version 1.2.0svn52318

comment:6 by bluegr, 9 years ago

- The version reported has been added
- Regarding the dominoes crash: delete all the *.opt (options) files in the game folder and inside ScummVM's save game folder (they're named hoyle3*.opt there), it looks like you got a corrupted *.opt file
- Regarding the error thrown when exiting checkers and pachisi: this happens when disposing scripts 200 (checkers) and 400 (pachisi) respectively, a reference to an object of script 0 is erroneously removed. Seems like a bug with our script unloading code

comment:7 by bluegr, 9 years ago

Raising priority

comment:8 by bluegr, 9 years ago

Priority: normalhigh

comment:9 by bluegr, 9 years ago

Please retest...

Raising priority to 9, this is a release critical bug

comment:10 by bluegr, 9 years ago

Priority: highblocker

comment:11 by lskovlun, 9 years ago

Put in a temporary fix for this that should suffice for the release. Will need to take a look at the cause later. A few notes:

* the global variables are reset during a ScriptID(975) call
* I can make the issue disappear by single-stepping through that call
* script.000 should never be unloaded since the game object (whose lifetime should be the entire execution) lives there.
* locker counts on script.000 fluxes wildly

comment:12 by lskovlun, 9 years ago

Owner: changed from bluegr to lskovlun

comment:13 by lskovlun, 9 years ago

Put in a temporary fix for this that should suffice for the release. Will need to take a look at the cause later. A few notes:

* the global variables are reset during a ScriptID(975) call
* I can make the issue disappear by single-stepping through that call
* script.000 should never be unloaded since the game object (whose lifetime should be the entire execution) lives there.
* locker counts on script.000 fluxes wildly

comment:14 by lskovlun, 9 years ago

Priority: blockernormal

comment:15 by lskovlun, 9 years ago

Lowering priority again

comment:16 by bluegr, 9 years ago

Owner: changed from lskovlun to bluegr
Resolution: fixed
Status: newclosed

comment:17 by bluegr, 9 years ago

OK, I'm closing this then. Here's the situation:
- The crash when exiting dominoes/checkers has been fixed (that's the lookupSelector error) - a workaround is in place for this, but it'll do for now
- The version reported has been added
- The warnings have been silenced (false positives)
- The crash with dominoes is caused by a corrupt *.opt file, which has been fixed since then, but the corrupt file needs to be deleted
- The pachisi crash has been fixed

Therefore, I'm closing this. If you experience any other issues, please file them separately

Note: See TracTickets for help on using tickets.