generateConvex(from mesh: MeshResource) crashes instead of throwing a Swift error

I have a MeshResource and I would like to create a collision component from it.

let childBounds = child.visualBounds(relativeTo: self)
var childShape: ShapeResource
do {
    // Crashed by the following line instead of throwing a Swift Error
    childShape = try await ShapeResource.generateConvex(from: childModel.mesh);

} catch {
    childShape = ShapeResource.generateBox(size: childBounds.extents)
    childShape = childShape.offsetBy(translation: childBounds.center)
}

Based on this document: https://developer.apple.com/documentation/realitykit/shaperesource/generateconvex(from:)-6upj9

Will throw an error if mesh does not define a nonempty convex volume. For example, will fail if all the vertices in mesh are coplanar.

But, the method crashes the app instead of throwing a Swift error

Incident Identifier: 35CD58F8-FFE3-48EA-85D3-6D241D8B0B4C
CrashReporter Key:   FE6790CA-6481-BEFD-CB26-F4E27652BEAE
Hardware Model:      Mac15,11
...
Version:             1.0 (1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [2057]
Coalition:           com.apple.CoreSimulator.SimDevice.85A2B8FA-689F-4237-B4E8-DDB93460F7F6 [1496]
Responsible Process: SimulatorTrampoline [910]

Date/Time:           2025-01-26 16:13:17.5053 +0800
Launch Time:         2025-01-26 16:13:09.5755 +0800
OS Version:          macOS 15.2 (24C101)
Release Type:        User
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001abf841d0
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [17316]

Triggered by Thread:  0

Thread 0 Crashed:
0   CoreRE                        	       0x1abf841d0 REAssetManagerCollisionShapeAssetCreateConvexPolyhedron + 232
1   CoreRE                        	       0x1abf845f0 REAssetManagerCollisionShapeAssetCreateConvexPolyhedronFromMesh + 868
2   RealityFoundation             	       0x1d25613bc static ShapeResource.generateConvex(from:) + 148

Here is the message on the app console from Xcode

/Library/Caches/com.apple.xbs/Sources/REKit_Sim/ThirdParty/PhysX/physx/source/physxcooking/src/convex/QuickHullConvexHullLib.cpp (935) : internal error : QuickHullConvexHullLib::findSimplex: Simplex input points appers to be coplanar.

Failed to cook convex mesh (0x3)
assertion failure: 'convexPolyhedronShape != nullptr' (REAssetManagerCollisionShapeAssetCreateConvexPolyhedron:line 356) Bad parameters passed for convex mesh creation.
Message from debug

The above crash happened on a visionOS simulator (visionOS 2.2 (22N840)

Hi @hale_xie ,

This would be a great thing to submit as a feedback at https://feedbackassistant.apple.com.

Thanks!

generateConvex(from mesh: MeshResource) crashes instead of throwing a Swift error
 
 
Q