Opened 4 years ago

Closed 4 years ago

#11197 closed defect (fixed)

MAC OS X: 64bit v2.1.0 release crashes when interacting with keyboard.

Reported by: macca8 Owned by: criezy
Priority: blocker Component: Port: Mac OS X
Version: Keywords:
Cc: Game:

Description

This report confirms that a crash reported in https://forums.scummvm.org/viewtopic.php?f=2&t=14963&start=15#p87770 about macOS 10.15 compatibility isn’t restricted to that system.

In my case, I’m running macOS 10.11.6 on a 2008 Intel iMac. This issue relates to the 64 bit v2.1.0 official release (the 32 bit release isn’t affected).

Basically, the app functions normally until the user enters a keyboard shortcut/hotkey. This causes an immediate crash, regardless of the environment (Launcher or game) or screen mode (fullscreen or windowed).

Both global hotkeys and local game shortcuts can trigger a crash, in particular Cmd+q (quit) & Ctrl+F5 (access GMM), making it impossible to exit a game without crashing.

A special case is the Alt+Enter (or Alt+Return) hotkey.
Initially this combo works OK (while the Launcher is set to windowed mode), but this changes when the Launcher is set to fullscreen & restarted. From then on (until the Launcher is reset to windowed, & the app restarted), this hotkey behaves like the rest, crashing the app in both Launcher & game.

There is an unresolved fullscreen Launcher issue in #11156 (the black screen on launch), which may account for this hotkey’s inconsistency.

The point is that only keyboard interaction causes the crash. The same actions can be performed using the Launcher’s menu without incident (if applicable).

Crash reports may vary slightly depending on which key combo caused the crash, but the error generally refers to the same item:
Application Specific Information: objc_msgSend() selector name: hasSubmenu

There’s also a link in #11156 to a 64 bit test build (2.1.0pre-fac4686) which predates the official release and doesn’t have this issue. Hopefully it may help pinpoint the source of the issue.

Attachments (2)

scummvm_2019-10-12-161207_Park-Ranger.crash (52.2 KB ) - added by macca8 4 years ago.
sample report 1
scummvm_2019-10-12-161435_Park-Ranger.crash (51.1 KB ) - added by macca8 4 years ago.
sample report 2

Download all attachments as: .zip

Change History (4)

by macca8, 4 years ago

sample report 1

by macca8, 4 years ago

sample report 2

comment:1 by criezy, 4 years ago

Thank you.
We think that the issue is likely related to the use of Sparkle for the auto-updating feature. That would explain why 2.1.0pre-fac4686 works, as I had not enabled auto-update for that one. Today I have also made a 64 bits version of the 2.1.0 release without auto-update, and that one seems to work as well.
https://www.dropbox.com/s/jjf1fomfq0f2aam/scummvm-2.1.0-macosx-nosparkle.dmg?dl=0

I am continuing to look into this issue to try to get a working 2.1.0 release with auto-update...

comment:2 by criezy, 4 years ago

Owner: set to criezy
Resolution: fixed
Status: newclosed

We found the issue, and it was indeed related to the auto-update code. It has been fixed in commit 5068179.

The fix was backported to the 2.1.0 branch and the broken release package has been replaced with a new one that should work.

Note: See TracTickets for help on using tickets.