Opened 9 years ago

Closed 9 years ago

#5269 closed defect (fixed)

MOTHERGOOSE CD: Crashing with invalid rects - kCan(t)BeHere

Reported by: SF/escarlate Owned by:
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Mixed-Up Mother Goose

Description

The game crashes when approaching a room in the western portion of the map, and another one near the fiddler cat at the top left. Experienced several crashes, one random with the following output:

WARNING: kCan(t)BeHere - invalid rect 9853, 32767 -> 9878, -32766!
WARNING: kCan(t)BeHere - invalid rect 9543, 32767 -> 9568, -32766!
WARNING: kCan(t)BeHere - invalid rect 9233, 32767 -> 9258, -32766!
WARNING: kCan(t)BeHere - invalid rect 9854, 32766 -> 9879, -32767!
WARNING: kCan(t)BeHere - invalid rect 9543, 32766 -> 9568, -32767!
WARNING: kCan(t)BeHere - invalid rect 9232, 32766 -> 9257, -32767!
WARNING: kCan(t)BeHere - invalid rect 9855, 32765 -> 9880, -32768!
Assertion failed: isValidRect(), file ./common/rect.h, line 91

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

And others more consistent, happening every time. The console log:

Uninitialized read for temp 0 from method AIPath::init (script 992, room 23, localCall ffffffff)!

and

WARNING: No audio map found for language 101!
WARNING: Invalid offset inside sound resource 2: track 4, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
WARNING: Invalid offset inside sound resource 2: track 4, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
WARNING: Invalid offset inside sound resource 2: track 5, channel 0!
Uninitialized read for temp 0 from method AIPath::init (script 992, room 7, localCall ffffffff)!

Game: Mixed-Up Mother Goose VGA CD (SCI1)
Game Version: CD/DOS/English
ScummVM Version: 1.2.0svn52218
OS: Win32 (XP SP2)

Ticket imported from: #3049146. Ticket imported from: bugs/5269.

Change History (9)

comment:1 by bluegr, 9 years ago

Fixed in rev #52223

Not sure what is causing the invalid rects, this is a known TODO and happens randomly in some games (e.g. Iceman, first screen, at the beginning)

comment:2 by bluegr, 9 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:3 by bluegr, 9 years ago

Reopening and renaming, for the kCan(t)BeHere warnings/crash

comment:4 by bluegr, 9 years ago

Owner: bluegr removed
Resolution: fixed
Status: closednew
Summary: MOTHERGOOSE CD: Rooms 7, 23 crashMOTHERGOOSE CD: Crashing with invalid rects - kCan(t)BeHere

comment:5 by SF/mthreepwood, 9 years ago

I'm a little confused here. r52223 didn't touch anything with invalid rects; it just changed the comment. I don't know how that could have been thought to fix the problem here. That if statement should return anything *but* NULL_REG because we changed the definition of GfxCompare::kernelCanBeHere() to return the value the object collided with (if any) - this really should be renamed. Try returning something else besides NULL_REG, such as SIGNAL_REG, and see if that fixes it.

comment:6 by SF/escarlate, 9 years ago

As of svn52292, I'm not experiencing the invalid rects crashes anymore.

comment:7 by m-kiewitz, 9 years ago

so the whole bug is "solved" and can get closed?

comment:8 by m-kiewitz, 9 years ago

Resolution: fixed
Status: newpending

comment:9 by bluegr, 9 years ago

Status: pendingclosed
Note: See TracTickets for help on using tickets.