Probable conflict with Lithium
xGab0 opened this issue ยท 1 comments
I was trying to join on Wynncraft but then the game instantly crashed, here's the crash-report:
crash-2023-12-11_19.16.04-client.txt
From what I understand in this crash-report it appears that the Bobby FakeChunkManager loaded a ChunkSection before the VanillaChunkManager could, causing a missed static initialization in the Lithium BlockStateFlags class.
I'm still trying to reproduce the crash but it's probably really hard to reproduce in normal conditions.
Launcher: Modrinth
Java: Zulu-21.0.1
Minecraft: Fabric-mc1.20.4 Loader v0.15.1
RenderDistance: 32 Chunks
SimulationDistance: 16 Chunks
Loaded mods that mess with ClientWorld:
- c2me v0.2.0+alpha.11.38
- ferritecore v6.0.2
- modernfix v5.10.1+mc1.20.4
- starlight v1.1.3+fabric.f5dcd1a
- fasterrandom v1.5.0
- lithium v0.12.0
- bobby v5.0.3
This is a thread safety issue in Lithium, please report it on their issue tracker.
Specifically, if BlockStateFlags is first accessed from one thread and that manages to get far enough to initialize the TrackedBlockStatePredicate class, then TrackedBlockStatePredicate.FULLY_INITIALIZED
can be set from another thread before the first thread is actually done initializing BlockStateFlags.