Incompatible with SpongeForge
database64128 opened this issue ยท 2 comments
Forge: 2847
SpongeForge: 7.1.7 RC3928
The Weirding Gadget: 2.1.16
When installed on a server with SpongeForge, chunk loaders won't work when players leave the area. The mod also causes console spamming:
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalStateException: CauseStackManager called from off main thread (current='Thread{class=class java.lang.Thread, name=Sponge - Async Light Thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}', expected='Thread{class=class java.lang.Thread, name=Server thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}')!
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.common.event.SpongeCauseStackManager.enforceMainThread(SpongeCauseStackManager.java:121)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.common.event.SpongeCauseStackManager.pushCauseFrame(SpongeCauseStackManager.java:240)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.redirect$impl$createEntityFromCompound$zlp000(AnvilChunkLoader.java:1395)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.func_186050_a(AnvilChunkLoader.java:529)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:486)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:101)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.gen.ChunkProviderServer.redirect$impl$ProvideChunkForced$zmb000(ChunkProviderServer.java:1158)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.World.func_72964_e(World.java:310)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.World.func_175726_f(World.java:305)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.World.handler$impl$checkForAsync$zlh000(World.java:7876)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.World.func_175625_s(World.java:2395)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at com.enderio.core.common.BlockEnder.getTileEntity(BlockEnder.java:199)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at com.enderio.core.common.BlockEnder.getTileEntitySafe(BlockEnder.java:222)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at crazypants.enderio.conduits.conduit.BlockConduitBundle.getLightOpacity(BlockConduitBundle.java:391)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.block.state.BlockStateContainer$StateImplementation.getLightOpacity(BlockStateContainer.java:504)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.common.SpongeImplHooks.getBlockLightOpacity(SpongeImplHooks.java:2101)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.Chunk.func_150808_b(Chunk.java:4922)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.Chunk.asyncLighting$relightBlockAsync(Chunk.java:5807)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.world.chunk.Chunk.lambda$asyncLighting$onRelightBlock$3(Chunk.java:5738)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[08:01:37] [Sponge - Async Light Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: at java.lang.Thread.run(Thread.java:748)
While I can see how a chunk loader could potentially cause this issue, I'm not really sure who is to blame for this.
Based on the stack trace alone, I can gather the following:
- Weirding Gadget has loaded a chunk
- Sponge/SpongeForge has an Async lighting engine that isn't present in forge that does it's work in a different thead.
- EnderIO is loading a Tile Entity which is causing a chunk to load, but for some reason you're not allowed to create Entities from the lighting thread and they must be done from the main thread.
I don't think there's really anything that Weirding Gadget can do about this, short of just not working when SpongeForge is present. I'd suggest perhaps lodging this one with EnderIO and see if they know anything about it.
Failing that, someone has reported the same issue to SpongeForge and it was solved by disabling Async Lighting (SpongePowered/SpongeForge#2888).
This may not be the answer you were hoping for, but I really don't think there's anything I can do on my side for it. Sorry.
Thank you for the quick reply! I did some tests and it seems the issue has nothing to do with the Weirding Gadget. Also the Weirding Gadget now works even when I have SpongeForge installed and Async Lighting enabled. I'm a little confused but everything seems good so far. ๐