Opened 3 years ago

Last modified 12 months ago

#13459 new defect

Escape from Monkey Island memory crash during movies playing — at Version 7

Reported by: getaaron Owned by:
Priority: normal Component: Engine: Grim
Version: Keywords:
Cc: Game: Escape from Monkey Island

Description (last modified by getaaron)

Crashes when movies are playing if movie subtitles are enabled.

Crash log 1: During the intro sequence, after firing the loaded cannon Elaine comes over to give Guybrush a hug. The game crashed with EXC_BAD_ACCESS after she calls him "snuggle cakes".

Crash log 2: On Lucre island, while the manager takes Guybrush in to view the safety the safety deposit box.

Change History (12)

by getaaron, 3 years ago

comment:1 by getaaron, 3 years ago

Description: modified (diff)

comment:2 by mduggan, 3 years ago

Could you give some more info on your build and system config?

Using the latest git code this runs fine for me also on a macbook, and no problems reported with address sanitizer enabled.

comment:3 by getaaron, 3 years ago

Sure, apologies for the light detail in the initial report, I thought most of the stuff would be in the crash log but looks like not everything I expected.

BTW it didn't reproduce the second time so the exact point in the game might be a red herring.

From the crash report, I don't have Xcode set up so can't symbolicate the report to see where in the code the crash was.

ScummVM2.6.0git5445-9315545eda8c (Apr 30 2022 04:25:05)
macOS 12.2.1 (21D62)

Hardware Overview:

Model Name:	MacBook Pro
Model Identifier:	MacBookPro18,3
Chip:	Apple M1 Pro
Total Number of Cores:	10 (8 performance and 2 efficiency)
Memory:	32 GB
System Firmware Version:	7429.81.3
OS Loader Version:	7429.81.3
Last edited 3 years ago by getaaron (previous) (diff)

comment:4 by getaaron, 3 years ago

Description: modified (diff)
Summary: Escape from Monkey Island memory crash during intro sequenceEscape from Monkey Island memory crash during movies playing

Looks like this might just happen intermittently while playing movies. I got a second crash log on Lucre island, while the manager takes Guybrush in to view the safety deposit box. Attaching another crash log.

by getaaron, 3 years ago

crash while on lucre island at bank

comment:5 by getaaron, 3 years ago

After some more testing, the one on Lucre Island is 100% reproducible (it's blocking continuing in the game)

Looks like it's always crashing in the SDLTimer thread (not the main thread as I thought above

Here's a recent example

Thread 11 Crashed:: SDLTimer
0   libGL.dylib                   	       0x20584de84 glDeleteBuffers + 16
1   scummvm                       	       0x104db1860 0x104120000 + 13178976
2   scummvm                       	       0x104df18c4 0x104120000 + 13441220
3   scummvm                       	       0x104df1a38 0x104120000 + 13441592
4   scummvm                       	       0x104dc5b34 0x104120000 + 13261620
5   scummvm                       	       0x104d8f680 0x104120000 + 13039232
6   scummvm                       	       0x104d90770 0x104120000 + 13043568
7   scummvm                       	       0x104d904bc 0x104120000 + 13042876
8   scummvm                       	       0x1066b5d14 0x104120000 + 39410964
9   scummvm                       	       0x1067243a8 0x104120000 + 39863208
10  scummvm                       	       0x106be1ca0 0x104120000 + 44833952
11  scummvm                       	       0x106be1840 0x104120000 + 44832832
12  scummvm                       	       0x106c3258c 0x104120000 + 45163916
13  libsystem_pthread.dylib       	       0x1a41e5240 _pthread_start + 148
14  libsystem_pthread.dylib       	       0x1a41e0024 thread_start + 8

So I'm guessing the line that triggers the crash is https://github.com/scummvm/scummvm/blob/8b4e75ded7a4d02adc5efcbc5aa5fd54e12f24fe/engines/grim/gfx_opengl_shaders.cpp#L1521 but I don't know much about OpenGL or why we would be deleting shaders while a movie is playing

by getaaron, 3 years ago

Attachment: efmi003.gsv added

saved game at lucre island bank

by getaaron, 3 years ago

another crash lucre island bank

by getaaron, 3 years ago

yet another crash lucre island bank

comment:6 by getaaron, 3 years ago

added some more crash reports and a saved game file right before asking teller to see safe deposit box

comment:7 by getaaron, 3 years ago

Description: modified (diff)

Found a forum post on here https://forums.scummvm.org/viewtopic.php?p=97055 which suggests (and I confirmed) that the issue reproduces only when movie subtitles are enabled.

Note: See TracTickets for help on using tickets.