Sullys Mod

Sullys Mod

1M Downloads

Game sometimes hangs on making a new world with More Mob Variants installed

Not-February opened this issue ยท 2 comments

commented

I did a thread dump when creating a new world in my modpack stalled indefinitely upon generating a new world and found something weird.

There's an error in that references an attempt at replacing zombie spawners that references both Sully's Mod and More Mob Variants. I suspect both mods are trying to alter a monster spawner in a dungeon and don't know what to do when they interact into each other.

"Worker-Main-7" #48 daemon prio=5 os_prio=0 cpu=5875.00ms elapsed=106.05s tid=0x0000028b988a5d50 nid=0x2fac waiting on condition  [0x000000c0f42fd000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
	- parking to wait for  <0x00000006954b4920> (a java.util.concurrent.CompletableFuture$Signaller)
	at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:211)
	at java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1864)
	at java.util.concurrent.ForkJoinPool.compensatedBlock([email protected]/ForkJoinPool.java:3451)
	at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3434)
	at java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1898)
	at java.util.concurrent.CompletableFuture.join([email protected]/CompletableFuture.java:2117)
	at net.minecraft.server.level.ServerChunkCache.m_7587_([email protected]/ServerChunkCache.java:114)
	at net.minecraft.world.level.Level.m_6522_([email protected]/Level.java:187)
	at net.minecraft.world.level.LevelReader.m_203495_([email protected]/LevelReader.java:58)
	at net.minecraft.world.level.biome.BiomeManager.m_204214_([email protected]/BiomeManager.java:79)
	at net.minecraft.world.level.LevelReader.m_204166_([email protected]/LevelReader.java:40)
	at net.minecraft.world.entity.monster.Spider.handler$zbp000$onReadAdditionalSaveData([email protected]/Spider.java:540)
	at net.minecraft.world.entity.Mob.m_7378_([email protected]/Mob.java:499)
	at net.minecraft.world.entity.Entity.m_20258_([email protected]/Entity.java:1750)
	at net.minecraft.world.entity.EntityType.m_185988_([email protected]/EntityType.java:532)
	at net.minecraft.world.entity.EntityType$$Lambda$9285/0x0000028b531a5ce0.accept([email protected]/Unknown Source)
	at net.minecraft.Util.m_137521_([email protected]/Util.java:419)
	at net.minecraft.world.entity.EntityType.m_20642_([email protected]/EntityType.java:529)
	at net.minecraft.world.entity.EntityType.m_20669_([email protected]/EntityType.java:607)
	at net.minecraft.world.entity.EntityType.m_20645_([email protected]/EntityType.java:563)
	at net.minecraft.world.level.BaseSpawner.m_253067_([email protected]/BaseSpawner.java:246)
	at net.minecraft.world.level.levelgen.feature.MonsterRoomFeature.handler$zzb000$sullysmod_replaceZombie([email protected]/MonsterRoomFeature.java:529)
	at net.minecraft.world.level.levelgen.feature.MonsterRoomFeature.m_142674_([email protected]/MonsterRoomFeature.java:119)
	at net.minecraft.world.level.levelgen.feature.Feature.m_225028_([email protected]/Feature.java:155)
	at net.minecraft.world.level.levelgen.feature.ConfiguredFeature.m_224953_([email protected]/ConfiguredFeature.java:28)
	at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_226362_([email protected]/PlacedFeature.java:54)
	at net.minecraft.world.level.levelgen.placement.PlacedFeature$$Lambda$9097/0x0000028b5316efe8.accept([email protected]/Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept([email protected]/ForEachOps.java:183)
	at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining([email protected]/Streams.java:411)
	at java.util.stream.ReferencePipeline$Head.forEach([email protected]/ReferencePipeline.java:762)
	at java.util.stream.ReferencePipeline$7$1.accept([email protected]/ReferencePipeline.java:276)
	at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining([email protected]/Streams.java:411)
	at java.util.stream.ReferencePipeline$Head.forEach([email protected]/ReferencePipeline.java:762)
	at java.util.stream.ReferencePipeline$7$1.accept([email protected]/ReferencePipeline.java:276)
	at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining([email protected]/Streams.java:411)
	at java.util.stream.ReferencePipeline$Head.forEach([email protected]/ReferencePipeline.java:762)
	at java.util.stream.ReferencePipeline$7$1.accept([email protected]/ReferencePipeline.java:276)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept([email protected]/ForEachOps.java:183)
	at java.util.stream.IntPipeline$1$1.accept([email protected]/IntPipeline.java:180)
	at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining([email protected]/Streams.java:104)
	at java.util.Spliterator$OfInt.forEachRemaining([email protected]/Spliterator.java:711)
	at java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:509)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:499)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential([email protected]/ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential([email protected]/ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach([email protected]/ReferencePipeline.java:596)
	at java.util.stream.ReferencePipeline$7$1.accept([email protected]/ReferencePipeline.java:276)
	at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining([email protected]/Streams.java:411)
	at java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:509)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:499)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential([email protected]/ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential([email protected]/ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach([email protected]/ReferencePipeline.java:596)
	at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_226368_([email protected]/PlacedFeature.java:53)
	at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_226377_([email protected]/PlacedFeature.java:42)
	at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_([email protected]/ChunkGenerator.java:357)
	at net.minecraft.world.level.chunk.ChunkStatus.m_279978_([email protected]/ChunkStatus.java:108)
	at net.minecraft.world.level.chunk.ChunkStatus$$Lambda$2725/0x0000028b52956408.m_156322_([email protected]/Unknown Source)
	at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_([email protected]/ChunkStatus.java:309)
	at net.minecraft.world.level.chunk.ChunkStatus.m_280308_([email protected]/ChunkStatus.java:252)
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27([email protected]/ChunkMap.java:643)
	at net.minecraft.server.level.ChunkMap$$Lambda$8989/0x0000028b53146000.apply([email protected]/Unknown Source)
	at com.mojang.datafixers.util.Either$Left.map([email protected]/Either.java:38)
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29([email protected]/ChunkMap.java:634)
	at net.minecraft.server.level.ChunkMap$$Lambda$8946/0x0000028b53131400.apply([email protected]/Unknown Source)
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire([email protected]/CompletableFuture.java:1150)
	at java.util.concurrent.CompletableFuture$Completion.run([email protected]/CompletableFuture.java:482)
	at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_([email protected]/ChunkTaskPriorityQueueSorter.java:62)
	at net.minecraft.server.level.ChunkTaskPriorityQueueSorter$$Lambda$8988/0x0000028b531439e0.run([email protected]/Unknown Source)
	at net.minecraft.util.thread.ProcessorMailbox.m_18759_([email protected]/ProcessorMailbox.java:91)
	at net.minecraft.util.thread.ProcessorMailbox.m_18747_([email protected]/ProcessorMailbox.java:146)
	at net.minecraft.util.thread.ProcessorMailbox.run([email protected]/ProcessorMailbox.java:102)
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec([email protected]/ForkJoinTask.java:1395)
	at java.util.concurrent.ForkJoinTask.doExec([email protected]/ForkJoinTask.java:373)
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec([email protected]/ForkJoinPool.java:1182)
	at java.util.concurrent.ForkJoinPool.scan([email protected]/ForkJoinPool.java:1655)
	at java.util.concurrent.ForkJoinPool.runWorker([email protected]/ForkJoinPool.java:1622)
	at java.util.concurrent.ForkJoinWorkerThread.run([email protected]/ForkJoinWorkerThread.java:165)

I'm able to replicate this with nothing but Sully's Mod 3.2.1, Blueprint 7.1.0, and More Mob Variants 1.3.0.1 installed. I'm using Forge 47.3.0 as a mod loader.

It doesn't always happen, but make enough new worlds with random seeds and you'll run into it eventually.

debug.log
latest.log
threaddump.txt

commented

Oh yeah I remember experiencing this as well before. Your monster spawner theory is correct iirc, I'll have another look at this in the future!

commented

according to #133 it might also cause crashes