Skip to content

Recursive update crash with Twilight Forest ForceFieldBlock still present in 1.2.2 #678

@pearlender232

Description

@pearlender232

Description

Sable version: 1.2.2 (updated from 1.1.3)
Minecraft version: 1.21.1
Modloader: NeoForge 21.1.228
mods involved:

  • Twilight Forest 4.8.3345

Server crashes with "java.lang.IllegalStateException: Recursive update"
when generating or loading chunks containing Twilight Forest's Final Castle
(biome: twilightforest:thornlands / final_plateau).

This crash still occurs in version 1.2.2 (previously happened in 1.1.3).
The crash happens specifically when Sable tries to process the collision
shape of ForceFieldBlock from Twilight Forest.

StackTrace (key part):
java.lang.IllegalStateException: Recursive update
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(...)
at TRANSFORMER/sable@1.2.2/...RapierVoxelColliderBakery.getPhysicsDataForBlock(...)
at TRANSFORMER/sable@1.2.2/...RapierVoxelColliderBakery.buildPhysicsDataForBlock(...)
at TRANSFORMER/twilightforest...ForceFieldBlock.fullFaceOrSimilarForceField(...)
at TRANSFORMER/twilightforest...ForceFieldBlock.cornerConnects(...)
at TRANSFORMER/twilightforest...ForceFieldBlock.getShape(...)

How the crash chain works:

  1. Server generates/loads Final Castle in Twilight Forest
  2. ForceFieldBlock.getShape() is called to determine block shape
  3. ForceFieldBlock checks neighboring blocks via LevelAccelerator.getBlockState()
  4. This triggers Sable's physics pipeline (handleBlockChange)
  5. Sable tries to compute collision shape for the block
  6. This calls back into ForceFieldBlock.getShape()
  7. Recursive loop → ConcurrentHashMap.computeIfAbsent throws Recursive update

How to reproduce:

  1. Install Sable 1.2.2 and Twilight Forest 4.8.3345 on NeoForge 1.21.1
  2. Go to Twilight Forest dimension
  3. Find or generate a Final Castle (biome: thornlands)
  4. Server crashes when ForceFieldBlock is loaded
    Crash report attached
    latest log attached

Game Log

https://mclo.gs/Ot9Y31F - crash report , https://mclo.gs/nHROZSl - latest log

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions