macOS 27: EXC_BAD_ACCESS in libqcocoa during NSAccessibility queries
Operating System
macOS
Version of Prism Launcher
Prism Launcher 11.1.0 and 11.0.3
Version of Qt
Qt 6.9.3
Description of bug
[!note] I used ChatGPT to help analyze the crash reports and narrow down the issue. I manually verified the findings and reproduced the behavior described above.
Prism Launcher intermittently crashes on macOS 27 while an Accessibility client is active.
In my case, Codex Computer Use is enabled. The macOS crash reports consistently show the crash occurring on the main thread inside Qt's Cocoa platform plugin while AppKit is servicing an Accessibility request:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libqcocoa.dylib
1 AppKit -[NSAccessibilityAttributeAccessorInfo getAttributeValue:forObject:]
2 AppKit ___NSAccessibilityEntryPointValueForAttribute_block_invoke
3 AppKit NSAccessibilityPerformEntryPointObject
4 AppKit _NSAccessibilityEntryPointValueForAttribute
5 AppKit -[NSObject(NSAccessibilityInternal) _accessibilityValueForAttribute:clientError:]
6 AppKit CopyAppKitUIElementAttributeValueNoCatch
7 AppKit CopyMultipleAttributeValues
8 HIServices _AXXMIGCopyMultipleAttributeValuesThe exception is:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS
Termination Reason: Namespace SIGNAL, Code 11, Segmentation fault: 11Both 11.0.3 and 11.1.0 crash in the same area of libqcocoa.dylib.
The stack also shows that the Add Instance dialog was active at the time of the crash:
QDialog::exec()
MainWindow::addInstance(...)
MainWindow::on_actionAddInstance_triggered()The crash report additionally contains:
voucherInfos: [{"proximateName":"SkyComputerUseService", ...}]so this appears to happen while macOS Accessibility is querying Prism's UI. This is intermittent rather than 100% deterministic. Sometimes I can use the launcher normally for a while before it crashes.
Steps to reproduce
- Use macOS 27.0.
- Enabled Codex Computer on "Device control and Data access" settings.
- Launch Prism Launcher.
- Open the "Add Instance" button.
- Close the popup.
- Repeat 4 and 5 for a while.
Other information
I also tested current develop branch with a custom Qt build that has Accessibility disabled, and the problem was fixed. fork
- Qt 6.11.2 with
FEATURE_accessibility=OFF
This issue is unique
- I have searched the issue tracker and did not find an issue describing my bug.
Source: PrismLauncher/PrismLauncher