We use the GameSave framework to sync player save data to iCloud. Since iOS 27, our game crashes a few seconds after a cold launch, the first time it calls GameSaveSyncedDirectory.openDirectory(). We call the API only from the main actor, but the crash is on a cooperative thread inside GameSave:
EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS at 0x400000000000bad0
libobjc.A.dylib objc_release
CloudDocs initUIApplicationWillResignActiveNotification
CloudDocs -[BRQuery _setQueryState:]
CloudDocs -[BRQuery _runQuery]
CloudDocs -[BRQuery executeWithOptions:]
Foundation -[NSMetadataQuery startQuery]
GameSave BundleUpdatesWaiter.initMetadataQuery()
GameSave BundleUpdatesWaiter.init(bundleURL:)
GameSave closure #1 in GameSyncedDirectoryHolder.allowReaders(for:)
Other threads are inside the same BRQuery path at the same moment. The crash reproduces without GameSave: starting twoNSMetadataQuery objects at once on background threads in a fresh process crashes 94 times in 100 in the iOS 27.0 Simulator, and never on iOS 26.5, so this seems like a regression. Starting one query on a single thread never crashes.
I've submitted a support request (FB25352978) so hopefully this will be looked at fairly soon - if anyone else runs into this it would be good to know!