MCMT

MCMT

95.3k Downloads

Chunk Cache Polution

dreckz opened this issue ยท 3 comments

commented

I keep getting a full crash on singleplayer, even when the world wasn't really generating chunks because the player (me) was not moving. I tried disabling and uninstalling mods etc, but still crashing. Here are my logs:
Crash Log:
crash-2020-09-16_17.42.42-server.txt
Log:

2020-09-16-6.log

commented

Hi,

This is an issue in ticket manager; I'll look into patching now

Also this looks like it is occuring while the mod is disabled which might be harder to diagnose

If you've not disabled it, then please say as that would imply very odd behaviour

commented

I tried it again with it definitely enabled.

Got this crash:
latest.log

commented

Ok, this is chunk cache polution and IDK how the feck this is occuring

Relevent trace is:

java.lang.ClassCastException: net.minecraft.world.chunk.ChunkPrimerWrapper cannot be cast to net.minecraft.world.chunk.Chunk
 	at net.minecraft.world.World.func_212866_a_(World.java:145)
 	at net.minecraft.world.World.func_175726_f(World.java:141)
 	at net.minecraft.world.World.func_204610_c(World.java:370)
 	at net.minecraft.fluid.FlowingFluid.func_215663_a(SourceFile:62)
 	at net.minecraft.fluid.IFluidState.func_215673_c(IFluidState.java:85)
 	at net.minecraft.entity.Entity.func_210500_b(Entity.java:2638)
 	at net.minecraft.entity.item.ItemEntity.func_70072_I(ItemEntity.java:857)
	at net.minecraft.entity.Entity.func_205011_p(Entity.java:954)
 	at net.minecraft.entity.Entity.func_70030_z(Entity.java:386)
	at net.minecraft.entity.Entity.func_70071_h_(Entity.java:368)
 	at net.minecraft.entity.item.ItemEntity.func_70071_h_(ItemEntity.java:594)
 	at org.jmt.mcmt.asmdest.ASMHookTerminator.lambda$callEntityTick$2(ASMHookTerminator.java:116)
 	at org.jmt.mcmt.asmdest.ASMHookTerminator$$Lambda$20451/654169393.run(Unknown Source)
 	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
 	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
 	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
 	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
 	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Implication is that the chunk cache is returning an invalid type of ICHUNK and as such is causing this. Quick solution is to cacheflush on compat break (All ChunkStatus.FULL should be instance of Chunk), but longer term needs a better fix