Crash in AltruisticBodyPoseKit on A12 or A12X capturing High Resolution Frame

We are experiencing a crash when attempting to capture a high resolution frame. The crash only happens on the A12 and A12X devices (iPhone11,8 or iPad8,7). The crash did occur on older versions of iOS and continues to happen with more recent versions, iOS 17.6 and iPadOS 17.5.1.

Any ideas on how to get a high-resolution image & frame from an AR Session using these devices?

To reproduce the crash:

  1. Use an A12 or A12X device. Other devices have not produced the same result.

  2. Setup an AR session that can capture high resolution static images:

Create a class that conforms to UIViewController and ARSessionDelegate and connect it to an Interface with an ARView.

	@IBOutlet var arView: ARView!

During view setup configure the AR session:

let configuration = ARBodyTrackingConfiguration()
if let hiResFormat = ARBodyTrackingConfiguration.recommendedVideoFormatForHighResolutionFrameCapturing {
	configuration.videoFormat = hiResFormat
}
self.arView.session.run(configuration)
  1. Trigger code to capture the high resolution image (we call this from a button @IBAction:
Task {
	let hiResFrame = try? await self.arView.session.captureHighResolutionFrame()

	print("crash above. this print never occurs")
}

The crash occurs with both the sync & async versions of the captureHighResolutionFrame call.

  1. Code above crashes in Apple AltruisticBodyPoseKit :
0  libsystem_kernel.dylib         0xc2ec __pthread_kill + 8
1  libsystem_pthread.dylib        0x7c0c pthread_kill + 268
2  libsystem_c.dylib              0x75ba0 abort + 180
3  libsystem_c.dylib              0x74eac err + 282
4  AltruisticBodyPoseKit          0x4b2b0 cva::MatrixData<int, 0ul, 0ul, false>::allocate(unsigned long) (.cold.1) + 42
5  AltruisticBodyPoseKit          0x20dac std::__1::vector<std::__1::pair<cva::Matrix<double, 3u, 1u, false>, cva::Matrix<double, 2u, 1u, false> >, std::__1::allocator<std::__1::pair<cva::Matrix<double, 3u, 1u, false>, cva::Matrix<double, 2u, 1u, false> > > >::vector(unsigned long) + 1186
6  AltruisticBodyPoseKit          0x2058c btr::(anonymous namespace)::EstimatePoseFromCorrespondences(btr::CameraPoseInfo&, btr::Correspondences2d3d const&, bool) + 564
7  AltruisticBodyPoseKit          0x2018c btr::BodyRegistration::RegisterBody(float vector[2] const*, unsigned long, float vector[3] const*, unsigned long, simd_float4x4 const*, unsigned long, simd_float3x3 const*, simd_float4x4 const*) + 1228
8  AltruisticBodyPoseKit          0x4354c -[ABPKCameraRegistration estimateCameraPoseFromMatchingwithImageIntrinsics:imageResolution:joints2d:jointsLifted3D:jointsLifted3DCount:] + 1160
9  ARKitCore                      0x131d30 -[AR3DSkeletonRegistrationTechnique _estimateCameraPoseFromMatchingImageData:to3DData:worldTrackingPose:pCameraFromBody:depthData:pScaleOut:] + 396
10 ARKitCore                      0x131818 -[AR3DSkeletonRegistrationTechnique requestResultDataAtTimestamp:context:] + 388
11 ARKitCore                      0x91fd8 -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:] + 1400
12 ARKitCore                      0x91a28 -[ARParentTechnique technique:didOutputResultData:timestamp:context:] + 112
13 ARKitCore                      0x8150c -[ARExposureLightEstimationTechnique requestResultDataAtTimestamp:context:] + 352
14 ARKitCore                      0x91fd8 -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:] + 1400
15 ARKitCore                      0x91a28 -[ARParentTechnique technique:didOutputResultData:timestamp:context:] + 112
16 ARKitCore                      0xcd9c4 -[ARWorldAlignmentTechnique requestResultDataAtTimestamp:context:] + 1044
17 ARKitCore                      0x91fd8 -[ARParentTechnique technique:didOutputResultData:timestamp:context:onTechniques:] + 1400
18 ARKitCore                      0x91a28 -[ARParentTechnique technique:didOutputResultData:timestamp:context:] + 112
19 ARKitCore                      0x92584 -[ARParentTechnique _submitResultsForTimestamp:context:] + 396
20 ARKitCore                      0x90124 __71-[ARParentTechnique requestResultDataAtTimestamp:context:onTechniques:]_block_invoke_3 + 72
Answered by DTS Engineer in 800616022

Hello @ShiftLock,

Please file a bug report for this issue using Feedback Assistant.

Best regards,

Greg

Hello @ShiftLock,

Please file a bug report for this issue using Feedback Assistant.

Best regards,

Greg

The Feedback was resolved with "Unable to diagnose". I asked them what else they needed but they have not responded.

Resolution:Investigation complete - Unable to diagnose with current information

So that's disappointing.

To be honest, I have never had a successful experience with the Feedback Assistant. In the past I've used the Assistant when Xcode crashed and stated "Internal error, please file a bug", but those reports were always closed. I simply stopped reporting. Meh.

Crash in AltruisticBodyPoseKit on A12 or A12X capturing High Resolution Frame
 
 
Q