Opened 6 months ago

Last modified 8 weeks ago

#12598 new defect

GRIM: Grim Fandango crashes after displaying splash.bm on 3DS

Reported by: BallM4788 Owned by:
Priority: normal Component: Engine: Grim
Version: Keywords: 3ds n3ds grim fandango crash grime
Cc: Game: Grim Fandango

Description (last modified by BallM4788)

Platform: New Nintendo 3DS
Game Version: Both original CD-ROM release and Remastered, English (presumably occurs for all other versions as well).
ScummVM version: First observed in commit 78ec256, persists through all later commits as of July 11, 2021.
Description: When starting up Grim Fandango, the startup splash image of Manny and Glottis in the Bone Wagon displays for around 10 seconds before the system crashes.
Replication: Start Grim Fandango.
Notes:

  • Backtrace log and crash dump are from two separate crashes. This is because, for some reason, detatching the remote debugger after a segfault only causes ScummVM to crash; the user is kicked back to the 3DS Home Screen and told that the system will restart.
  • In the provided backtrace log, the line "WARNING: !!!! Trying to call MakeSectorActive without a scene!" appears 5 times. This is a known flaw, and may or may not be related to this ticket's issue.

EDIT: Attached different crash log along with crash screenshot with registers and other info.

Attachments (6)

GRIM backtrace.txt (5.3 KB ) - added by BallM4788 6 months ago.
GRIM crash_dump.dmp (3.5 KB ) - added by BallM4788 6 months ago.
GRIM crash_dump screen shrunk.jpg (175.2 KB ) - added by BallM4788 6 months ago.
GRIM gdb thorough.txt (38.2 KB ) - added by BallM4788 5 months ago.
GRIM crash_dump parsed.txt (18.3 KB ) - added by BallM4788 5 months ago.
GRIM_DEBUGGER_LOG.txt (30.5 KB ) - added by BallM4788 4 months ago.

Download all attachments as: .zip

Change History (19)

by BallM4788, 6 months ago

Attachment: GRIM backtrace.txt added

comment:1 by BallM4788, 6 months ago

Description: modified (diff)

by BallM4788, 6 months ago

Attachment: GRIM crash_dump.dmp added

comment:2 by BallM4788, 6 months ago

Description: modified (diff)

by BallM4788, 6 months ago

comment:3 by BallM4788, 6 months ago

Description: modified (diff)
Priority: normalhigh

in reply to:  description comment:4 by BallM4788, 5 months ago

Okay, I found an issue from 2014 with the same problem on another ARM device (a linux laptop):
https://forums.scummvm.org/viewtopic.php?f=1&t=15919
https://github.com/residualvm/residualvm/issues/1073
It looks like the issue remained open all the way up until ResidualVM was merged into ScummVM, so I'm not sure if it was closed from being fixed or from the ResidualVM repo being archived.

comment:5 by BallM4788, 5 months ago

After getting (slightly) more competent at gdb, I think I've come up with more helpful information.

Last edited 5 months ago by BallM4788 (previous) (diff)

by BallM4788, 5 months ago

Attachment: GRIM gdb thorough.txt added

comment:6 by BallM4788, 5 months ago

Description: modified (diff)
Keywords: grime added

comment:7 by BallM4788, 5 months ago

[irrelevant]

Last edited 8 weeks ago by BallM4788 (previous) (diff)

comment:8 by BallM4788, 5 months ago

[irrelevant]

Last edited 8 weeks ago by BallM4788 (previous) (diff)

comment:9 by BallM4788, 5 months ago

Also, here's a parsed version of the "GRIM crash_dump.dmp" file from 6 weeks ago.

by BallM4788, 5 months ago

Attachment: GRIM crash_dump parsed.txt added

comment:10 by BallM4788, 4 months ago

Summary: 3DS, GRIM: Crashes after splash image displayGRIM: Grim Fandango crashes after displaying splash.bm on 3DS

comment:11 by BallM4788, 4 months ago

I figured out how to alter grim.cpp so that the debug console pops up as soon as the GRIM engine debugger is set up. Using that, I was able to set debug flags and get a proper debug log. This one has all the debug channels activated except EventRec, Detection, and lua.

by BallM4788, 4 months ago

Attachment: GRIM_DEBUGGER_LOG.txt added

comment:12 by sev-, 4 months ago

Priority: highnormal

comment:13 by BallM4788, 2 months ago

It definitely seems to be a memory issue. In builds with only the GRIM engine enabled, more objects are able to be loaded before crashing than in builds where all stable engines are enabled. Previously uploaded logs have been from builds with Grim Fandango and Riven enabled, which crashes at the same point as builds with only Grim enabled.

Note: See TracTickets for help on using tickets.