Skip to content

[Crash]: java.lang.IllegalStateException: Recursive update caused by Twilight Forest Magic Map #977

@ange08350

Description

@ange08350

Context

The server enters a constant crash loop whenever a player has a Magic Map (from The Twilight Forest) in their inventory. The map's inventoryTick periodically scans the world to update the map, which triggers chunk loading/post-processing in the Twilight Forest dimension. This triggers a Recursive update error involving Sable's LevelAccelerator and RapierVoxelColliderBakery.

To Reproduce

Have a player log in with a MagicMapItem in their inventory.

The item attempts to scan the Twilight Forest terrain.

The server encounters a ForceFieldBlock (from Twilight Forest).

Sable intercepts this, leading to a recursive update loop in ConcurrentHashMap.computeIfAbsent.

The server crashes immediately.

Crash Report Logs

java.lang.IllegalStateException: Recursive update
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1763) ~[?:?] {re:mixin}
at TRANSFORMER/minecraft@1.21.1/net.minecraft.Util$8.apply(Util.java:795) ~[server-1.21.1-20240808.144430-srg.jar%23305!/:?] {re:classloading,pl:connector_pre_launch:A}
at TRANSFORMER/sable@1.2.2/dev.ryanhcode.sable.physics.impl.rapier.collider.RapierVoxelColliderBakery.getPhysicsDataForBlock(RapierVoxelColliderBakery.java:98) ~[sable-neoforge-1.21.1-1.2.2.jar%23452!/:1.2.2] {re:classloading}
at TRANSFORMER/sable@1.2.2/dev.ryanhcode.sable.util.LevelAccelerator.getBlockState(LevelAccelerator.java:66) ~[sable-neoforge-1.21.1-1.2.2.jar%23452!/:1.2.2] {re:classloading}
at TRANSFORMER/twilightforest@4.8.3345/twilightforest.block.ForceFieldBlock.fullFaceOrSimilarForceField(ForceFieldBlock.java:69) ~[twilightforest-1.21.1-4.8.3345-universal.jar%23472!/:4.8.3345] {re:classloading}
...
at TRANSFORMER/twilightforest@4.8.3345/twilightforest.item.MagicMapItem.update(MagicMapItem.java:XX) ~[twilightforest-1.21.1-4.8.3345-universal.jar%23472!/:4.8.3345]
at net.minecraft.world.item.ItemStack.inventoryTick(ItemStack.java:395)
Context

Minecraft Version: 1.21.1

Loader: NeoForge 5.1.6 (with Sinytra Connector)

Sable Version: 1.2.2

The Twilight Forest Version: 4.8.3345

Note: The crash is triggered by the Magic Map scanning the Twilight Forest blocks (specifically ForceFieldBlocks). Removing the item from the player's inventory (while Sable is temporarily disabled) resolves the crash loop.

Crash Report

https://mclo.gs/mEqic3V

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