Launch crash EXC_BAD_ACCESS (SIGSEGV)

HI

I have many users experiencing the following crash at app launch:

Date/Time:           2023-11-09 19:10:55.3851 +0800
Launch Time:         2023-11-09 19:10:54.1307 +0800
OS Version:          iPhone OS 14.6 (18F72)
Release Type:        User
Baseband Version:    3.04.01
Report Version:      104


Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000818b75160
VM Region Info: 0x818b75160 is not in any region.  Bytes after previous region: 23500116321  Bytes before following region: 32871329440

      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL

      MALLOC_NANO              280000000-2a0000000 [512.0M] rw-/rwx SM=COW  

--->  GAP OF 0xd20000000 BYTES

      commpage (reserved)      fc0000000-1000000000 [  1.0G] ---/--- SM=NUL  ...(unallocated)



Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [20444]
Triggered by Thread:  0



Thread 0 name:
Thread 0 Crashed:
0   libobjc.A.dylib               	0x000000019d5d2dd0 objc_release + 16 (objc-runtime-new.h:1589)
1   CoreFoundation                	0x0000000188a2567c __RELEASE_OBJECTS_IN_THE_ARRAY__ + 116 (NSCollectionAux.h:70)
2   CoreFoundation                	0x00000001889e774c -[__NSArrayM dealloc] + 276 (NSArrayM.m:473)
3   libobjc.A.dylib               	0x000000019d5d457c AutoreleasePoolPage::releaseUntil(objc_object**) + 204 (NSObject.mm:944)
4   libobjc.A.dylib               	0x000000019d5d441c objc_autoreleasePoolPop + 212 (NSObject.mm:1211)
5   FrontBoardServices            	0x00000001980af6ac -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 248 (FBSWorkspace.m:356)
6   FrontBoardServices            	0x00000001980cba0c __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke + 372 (FBSWorkspaceScenesClient.m:364)
7   libdispatch.dylib             	0x00000001886fb81c _dispatch_client_callout + 20 (object.m:559)
8   libdispatch.dylib             	0x00000001886ff30c _dispatch_block_invoke_direct + 268 (queue.c:468)
9   FrontBoardServices            	0x00000001980f3fa0 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48 (FBSSerialQueue.m:184)
10  FrontBoardServices            	0x00000001980f3c30 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 448 (FBSSerialQueue.m:227)
11  FrontBoardServices            	0x00000001980f4184 -[FBSSerialQueue _performNextFromRunLoopSource] + 32 (FBSSerialQueue.m:258)
12  CoreFoundation                	0x0000000188a889e8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1967)
13  CoreFoundation                	0x0000000188a888e4 __CFRunLoopDoSource0 + 208 (CFRunLoop.c:2011)
14  CoreFoundation                	0x0000000188a87be8 __CFRunLoopDoSources0 + 268 (CFRunLoop.c:2048)
15  CoreFoundation                	0x0000000188a81bc8 __CFRunLoopRun + 820 (CFRunLoop.c:2925)
16  CoreFoundation                	0x0000000188a81360 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3242)
17  GraphicsServices              	0x00000001a00bf734 GSEventRunModal + 164 (GSEvent.c:2259)
18  UIKitCore                     	0x000000018b4fc584 -[UIApplication _run] + 1072 (UIApplication.m:3269)
19  UIKitCore                     	0x000000018b501df4 UIApplicationMain + 168 (UIApplication.m:4740)
20  xApp                        	0x0000000100ae0380 main + 128 (main.m:22)
21  libdyld.dylib                 	0x000000018873dcf8 start + 4 (:-1)

I know that this can be a multithreading problem and it is related to NSMutableArray. But I cannot reproduce it and have no idea how to fix it. Any information will be welcome. Thanks

This is a classic over-releases crash. See ObjecObjective-C Memory Management for Swift Programmers. Enable zombies to see if you can make it more reproducible.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for your reply. I have tried many times but I cannot reproduce the crash (with zombies enabled). Can I do anything else to reproduce it? I have tried hook -[NSArrayDealloc dealloc] which doesn't help.

Launch crash EXC_BAD_ACCESS (SIGSEGV)
 
 
Q