GTNewHorizons / GT-New-Horizons-Modpack

A big progressive questing modpack for Minecraft 1.7.10 balanced around the mod GregTech.
https://www.gtnewhorizons.com/
Other
1.02k stars 312 forks source link

Carpenter's Blocks and Vanilla Stairs caused "World was accessed from thread Chunk Render Task Executor" #17316

Open riking opened 2 months ago

riking commented 2 months ago

Your GTNH Discord Username

kanepyork

Your Pack Version

2.6.1

Your Server

private server

Java Version

Java 21

Type of Server

Vanilla Forge

Your Expectation

Sodium works without logging errors

The Reality

[12:49:34] [Chunk Render Task Executor #1/WARN] [ArchaicFix]: Something (likely another mod) has attempted to modify the world's state from the wrong thread!
This is *bad practice* and can cause severe issues in your game. Phosphor has done as best as it can to mitigate this violation, but it may negatively impact performance or introduce stalls.
In a future release, this violation may result in a hard crash instead of the current soft warning. You should report this issue to our issue tracker with the following stacktrace information.
(If you are aware you have misbehaving mods and cannot resolve this issue, you can safely disable this warning by setting `enable_illegal_thread_access_warnings` to `false` in Phosphor's configuration file for the time being.)
java.lang.IllegalAccessException: World is owned by 'Client thread' (ID: 1), but was accessed from thread 'Chunk Render Task Executor #1' (ID: 1447)
    at RFB-Launch//org.embeddedt.archaicfix.lighting.world.lighting.LightingEngine.acquireLock(LightingEngine.java:211) ~[LightingEngine.class:?]
    at RFB-Launch//org.embeddedt.archaicfix.lighting.world.lighting.LightingEngine.scheduleLightUpdate(LightingEngine.java:135) ~[LightingEngine.class:?]
    at RFB-Launch//net.minecraft.world.World.func_147463_c(World.java:51130) ~[ahb.class:?]
    at RFB-Launch//net.minecraft.world.World.func_147451_t(World.java:2974) ~[ahb.class:?]
    at RFB-Launch//com.carpentersblocks.tileentity.TEBase.updateCachedLighting(TEBase.java:532) ~[TEBase.class:?]
    at RFB-Launch//com.carpentersblocks.tileentity.TEBase.getLightValue(TEBase.java:476) ~[TEBase.class:?]
    at RFB-Launch//com.carpentersblocks.block.BlockCoverable.getLightValue(BlockCoverable.java:730) ~[BlockCoverable.class:?]
    at RFB-Launch//net.minecraft.block.Block.func_149677_c(Block.java:528) ~[aji.class:?]
    at RFB-Launch//net.minecraft.block.BlockStairs.func_149677_c(SourceFile:316) ~[ans.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147808_b(RenderBlocks.java:5545) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147784_q(RenderBlocks.java:4247) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147722_a(RenderBlocks.java:6938) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147805_b(RenderBlocks.java:273) ~[blm.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer.renderModel(BlockRenderer.java:95) ~[BlockRenderer.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.chunk.tasks.ChunkRenderRebuildTask.performBuild(ChunkRenderRebuildTask.java:161) ~[ChunkRenderRebuildTask.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuilder$WorkerRunnable.run(ChunkBuilder.java:409) ~[ChunkBuilder$WorkerRunnable.class:?]
    at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

...

[12:49:56] [Chunk Render Task Executor #6/WARN] [ArchaicFix]: Something (likely another mod) has attempted to modify the world's state from the wrong thread!
This is *bad practice* and can cause severe issues in your game. Phosphor has done as best as it can to mitigate this violation, but it may negatively impact performance or introduce stalls.
In a future release, this violation may result in a hard crash instead of the current soft warning. You should report this issue to our issue tracker with the following stacktrace information.
(If you are aware you have misbehaving mods and cannot resolve this issue, you can safely disable this warning by setting `enable_illegal_thread_access_warnings` to `false` in Phosphor's configuration file for the time being.)
java.lang.IllegalAccessException: World is owned by 'Client thread' (ID: 1), but was accessed from thread 'Chunk Render Task Executor #6' (ID: 1452)
    at RFB-Launch//org.embeddedt.archaicfix.lighting.world.lighting.LightingEngine.acquireLock(LightingEngine.java:211) ~[LightingEngine.class:?]
    at RFB-Launch//org.embeddedt.archaicfix.lighting.world.lighting.LightingEngine.scheduleLightUpdate(LightingEngine.java:135) ~[LightingEngine.class:?]
    at RFB-Launch//net.minecraft.world.World.func_147463_c(World.java:51130) ~[ahb.class:?]
    at RFB-Launch//net.minecraft.world.World.func_147451_t(World.java:2974) ~[ahb.class:?]
    at RFB-Launch//com.carpentersblocks.tileentity.TEBase.updateCachedLighting(TEBase.java:532) ~[TEBase.class:?]
    at RFB-Launch//com.carpentersblocks.tileentity.TEBase.getLightValue(TEBase.java:476) ~[TEBase.class:?]
    at RFB-Launch//com.carpentersblocks.block.BlockCoverable.getLightValue(BlockCoverable.java:730) ~[BlockCoverable.class:?]
    at RFB-Launch//net.minecraft.block.Block.func_149677_c(Block.java:528) ~[aji.class:?]
    at RFB-Launch//net.minecraft.block.BlockStairs.func_149677_c(SourceFile:316) ~[ans.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147808_b(RenderBlocks.java:5545) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147784_q(RenderBlocks.java:4247) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147722_a(RenderBlocks.java:6938) ~[blm.class:?]
    at RFB-Launch//net.minecraft.client.renderer.RenderBlocks.func_147805_b(RenderBlocks.java:273) ~[blm.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer.renderModel(BlockRenderer.java:95) ~[BlockRenderer.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.chunk.tasks.ChunkRenderRebuildTask.performBuild(ChunkRenderRebuildTask.java:161) ~[ChunkRenderRebuildTask.class:?]
    at RFB-Launch//me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuilder$WorkerRunnable.run(ChunkBuilder.java:409) ~[ChunkBuilder$WorkerRunnable.class:?]
    at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

(no more copies of the log before or after that timestamp)

It's been a few minutes, so I'm not sure what exactly was going on in the world when this happened.

Your Proposal

Tell carpenters stairs to not update lighting from the rendering thread

Final Checklist

riking commented 2 months ago

Stack trace analysis: Looks like it's specifically vanilla stairs next to a carpenter's block.

Best guess is this Slope B that passes next to a set of stone brick stairs. image

Other guess is this Slope A into Roof Tile that covers a set of stone brick stairs from sky light. image