The bug
In custom world generation, using netherrack_replace_blobs
features to replace water (or possibly any block that has key properties) causes the game to crash when affected chunks are loaded. netherrack_replace_blobs
with other blocks as targets do not exhibit this behavior. No syntax errors are reported by the game log when the world is loaded with the data pack.
Crash report: https://pastebin.com/m8hm0s0B
How to reproduce
Download the attached data pack and create a new world with it
Run:
/execute in nitdim:primordial_desert run tp ~ 120 ~
Run:
/locatebiome nitdim:primordial_desert/canyon
Either teleport to the destination, or for more controlled testing, slowly fly there in creative mode so you can see when the crash occurs as the chunks begin to load
Feature is located in nitdim/worldgen/configured_features/primordial_desert/replacer_water
To demonstrate this doesn't occur otherwise, you can remove this feature from the canyon biome or change the target to another block, like stone, and delete the region files to regenerate those chunks.
Other netherrack_replace_blobs
are used elsewhere in the pack using blocks that have no key properties as targets, most notably in the buried_ocean
dimension. They cause no errors or crashes themselves, and this feature is an identical copy to those ones, except for the target/state.
Stack trace
21w07a\: [^crash-2021-02-20_13.26.27-server.txt]
Description: Accessing PalettedContainer from multiple threads
java.lang.IllegalStateException
at agm.a(SourceFile:27)
at agm.a(SourceFile:19)
at ckf.a(SourceFile:50)
at ckf.a(SourceFile:109)
at cjz.a(SourceFile:66)
at cjz.a(SourceFile:60)
at ckg.a(SourceFile:179)
at abb.a(SourceFile:229)
at buf.a(SourceFile:15)
at cov.a(SourceFile:131)
at cqc.a(SourceFile:45)
at coc.a(SourceFile:55)
at coi.a(SourceFile:29)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at coi.a(SourceFile:28)
at coc.a(SourceFile:55)
at coi.a(SourceFile:29)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at coi.a(SourceFile:28)
at coc.a(SourceFile:55)
at coi.a(SourceFile:29)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.IntPipeline$4$1.accept(Unknown Source)
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source)
at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at coi.a(SourceFile:28)
at coc.a(SourceFile:55)
at buw.a(SourceFile:380)
at cjp.a(SourceFile:231)
at cjr.c(SourceFile:100)
at cjr.a(SourceFile:231)
at aai.a(SourceFile:563)
at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
at aai.a(SourceFile:557)
at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
at aak.b(SourceFile:58)
at apc.e(SourceFile:84)
at apc.a(SourceFile:124)
at apc.run(SourceFile:92)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Linked issues
relates to
Attachments
Comments
No comments.