My application works. It passes its unit tests, it passes its user acceptance tests, it doesn't even have too many warnings about deprecations (just one or two). So now I'd like to release it - and I want to have it notarised. Unfortunately, when I notarise Xcode quits 'unexpectedly' - although by now it's crashed so many times that I'm amazed the crash catches my Mac by surprise.
The only 'oddities' about my application are that it uses the Sparkle framework and Libcrypto.
I'm building on a 16GB M1 Mac Mini. The steps to reproduce the error are:
- Distribute App
- Developer ID
- Upload
- either Automatically manage signing or Manually manage signing … I see Communicating with Apple - and then Boom! It dies.
Has anyone else seen a problem like this? How did you solve it?
The error log I get starts as follows:
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 13.0 (19234)
Build Info: IDEFrameworks-19234000000000000~16 (13A233)
Code Type: ARM-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [2640]
User ID: 501
Date/Time: 2021-09-20 20:26:00.540 +0100
OS Version: macOS 11.4 (20F71)
Report Version: 12
Anonymous UUID: EC195B68-B7C5-BD3E-C8A4-C886AAA00F1F
Sleep/Wake UUID: 15FE8E7D-4A3E-430C-9948-F60EFBD2D434
Time Awake Since Boot: 7000 seconds
Time Since Wake: 3000 seconds
System Integrity Protection: enabled
Crashed Thread: 15 Dispatch queue: ConcurrentQueue: -[IDEDistributionPackagingStepViewController viewDidInstall]_block_invoke
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
ProductBuildVersion: 13A233
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-19207/DVTFoundation/FilePaths/DVTFilePath.m:908
Details: str should be a string, but it is nil
Object: <DVTFilePath>
Method: +filePathForPathString:
Thread: <NSThread: 0x2eb098e80>{number = 114, name = (null)}
Open FDs: 70/7168
Hints:
0: Calling block provided by:
0 DVTDispatchAsync (in DVTFoundation)
1 DVTAsyncPerformBlock (in DVTFoundation)
2 -[IDEDistributionPackagingStepViewController viewDidInstall] (in IDEKit)
3 -[DVTViewController _viewDidInstall] (in DVTViewControllerKit)
4 -[_DVTViewController_ViewLifecycleInterpositions viewDidMoveToWindow] (in DVTViewControllerKit)
5 -[NSView _setWindow:] (in AppKit)
6 -[NSView addSubview:] (in AppKit)
7 -[NSView setSubviews:] (in AppKit)
8 -[DVTBorderedView setContentView:] (in DVTUserInterfaceKit)
9 -[IDEDistributionAssistantWindowController setDistributionStepViewController:] (in IDEKit)
10 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] (in Foundation)
11 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] (in Foundation)
12 _NSSetObjectValueAndNotify (in Foundation)
13 -[IDEDistributionAssistantWindowController next:] (in IDEKit)
14 __79-[IDEDistributionAutomaticSigningAssetsStepViewController _locateSigningAssets]_block_invoke_2 (in IDEKit)
15 __DVT_CALLING_CLIENT_BLOCK__ (in DVTFoundation)
16 ___DVTAsyncPerformBlockOnMainRunLoop_block_invoke (in DVTFoundation)
17 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ (in CoreFoundation)
18 __CFRunLoopDoBlocks (in CoreFoundation)
19 __CFRunLoopRun (in CoreFoundation)
20 CFRunLoopRunSpecific (in CoreFoundation)
21 RunCurrentEventLoopInMode (in HIToolbox)
22 ReceiveNextEventCommon (in HIToolbox)
23 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
24 _DPSNextEvent (in AppKit)
25 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
26 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
27 -[NSApplication run] (in AppKit)
28 -[DVTApplication run] (in DVTKit)
29 NSApplicationMain (in AppKit)
30 start (in libdyld.dylib)
Backtrace:
0 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
1 _DVTAssertionHandler (in DVTFoundation)
2 _DVTAssertionFailureHandler (in DVTFoundation)
3 +[DVTFilePath filePathForPathString:] (in DVTFoundation)
4 -[NSBundle(DVTOnDemandResourcesAdditions) pathForAssetPackManifest] (in DVTFoundation)
5 -[IDEDistributionODRStep processAppAtPath:destinationPath:isAppStoreBound:baseURL:assetPackManifestPath:includeODRAssetPackInBundle:error:] (in IDEFoundation)
6 -[IDEDistributionODRStep runWithError:] (in IDEFoundation)
7 -[IDEDistributionProcessingPipeline process:] (in IDEFoundation)
8 -[IDEDistributionPackagingStepViewController _runPipeline] (in IDEKit)
9 __60-[IDEDistributionPackagingStepViewController viewDidInstall]_block_invoke_2 (in IDEKit)
10 __DVT_CALLING_CLIENT_BLOCK__ (in DVTFoundation)
11 __DVTDispatchAsync_block_invoke (in DVTFoundation)
12 _dispatch_call_block_and_release (in libdispatch.dylib)
13 _dispatch_client_callout (in libdispatch.dylib)
14 _dispatch_continuation_pop (in libdispatch.dylib)
15 _dispatch_async_redirect_invoke (in libdispatch.dylib)
16 _dispatch_root_queue_drain (in libdispatch.dylib)
17 _dispatch_worker_thread2 (in libdispatch.dylib)
18 _pthread_wqthread (in libsystem_pthread.dylib)
19 start_wqthread (in libsystem_pthread.dylib)