Server world generation crash related to swimmer's guide + Aquamirae/Valoria
Not-February opened this issue ยท 0 comments
So, this is a weird problem that I've only sometimes been able to replicate in a modpack I have that softlocks a world/server during world generation.
I did a thread dump while troubleshooting and both times I've been able to replicate it, the swimmer guide has been directly implicated in a hanging server thread.
The first time I don't have a thread dump for anymore but it did specifically mention Aquamirae alongside Majrusz's Accessories, and the second time it more recently happened with a structure from Valoria(I do have a thread dump I can share for this one).
It's worth noting that both times I had it happen in separate worlds, Aquamirae's Ice Maze structure was in the process of generating in frozen oceans.
This happens even if I set the generation chance for the swimmer guides to generate to 0.0 for both underwater chests and buried treasure in the config, so I can't really work around it.
The implicated section for the thread dump I was recently able to get is as follows:
"Worker-Main-11" #167 daemon prio=4 os_prio=-1 cpu=3015.62ms elapsed=271.08s tid=0x0000027339ade0b0 nid=0x52c waiting on condition [0x000000d8a63fd000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x0000000642402600> (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.getChunkOffThread([email protected]/ServerChunkCache.java:3176)
at net.minecraft.server.level.ServerChunkCache.m_7587_([email protected]/ServerChunkCache.java:3141)
at net.minecraft.world.level.Level.m_6522_([email protected]/Level.java:187)
at net.minecraft.world.level.Level.m_6325_([email protected]/Level.java:4551)
at net.minecraft.world.level.Level.m_8055_([email protected]/Level.java:5040)
at com.majruszlibrary.level.BlockHelper.getState([email protected]/BlockHelper.java:41)
at com.majruszlibrary.level.BlockHelper.getState([email protected]/BlockHelper.java:45)
at com.majruszsaccessories.accessories.SwimmerGuide$UnderwaterChestDropChance.lambda$new$2([email protected]/SwimmerGuide.java:47)
at com.majruszsaccessories.accessories.SwimmerGuide$UnderwaterChestDropChance$$Lambda$36538/0x00000272e8c8eda0.test([email protected]/Unknown Source)
at com.majruszlibrary.events.base.Condition.check([email protected]/Condition.java:99)
at com.majruszlibrary.events.base.Event.accept([email protected]/Event.java:44)
at com.majruszlibrary.events.base.Events.accept([email protected]/Events.java:61)
at com.majruszlibrary.events.base.Events.dispatch([email protected]/Events.java:20)
at net.minecraft.world.level.storage.loot.LootTable.handler$gke001$majruszlibrary$getRandomItems([email protected]/LootTable.java:2522)
at net.minecraft.world.level.storage.loot.LootTable.m_230922_([email protected]/LootTable.java:119)
at net.minecraft.world.level.storage.loot.LootTable.m_287214_([email protected]/LootTable.java:108)
at com.idark.valoria.registries.block.entity.CrushableBlockEntity.unpackAndSetItem([email protected]/CrushableBlockEntity.java:244)
at com.idark.valoria.registries.level.feature.SuspiciousStateFeature.m_142674_([email protected]/SuspiciousStateFeature.java:45)
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$83351/0x00000272ed12f428.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.redirect$cmf000$structureessentials$onPlaceWithBiome([email protected]/PlacedFeature.java:547)
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$3583/0x00000272e4eedf88.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$78498/0x00000272ecb26160.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$78326/0x00000272ecae71f8.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$78396/0x00000272ecaf7510.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)
Mod list: https://gist.github.com/Not-February/77b852ee83e1b3db784cfc601b3b9512
Versions used:
Minecraft 1.20.1
Forge 47.3.12
Majrusz Library 7.0.8
Majruzs's Accessories 1.5.3
Aquamirae 6.API15