Context
I Was Playing on a server with my friends and then i picked up TNT which was a phsics object and then the server crashed and when someone dies the server also crashes:
Versions: MC 1.21.1 / NeoForge 21.1.244 / simulated 1.3.0 / sable 2.0.1 / sable_rapier 1.21.1-2.0.1 / create 6.0.10 — dedicated server, Sinytra Connector 2.0.0-beta.14
What happens: Server thread hangs for 60s and the watchdog kills the process, disconnecting all players.
Stack trace path: Rapier3D.step() → BlockSubLevelCollisionCallback.onCollision → ExplosiveBlockCallback.onHit → Level.destroyBlock → neighbor update → HandleBlock.neighborChanged destroys itself → HandleBlockEntity.remove → RapierConstraintHandle.remove → Rapier3D.removeConstraint (native, never returns).
Looks like the constraint is removed from inside the same physics step that's still running. Full log: [mclo.gs link]
Crash Report
crash-summary-2026-08-02.md
Context
I Was Playing on a server with my friends and then i picked up TNT which was a phsics object and then the server crashed and when someone dies the server also crashes:
Versions: MC 1.21.1 / NeoForge 21.1.244 / simulated 1.3.0 / sable 2.0.1 / sable_rapier 1.21.1-2.0.1 / create 6.0.10 — dedicated server, Sinytra Connector 2.0.0-beta.14
What happens: Server thread hangs for 60s and the watchdog kills the process, disconnecting all players.
Stack trace path: Rapier3D.step() → BlockSubLevelCollisionCallback.onCollision → ExplosiveBlockCallback.onHit → Level.destroyBlock → neighbor update → HandleBlock.neighborChanged destroys itself → HandleBlockEntity.remove → RapierConstraintHandle.remove → Rapier3D.removeConstraint (native, never returns).
Looks like the constraint is removed from inside the same physics step that's still running. Full log: [mclo.gs link]
Crash Report
crash-summary-2026-08-02.md