mojira.dev
MC-227945

"Exception loading structure piece" and "No key" error spam after upgrading a world to 1.17 and exploring chunks

Tons of these error messages appear in the console after upgrading my singleplayer world to 1.17 (by using the Optimize World option) and exploring/generating new chunks. I'm not entirely sure what the errors are about, but the new chunks I explored looked normal. I also didn't encounter any game crashes or slowdown so I'm not sure if these errors are important or not.

EDIT (2021/06/09): These errors also come up in previously-generated chunks as well (all previously-generated chunks in my world are from 1.16.X), and do noticeably impact the performance (internal server TPS drops for a few seconds) when I encounter the error in pre-existing chunks.

I've attached the log file which shows all the errors that were outputted, however if the log file doesn't work or can't be viewed I pasted a few of the errors here:

[16:10:52] [Server thread/ERROR]: No key size in MapLike[{extra_size:2,min_size:1,type:"minecraft:column_placer"}]
[16:10:52] [Server thread/ERROR]: Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found
	at dbf.k(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
	at dbf.<init>(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at cuc.a(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:415) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:175) ~[minecraft-1.17-client.jar:?]
	at abe.l(SourceFile:511) ~[minecraft-1.17-client.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
	at aqu.c(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at abp$a.c(SourceFile:527) ~[minecraft-1.17-client.jar:?]
	at aqu.z(SourceFile:125) ~[minecraft-1.17-client.jar:?]
	at abp$a.z(SourceFile:536) ~[minecraft-1.17-client.jar:?]
	at abp.d(SourceFile:279) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.bg(SourceFile:771) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.z(SourceFile:759) ~[minecraft-1.17-client.jar:?]
	at aqu.bq(SourceFile:110) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.y(SourceFile:743) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.x(SourceFile:696) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.a(SourceFile:274) ~[minecraft-1.17-client.jar:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]
[16:11:24] [Server thread/ERROR]: No key dirt_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; No key sapling_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; No key foliage_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]
[16:11:24] [Server thread/ERROR]: Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found
	at dbf.k(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
	at dbf.<init>(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at cuc.a(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:415) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:175) ~[minecraft-1.17-client.jar:?]
	at abe.l(SourceFile:511) ~[minecraft-1.17-client.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
	at aqu.c(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at abp$a.c(SourceFile:527) ~[minecraft-1.17-client.jar:?]
	at aqu.z(SourceFile:125) ~[minecraft-1.17-client.jar:?]
	at abp$a.z(SourceFile:536) ~[minecraft-1.17-client.jar:?]
	at abp.d(SourceFile:279) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.bg(SourceFile:771) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.z(SourceFile:759) ~[minecraft-1.17-client.jar:?]
	at aqu.bq(SourceFile:110) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.y(SourceFile:743) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.x(SourceFile:696) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.a(SourceFile:274) ~[minecraft-1.17-client.jar:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]
[16:12:21] [Server thread/ERROR]: No key dirt_provider in MapLike[{decorators:[],foliage_placer:{offset:{base:0,spread:2},radius:{base:2,spread:1},trunk_height:{base:1,spread:1},type:"minecraft:spruce_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:spruce_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:2,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:2},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:1,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:spruce_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; Input does not contain a key [type]: MapLike[{base:1,spread:1}]; Input does not contain a key [type]: MapLike[{base:0,spread:2}]; Input does not contain a key [type]: MapLike[{base:2,spread:1}]; No key sapling_provider in MapLike[{decorators:[],foliage_placer:{offset:{base:0,spread:2},radius:{base:2,spread:1},trunk_height:{base:1,spread:1},type:"minecraft:spruce_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:spruce_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:2,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:2},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:1,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:spruce_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; No key foliage_provider in MapLike[{decorators:[],foliage_placer:{offset:{base:0,spread:2},radius:{base:2,spread:1},trunk_height:{base:1,spread:1},type:"minecraft:spruce_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:spruce_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:2,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:2},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:1,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:spruce_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]
[16:12:21] [Server thread/ERROR]: Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found
	at dbf.k(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
	at dbf.<init>(SourceFile:54) ~[minecraft-1.17-client.jar:?]
	at cuc.a(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:415) ~[minecraft-1.17-client.jar:?]
	at cni.a(SourceFile:175) ~[minecraft-1.17-client.jar:?]
	at abe.l(SourceFile:511) ~[minecraft-1.17-client.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
	at aqu.c(SourceFile:151) ~[minecraft-1.17-client.jar:?]
	at abp$a.c(SourceFile:527) ~[minecraft-1.17-client.jar:?]
	at aqu.z(SourceFile:125) ~[minecraft-1.17-client.jar:?]
	at abp$a.z(SourceFile:536) ~[minecraft-1.17-client.jar:?]
	at abp.d(SourceFile:279) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.bg(SourceFile:771) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.z(SourceFile:759) ~[minecraft-1.17-client.jar:?]
	at aqu.bq(SourceFile:110) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.y(SourceFile:743) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.x(SourceFile:696) ~[minecraft-1.17-client.jar:?]
	at net.minecraft.server.MinecraftServer.a(SourceFile:274) ~[minecraft-1.17-client.jar:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]

Linked issues

Attachments

Comments 106

Can confirm. This happens on my world too, and impacts the performance. I haven't optimized the world though, so this issue is not related to optimizing the world.

Relevant log part:

[19:09:38] [Server thread/ERROR]: No key dirt_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; No key sapling_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]; No key foliage_provider in MapLike[{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}}]
[19:09:38] [Server thread/ERROR]: Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found
	at dbf.k(SourceFile:54) ~[1.17.jar:?]
	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
	at dbf.<init>(SourceFile:54) ~[1.17.jar:?]
	at cuc.a(SourceFile:151) ~[1.17.jar:?]
	at cni.a(SourceFile:415) ~[1.17.jar:?]
	at cni.a(SourceFile:175) ~[1.17.jar:?]
	at abe.l(SourceFile:511) ~[1.17.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
	at aqu.c(SourceFile:151) ~[1.17.jar:?]
	at abp$a.c(SourceFile:527) ~[1.17.jar:?]
	at aqu.z(SourceFile:125) ~[1.17.jar:?]
	at abp$a.z(SourceFile:536) ~[1.17.jar:?]
	at abp.d(SourceFile:279) ~[1.17.jar:?]
	at net.minecraft.server.MinecraftServer.bg(SourceFile:771) ~[1.17.jar:?]
	at net.minecraft.server.MinecraftServer.z(SourceFile:759) ~[1.17.jar:?]
	at aqu.bq(SourceFile:110) ~[1.17.jar:?]
	at net.minecraft.server.MinecraftServer.y(SourceFile:743) ~[1.17.jar:?]
	at net.minecraft.server.MinecraftServer.x(SourceFile:696) ~[1.17.jar:?]
	at net.minecraft.server.MinecraftServer.a(SourceFile:274) ~[1.17.jar:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]

I think this might actually be two distinct issues, one causing No key dirt_provider in MapLike and the other throwing Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found. But then again, I know nothing about Minecraft's code.

Attached the performance metrics of a test flight in 1.17 chunks, in case that's even remotely useful.

Most likely a duplicate of MC-227202, the first log is the same error with a slightly different stack trace. The other logs are probably caused by the same or a similar data fixer upper (dfu). As the column placer decorator throws errors when the server starts in my case but I haven't seen the other areas because I have not updated anything other than spawn chunks. Though it could be two separate dfus causing the two issues. The reason this is believed to be a problem with the dfus is that they are responsible for updating chunk data and they don't properly update some of the keys in world generation which is why the error is thrown.

When you "optimize" your world it runs the dfu on all of the chunks that you have generated to make sure the format is up to date so they load in faster. It is very possible that the same dfu that causes the column placer issue causes other problems which appears to happen in forest biomes as it looks like the tree decorator is what is having problems. If you are wondering what a decorator is it is something the game uses to place features in the world. The tree decorator is what decides where trees go and creates and places the trees and the structure decorators do math to the world seed to get coordinates for where it tries to place structures then generates them when the checks pass.

96 more comments

Can confirm, this error happened in vanilla server and was able to replicate in other forks as well

@unknown Issues with modded servers are not tracked here.

@ampolive as you want, but the issue seems to be the same directly from vanilla when i read comments, Some of us use Paper here, but it's not a Paper issue.

hello, can confirm on 1.19.2

[15:42:37] [Tuinity Chunk System Worker #0/ERROR]: No key placement in MapLike[{config:{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}},type:"minecraft:tree"}]; No key feature in MapLike[{config:{decorators:[],foliage_placer:{height:3,offset:0,radius:2,type:"minecraft:blob_foliage_placer"},heightmap:"OCEAN_FLOOR",ignore_vines:1b,leaves_provider:{state:{Name:"minecraft:oak_leaves",Properties:{distance:"7",persistent:"false"}},type:"minecraft:simple_state_provider"},max_water_depth:0,minimum_size:{limit:1,lower_size:0,type:"minecraft:two_layers_feature_size",upper_size:1},trunk_placer:{base_height:4,height_rand_a:2,height_rand_b:0,type:"minecraft:straight_trunk_placer"},trunk_provider:{state:{Name:"minecraft:oak_log",Properties:{axis:"y"}},type:"minecraft:simple_state_provider"}},type:"minecraft:tree"}]
[15:42:37] [Tuinity Chunk System Worker #0/ERROR]: Exception loading structure piece with id minecraft:jigsaw
java.lang.IllegalStateException: Invalid pool element found
    at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.lambda$new$0(PoolElementStructurePiece.java:52) ~[?:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.lambda$new$0(PoolElementStructurePiece.java:52) ~[?:?]
    at net.minecraft.world.level.levelgen.structure.pieces.PiecesContainer.load(PiecesContainer.java:65) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at net.minecraft.world.level.levelgen.structure.StructureStart.loadStaticStart(StructureStart.java:56) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at net.minecraft.world.level.chunk.storage.ChunkSerializer.unpackStructureStart(ChunkSerializer.java:798) ~[?:?]
    at net.minecraft.world.level.chunk.storage.ChunkSerializer.loadChunk(ChunkSerializer.java:384) ~[?:?]
    at io.papermc.paper.chunk.system.scheduling.ChunkLoadTask$ChunkDataLoadTask.runOffMain(ChunkLoadTask.java:318) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at io.papermc.paper.chunk.system.scheduling.GenericDataLoadTask$ProcessOffMainTask.run(GenericDataLoadTask.java:307) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue.executeTask(PrioritisedThreadedTaskQueue.java:118) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool$PrioritisedThread.pollTasks(PrioritisedThreadPool.java:274) ~[purpur-1.19.2.jar:git-Purpur-1858]
    at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedQueueExecutorThread.run(PrioritisedQueueExecutorThread.java:62) ~[purpur-1.19.2.jar:git-Purpur-1858]

waiting for the resolution of the problem.

Adriaan Renting

I am getting the same errors on 1.20.1 after upgrading from 1.7.10

I have never ran any mods since 2010, this map is from around 0.9-1.0, shortly after the change to sea level height.

TheMinecraftNerd2017

(Unassigned)

Confirmed

Platform

Important

Datafixer, Save Data

1.17, 1.17.1 Pre-release 1, 1.17.1 Pre-release 2, 1.17.1 Pre-release 3, 1.17.1 Release Candidate 1, ..., 22w03a, 1.18.2, 22w16b, 1.19, 1.19.3

Retrieved