You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Server hang (watchdog) when a sub-level hits crops: re-entrant Rapier call from FragileBlockCallback #1603
Dedicated server hangs and is killed by the watchdog after a plane hits a field of crops.
I was flying a Create Aeronautics plane (a Sable sub-level) and crashed it into farmland full of crops. The server tick froze for 60 s and ServerHangWatchdog shut the server down. Four players were online.
The server thread is stuck in a native call. From the crash report:
The fragile-block callback destroys the crop while Rapier3D.step is still running. The neighbour shape updates from that destruction change another block. That change goes through handleBlockChange and calls back into Rapier (newVoxelCollider) inside the same step, and the call never returns. It looks like a re-entrant native call, similar to the rope + fragile block crash fixed in 2.0.2. Deferring fragile-block destruction (or the resulting collider updates) until after step returns might avoid it.
Activity