Skip to content

Server watchdog hang: HandleBlockEntity removes Rapier constraint during physics step #1431

Description

@Pimepk

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: crashSomething crashes my game

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions