Majrusz's Accessories

Majrusz's Accessories

6M Downloads

Server world generation crash related to swimmer's guide + Aquamirae/Valoria

Not-February opened this issue ยท 0 comments

commented

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)

latest.log

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