PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
10.04k stars 2.34k forks source link

Certain chunks not updating #10858

Open lavaking46 opened 5 months ago

lavaking46 commented 5 months ago

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```
Malfrador commented 5 months ago

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.

lavaking46 commented 5 months ago

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

codebycam commented 5 months ago

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).

lavaking46 commented 5 months ago

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

Mikkel136 commented 5 months ago

Your link has expired. Is it possible to use a persistent cloud storage solution such as Dropbox or Google Drive?

lavaking46 commented 5 months ago

https://drive.google.com/file/d/1LmukQtWvkiX3jtL4hBvf6MMYkVyVwnB4/view?usp=sharing