I get a crash when I try to run a physics simulation on chain

Same in my project.

I have chained constrains car body with constrains (suspension constrain) to each wheel axle, each axle contrained to wheel (bearing constrains).
Async physics ticks are enabled.
My forces are applied to bodies in async physics tick thru
Chaos::FRigidBodyHandle_Internal* RigidBody = GetInternalHandle(Component, BoneName))
RigidBody->AddForce()
RigidBody->AddTorque()

In my case problem occurs when UE-handled collision occurs between one of last in chain bodies with other immovable actor on scene.

First I got chain of messgaes for all constained components
LogChaos: Warning: AABBTree encountered invalid bounds input.Forcing element to global payload. Min: X= Y= Z= Max: X= Y= Z=
with X,Y and Z equal to MAX_DOUBLE or -MAX_DOUBLE
(that 1797693134862315… number is MAX_DOUBLE)

Then it ends with series of messages:
LogChaos: Warning: AABBTree encountered invalid bounds input.Forcing element to global payload. Min: X=-nan(ind) Y=-nan(ind) Z=-nan(ind) Max: X=-nan(ind) Y=-nan(ind) Z=-nan(ind)

Then failed ensure:
LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: NewTransform.IsValid() [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\SceneComponent.cpp] [Line: 740]

Then objects are destroyed:
LogPhysics: Error: Rejecting BodyInstance 0 on DESTROYED_BP_Wheel_Lancer_C_CHILDACTOR_4 /Game/Level/UEDPIE_0_Land.Land:PersistentLevel.DESTROYED_BP_Wheel_Lancer_C_CHILDACTOR_4.Tire with an invalid transform
LogChaos: UnregisterAsyncPhysicsTickActor DESTROYED_BP_Wheel_Lancer_C_CHILDACTOR_5 @ 0x885e8400

Then everything fails because some no longer valid references etc.

But looks like it starts with some MAX_DOUBLE numbers - not sure is this result of some faulty calculations, or some variables are initialized with MAX_DOUBLE with assumption that in future value would be substituted by some smaller values, what not happens.
Then it lead to numerical instability and NAN results.
In the end objects are deleted as no longer valid, and everything crashes.

Some observations:

  • it happen more likely when colliding material restitution is low (like 0.05)
  • it happens more likely in first few collisions since start, when it not happens then I can do hundreds of subsequent collision and I think it would never happens late in the game
  • I not found any non-normal behavior of constrains or bodies prior to crash
  • I do most testing in editor PIE