I use ARKit for face detection and my view controller conforms to ARSessionDelegate to get updates from
func session(_ session: ARSession, didUpdate frame: ARFrame)
Most of the time it works fine, but in production I noticed lots of crashes.
OS Version: iOS 13.4 (17E255)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Crashed Thread: 21
Application Specific Information:
*** NSPointerArray unable to allocate memory -- allocation function failed
Thread 21 Crashed:
0 CoreFoundation 0x33e41e164 __exceptionPreprocess
1 libobjc.A.dylib 0x33df73c18 objc_exception_throw
2 Foundation 0x33eb717b4 allocationFailure
3 Foundation 0x33eae30e8 -[NSConcretePointerArray arrayGrow:]
4 Foundation 0x33eac3158 -[NSConcretePointerArray addPointer:]
5 ARKit 0x3771dc90c -[ARSession _sessionDidUpdateFrame:]
6 ARKit 0x3771d4228 -[ARSession technique:didOutputResultData:timestamp:context:]
7 ARKit 0x377180ae4 -[ARParentTechnique _submitResultsForTimestamp:context:]
8 ARKit 0x377180540 -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
9 ARKit 0x377203ea8 -[ARFaceLightEstimationTechnique requestResultDataAtTimestamp:context:]
10 ARKit 0x37718051c -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
11 ARKit 0x3771c59e8 -[ARWorldAlignmentTechnique requestResultDataAtTimestamp:context:]
12 ARKit 0x37718051c -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
13 ARKit 0x377180ae4 -[ARParentTechnique _submitResultsForTimestamp:context:]
14 libdispatch.dylib 0x33de8d338 _dispatch_client_callout
15 libdispatch.dylib 0x33de8faf4 _dispatch_continuation_pop
16 libdispatch.dylib 0x33dea0620 _dispatch_source_invoke
17 libdispatch.dylib 0x33de93728 _dispatch_lane_serial_drain
18 libdispatch.dylib 0x33de942c0 _dispatch_lane_invoke
19 libdispatch.dylib 0x33de9c5bc _dispatch_root_queue_drain
20 libdispatch.dylib 0x33de9c37c _dispatch_worker_thread
21 libsystem_pthread.dylib 0x33df598f8 _pthread_start
22 libsystem_pthread.dylib 0x33df619d0 thread_start
Can someone give a clue what can be wrong on my side or is that ARKit bug only?
Post
Replies
Boosts
Views
Activity
I recently updated my Xcode to 13.3 above 13.2.1 (download xip-file manually and replace).
macOS was updated from 12.2 to 12.3 and it didn't help.
My hardware is M1 Macbook Air.
And since the first installation on an iOS device I see the following:
My device shows a splash screen.
Debug console is completely empty.
On the debug navigator during freeze I see this.
After 5-10 minutes my app launches normally. The strange thing is I see that behavior 100% on each app. That's not related to a simulator, but I tested it with two different iPhones.
I checked by setting a breakpoint to a first line of application(_ willFinishLaunchingWithOptions) and nothing is executed before 5-10 minutes of freeze behaviour.
My application uses ARKit to detect faces and depth data. I noticed a crash I can't reproduce in person, but it happens on production. I'm not calling directly any API mentioned in a log.
OS Version: iOS 15.1 (19B74)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: BUS_NOOP at 0x0000c6fb91131270
Crashed Thread: 20
Application Specific Information:
anchors > dictionary > identifier > lastUpdateTimestamp > objectForKey: > referenceOriginChanged > referenceOriginDelta > referenceOriginTransformUpdated > relocalizationDeltaTransform > removeObjectForKey: > setObject:forKey: > setReferenceTransform: > transform >
Attempted to dereference garbage pointer 0xc6fb91131270.
Thread 20 Crashed:
0 libobjc.A.dylib 0x3318d55e0 objc_msgSend
1 ARKitCore 0x369671f3c -[ARSession _updateAnchorsForFrame:resultDatas:context:addedAnchors:updatedAnchors:removedAnchors:externalAnchors:]
2 ARKitCore 0x36966fa40 -[ARSession technique:didOutputResultData:timestamp:context:]
3 ARKitCore 0x36966c718 -[ARParentTechnique _submitResultsForTimestamp:context:]
4 ARKitCore 0x369660bb0 -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:]
5 ARKitCore 0x369660418 -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
6 ARKitCore 0x36978c24c -[ARFaceLightEstimationTechnique requestResultDataAtTimestamp:context:]
7 ARKitCore 0x369660b8c -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:]
8 ARKitCore 0x369660418 -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
9 ARKitCore 0x36966162c -[ARWorldAlignmentTechnique requestResultDataAtTimestamp:context:]
10 ARKitCore 0x369660b8c -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:]
11 ARKitCore 0x369660418 -[ARParentTechnique technique:didOutputResultData:timestamp:context:]
12 ARKitCore 0x36966c718 -[ARParentTechnique _submitResultsForTimestamp:context:]
13 libdispatch.dylib 0x3004f665c _dispatch_client_callout
14 libdispatch.dylib 0x3004f9b30 _dispatch_continuation_pop
15 libdispatch.dylib 0x30050cc34 _dispatch_source_invoke
16 libdispatch.dylib 0x3004fdcb8 _dispatch_lane_serial_drain
17 libdispatch.dylib 0x3004fe988 _dispatch_lane_invoke
18 libdispatch.dylib 0x3004ffc70 _dispatch_workloop_invoke
19 libdispatch.dylib 0x3005091a4 _dispatch_workloop_worker_thread
20 libsystem_pthread.dylib 0x3e11570f0 _pthread_wqthread
Any suggestion I should look into?