PaperMC/Paper

Certain chunks not updating

lavaking46 opened this issue · 6 comments

Expected behavior

Chunk to update from 1.20.4 to 1.20.6 without issue

Observed/Actual behavior

The chunk was reset to default world generation, another chunk lost all its entities.

Steps/models to reproduce

2024-06-08_08 59 13
2024-06-08_08 58 14
2024-06-08_08 58 57
2024-06-08_08 58 34
2024-06-08_08 57 23
2024-06-08_08 58 05
These are comparisons between the world in 1.20.4 and 1.20.6. I simply had the world in a 1.20.4 server then swapped the server jar from the 1.20.4 paper jar to 1.20.6 paper jar and when exploring discovered these chunks had been reset and in the one entities removed.

Plugin and Datapack List

Plugins: FreedomChat, Luckperms, spark
Datapacks: Vanilla, Bukkit, lwvoting, lwmeteorite, Timer, lwcommands, lwbiomes, paper, lwloot, beacons
Their are two different plugins lists as we tried this on two separate paper servers, datapacks remained the same however and issues remained the same
Plugins on 2nd server: Fast ASync Voxel Sniper, Fast ASync World Edit, freedomchat

Paper version

This server is running Paper version 1.20.6-137-master@bd5867a (2024-06-04T21:04:28Z) (Implementing API version 1.20.6-R0.1-SNAPSHOT)\nYou are running the latest version\nPrevious version: 1.20.6-115-9d6f2cc (MC: 1.20.6)

Other

This is a custom map. If you load the world in singleplayer or outside of paper the chunks stay their unless the world has already been loaded by paper.
These stack traces appeared when this occured(I have the stack traces for 2 of the chunks but I haven't found the stack trace for chunk #3 yet)

java.lang.NullPointerException: Cannot invoke "ca.spottedleaf.dataconverter.types.ListType.size()" because "armor" is null
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:47) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:17) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:24) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:97) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V704.lambda$register$2(V704.java:386) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:133) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convert(WalkerUtils.java:20) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V99.lambda$register$11(V99.java:339) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:111) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convertList(WalkerUtils.java:35) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V705.lambda$register$1(V705.java:184) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:145) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convertList(WalkerUtils.java:35) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V99.lambda$register$8(V99.java:309) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:111) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:13) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convert(MCDataConverter.java:56) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(MCDataConverter.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at net.minecraft.world.level.chunk.storage.EntityStorage.upgradeChunkTag(EntityStorage.java:136) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.ChunkLoadTask$EntityDataLoadTask.runOffMain(ChunkLoadTask.java:470) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.GenericDataLoadTask$ProcessOffMainTask.run(GenericDataLoadTask.java:307) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue.executeTask(PrioritisedThreadedTaskQueue.java:118) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool$PrioritisedThread.pollTasks(PrioritisedThreadPool.java:274) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedQueueExecutorThread.run(PrioritisedQueueExecutorThread.java:50) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
[03:53:39] [Tuinity Chunk System Worker #0/ERROR]: [NewChunkHolder] Unhandled entity data load exception, data data will be lost: 
java.lang.NullPointerException: Cannot invoke "ca.spottedleaf.dataconverter.types.ListType.size()" because "armor" is null
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:47) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:17) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:24) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:97) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V704.lambda$register$2(V704.java:386) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:133) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convert(WalkerUtils.java:20) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V99.lambda$register$11(V99.java:339) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:111) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convertList(WalkerUtils.java:35) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V705.lambda$register$1(V705.java:184) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:145) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convertList(WalkerUtils.java:35) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V99.lambda$register$8(V99.java:309) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:111) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:13) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convert(MCDataConverter.java:56) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(MCDataConverter.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at net.minecraft.world.level.chunk.storage.EntityStorage.upgradeChunkTag(EntityStorage.java:136) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.ChunkLoadTask$EntityDataLoadTask.runOffMain(ChunkLoadTask.java:470) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.GenericDataLoadTask$ProcessOffMainTask.run(GenericDataLoadTask.java:307) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue.executeTask(PrioritisedThreadedTaskQueue.java:118) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool$PrioritisedThread.pollTasks(PrioritisedThreadPool.java:274) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedQueueExecutorThread.run(PrioritisedQueueExecutorThread.java:50) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
[03:53:39] [Tuinity Chunk System Worker #0/ERROR]: [ChunkLoadTask] Failed to parse chunk data for task: GenericDataLoadTask{class: io.papermc.paper.chunk.system.scheduling.ChunkLoadTask$ChunkDataLoadTask, world: world, chunk: (7,-32), hashcode: 813850109, priority: COMPLETING, type: CHUNK_DATA}, chunk data will be lost
net.minecraft.ReportedException: Updated chunk
	at net.minecraft.world.level.chunk.storage.ChunkStorage.upgradeChunkTag(ChunkStorage.java:141) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.ChunkLoadTask$ChunkDataLoadTask.runOffMain(ChunkLoadTask.java:333) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at io.papermc.paper.chunk.system.scheduling.GenericDataLoadTask$ProcessOffMainTask.run(GenericDataLoadTask.java:307) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue.executeTask(PrioritisedThreadedTaskQueue.java:118) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool$PrioritisedThread.pollTasks(PrioritisedThreadPool.java:274) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedQueueExecutorThread.run(PrioritisedQueueExecutorThread.java:50) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
Caused by: java.lang.NullPointerException: Cannot invoke "ca.spottedleaf.dataconverter.types.ListType.size()" because "armor" is null
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:47) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V3808$1BodyArmorConverter.convert(V3808.java:17) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType$1.convert(IDDataType.java:24) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:97) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V704.lambda$register$2(V704.java:386) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:133) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:15) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.DataWalkerListPaths.walk(DataWalkerListPaths.java:29) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.DataWalkerListPaths.walk(DataWalkerListPaths.java:8) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.IDDataType.convert(IDDataType.java:145) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.walkers.generic.WalkerUtils.convertList(WalkerUtils.java:35) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.versions.V2843.lambda$register$0(V2843.java:72) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:111) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.datatypes.MCDataType.convert(MCDataType.java:13) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convert(MCDataConverter.java:56) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(MCDataConverter.java:30) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	at net.minecraft.world.level.chunk.storage.ChunkStorage.upgradeChunkTag(ChunkStorage.java:123) ~[paper-1.20.6.jar:1.20.6-115-9d6f2cc]
	... 6 more```

It would be helpful if you could upload some parts of the world that failed to upgrade, so we can see what data causes this. Just a single region file would be enough.

r.0.-1.mca.zip
The zip contains the region file where we had one chunk completely reset and one lose all entity data. This is the world with the chunks still their, however in this particular world it has been loaded in 1.20.6 singleplayer. Below is a copy of the same region file but it has not been loaded in 1.20.6
r.0.-1.mca.zip

Hey @lavaking46, are you able to compress the world (that hasn't ran on Paper) and upload it, please? With the supplied region file above I haven't been able to reproduce the broken chunk running only Paper (no plugins or datapacks).

https://send.vis.ee/download/28151360c8e34fe4/#SmlVROSVZr0xwsXbyFA3BA The world file is to big for github so I sent it through this. if the link stops working please let me know