Map Art display corruption during run time #177

Open
opened 2023-12-18 14:58:07 +01:00 by cgw2023 · 9 comments
cgw2023 commented 2023-12-18 14:58:07 +01:00 (Migrated from github.com)

Expected behavior

When player build Map art on Minecraft world and use map item to take a picture of the chunk, the map should keep the same at any time.

Observed/Actual behavior

During running of folia server without restart, the art get corrupted and showing some random and wired chunk map images.
image 1

Steps/models to reproduce

build map art on folia server, wait.

Plugin and Datapack List

[21:56:12 INFO]: Server Plugins (43):
[21:56:12 INFO]: Bukkit Plugins:
[21:56:12 INFO]: - AnnouncerPlus, AntiPopup, Attollo, AxInventoryRestore, AxShulkers, BetterRTP, BlockLocker, BlueMap, Chunky, ChunkyBorder
[21:56:12 INFO]: CMILib, CodFrame, CoreProtect, DecentHolograms, DeluxeMenus, DiscordSRV, DragonDropElytra, Essentials, EssentialsChat, EssentialsGeoIP
[21:56:12 INFO]: EssentialsProtect, EssentialsSpawn, FancyNpcs, floodgate, FoliaFlow, GreenChunk, GSit, HeadDrop, Kaiivoid, LuckPerms
[21:56:12 INFO]: Matrix, PlaceholderAPI, PlayerWarps, ProtocolLib, Residence, ShulkerRespawner, spark, TAB-Bridge, Vault, ViaBackwards
[21:56:12 INFO]: ViaVersion, VillagerOptimizer, zAuctionHouseV3

Folia version

This server is running Folia version git-Folia-"3843340" (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: 3843340 on dev/1.20.2)

Other

The new two commit of mojangapi and gradle and also rcon seems does not affect the result.

### Expected behavior When player build Map art on Minecraft world and use map item to take a picture of the chunk, the map should keep the same at any time. ### Observed/Actual behavior During running of folia server without restart, the art get corrupted and showing some random and wired chunk map images. ![image 1](https://github.com/PaperMC/Folia/assets/136877036/545495ea-c0bd-4ef7-9597-caecabae10c0) ### Steps/models to reproduce build map art on folia server, wait. ### Plugin and Datapack List [21:56:12 INFO]: Server Plugins (43): [21:56:12 INFO]: Bukkit Plugins: [21:56:12 INFO]: - AnnouncerPlus, AntiPopup, Attollo, AxInventoryRestore, AxShulkers, BetterRTP, BlockLocker, BlueMap, Chunky, ChunkyBorder [21:56:12 INFO]: CMILib, CodFrame, CoreProtect, DecentHolograms, DeluxeMenus, DiscordSRV, DragonDropElytra, Essentials, EssentialsChat, EssentialsGeoIP [21:56:12 INFO]: EssentialsProtect, EssentialsSpawn, FancyNpcs, floodgate, FoliaFlow, GreenChunk, GSit, HeadDrop, Kaiivoid, LuckPerms [21:56:12 INFO]: Matrix, PlaceholderAPI, PlayerWarps, ProtocolLib, Residence, ShulkerRespawner, spark, TAB-Bridge, Vault, ViaBackwards [21:56:12 INFO]: ViaVersion, VillagerOptimizer, zAuctionHouseV3 ### Folia version This server is running Folia version git-Folia-"3843340" (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: 3843340 on dev/1.20.2) ### Other The new two commit of mojangapi and gradle and also rcon seems does not affect the result.
xKumorio commented 2024-02-25 16:49:49 +01:00 (Migrated from github.com)

[20:46:21 ERROR]: Not a string |
[20:46:21 ERROR]: Error loading saved data: map_1407 |
java.lang.IllegalArgumentException: Invalid map dimension: null |
at net.minecraft.world.level.saveddata.maps.MapItemSavedData.lambda$load$1(MapItemSavedData.java:156) ~|
[?:?] |
at java.util.Optional.orElseGet(Optional.java:364) ~[?:?] |
at net.minecraft.world.level.saveddata.maps.MapItemSavedData.load(MapItemSavedData.java:139) ~[?:?] |
at net.minecraft.world.level.storage.DimensionDataStorage.readSavedData(DimensionDataStorage.java:73) ~|
[?:?] |
at net.minecraft.server.level.ServerLevel.getMapData(ServerLevel.java:2322) ~[?:?] |
at net.minecraft.world.item.MapItem.getSavedData(MapItem.java:58) ~[?:?] |
at net.minecraft.world.item.MapItem.getSavedData(MapItem.java:65) ~[?:?] |
at net.minecraft.world.item.MapItem.inventoryTick(MapItem.java:322) ~[?:?] |
at net.minecraft.world.item.ItemStack.inventoryTick(ItemStack.java:815) ~[folia-1.20.4.jar:git-Folia-"e|
b42d90"] |
at net.minecraft.world.entity.player.Inventory.tick(Inventory.java:334) ~[?:?]
at net.minecraft.world.entity.player.Player.aiStep(Player.java:567) ~[?:?]
at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:3081) ~[?:?]
at net.minecraft.world.entity.player.Player.tick(Player.java:273) ~[?:?]
at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:870) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:352
) ~[?:?]
at net.minecraft.network.Connection.tick(Connection.java:652) ~[?:?]
at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:531) ~
[folia-1.20.4.jar:git-Folia-"eb42d90"]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1833) ~[folia-1.20.4.jar:git-
Folia-"eb42d90"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[folia-1.20.4
.jar:git-Folia-"eb42d90"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1647) ~[folia-1.20.4.jar:git-Fo
lia-"eb42d90"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:40
7) ~[folia-1.20.4.jar:git-Folia-"eb42d90"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionSchedule
r.java:404) ~[folia-1.20.4.jar:git-Folia-"eb42d90"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool
.java:525) ~[folia-1.20.4.jar:git-Folia-"eb42d90"]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]

[20:46:21 ERROR]: Not a string | [20:46:21 ERROR]: Error loading saved data: map_1407 | java.lang.IllegalArgumentException: Invalid map dimension: null | at net.minecraft.world.level.saveddata.maps.MapItemSavedData.lambda$load$1(MapItemSavedData.java:156) ~| [?:?] | at java.util.Optional.orElseGet(Optional.java:364) ~[?:?] | at net.minecraft.world.level.saveddata.maps.MapItemSavedData.load(MapItemSavedData.java:139) ~[?:?] | at net.minecraft.world.level.storage.DimensionDataStorage.readSavedData(DimensionDataStorage.java:73) ~| [?:?] | at net.minecraft.server.level.ServerLevel.getMapData(ServerLevel.java:2322) ~[?:?] | at net.minecraft.world.item.MapItem.getSavedData(MapItem.java:58) ~[?:?] | at net.minecraft.world.item.MapItem.getSavedData(MapItem.java:65) ~[?:?] | at net.minecraft.world.item.MapItem.inventoryTick(MapItem.java:322) ~[?:?] | at net.minecraft.world.item.ItemStack.inventoryTick(ItemStack.java:815) ~[folia-1.20.4.jar:git-Folia-"e| b42d90"] | at net.minecraft.world.entity.player.Inventory.tick(Inventory.java:334) ~[?:?] at net.minecraft.world.entity.player.Player.aiStep(Player.java:567) ~[?:?] at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:3081) ~[?:?] at net.minecraft.world.entity.player.Player.tick(Player.java:273) ~[?:?] at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:870) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:352 ) ~[?:?] at net.minecraft.network.Connection.tick(Connection.java:652) ~[?:?] at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:531) ~ [folia-1.20.4.jar:git-Folia-"eb42d90"] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1833) ~[folia-1.20.4.jar:git- Folia-"eb42d90"] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[folia-1.20.4 .jar:git-Folia-"eb42d90"] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1647) ~[folia-1.20.4.jar:git-Fo lia-"eb42d90"] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:40 7) ~[folia-1.20.4.jar:git-Folia-"eb42d90"] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionSchedule r.java:404) ~[folia-1.20.4.jar:git-Folia-"eb42d90"] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool .java:525) ~[folia-1.20.4.jar:git-Folia-"eb42d90"] at java.lang.Thread.run(Thread.java:1583) ~[?:?]
cgw2023 commented 2024-05-13 17:46:50 +02:00 (Migrated from github.com)

Problem still exist:
This server is running Folia version git-Folia-"25ee657" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 25ee657)

The picture shown below should form a 4x4 continuous map art, but the right side 4 pictures are corrupted. Players report that it was found after server restart one day, but cannot tell which day. It happens occasionally, cannot reproduce 100%.

2024-05-13_16 22 18

Problem still exist: This server is running Folia version git-Folia-"25ee657" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 25ee657) The picture shown below should form a 4x4 continuous map art, but the right side 4 pictures are corrupted. Players report that it was found after server restart one day, but cannot tell which day. It happens occasionally, cannot reproduce 100%. ![2024-05-13_16 22 18](https://github.com/PaperMC/Folia/assets/136877036/c2dfacae-b069-40f0-bc00-19861870b99b)
DreiPixel commented 2024-11-08 21:18:03 +01:00 (Migrated from github.com)

Is there any update to this? On a community server we are playing this now happened Twice that Mulitple map art got corrupted by being replaced with other maps or are just gone by not showing anything at all. the first time it happened the server crashed but the second time it was a normal restart.

Is there any update to this? On a community server we are playing this now happened Twice that Mulitple map art got corrupted by being replaced with other maps or are just gone by not showing anything at all. the first time it happened the server crashed but the second time it was a normal restart.
ocelotpotpie commented 2024-11-08 21:20:57 +01:00 (Migrated from github.com)

First suggestion would be to reproduce this on the 1.21.1 branch.

Lots of commits since 1.20.4 and we don't backport those updates.

First suggestion would be to reproduce this on the 1.21.1 branch. Lots of commits since 1.20.4 and we don't backport those updates.
RealDestroy commented 2024-11-08 22:20:09 +01:00 (Migrated from github.com)

i dont have proof rn but this has happened on 1.21.1, its been pretty frustrating

i dont have proof rn but this has happened on 1.21.1, its been pretty frustrating
OGFulgur commented 2024-11-08 22:35:50 +01:00 (Migrated from github.com)

Haven't figured out what is happening yet, but this has happened on my 1.21.1 server. Don't know what to do about it.

Haven't figured out what is happening yet, but this has happened on my 1.21.1 server. Don't know what to do about it.
electronicboy commented 2024-11-08 22:38:19 +01:00 (Migrated from github.com)

Stuff like this is often due to things like map IDs being reused, used to be fairly common when the limit was muuuuch lower; wonder if there is a race or something here

edit: logic looks fine, make sure that you've not overrun IDs

Stuff like this is often due to things like map IDs being reused, used to be fairly common when the limit was muuuuch lower; wonder if there is a race or something here edit: logic looks fine, make sure that you've not overrun IDs
DreiPixel commented 2024-11-09 16:18:54 +01:00 (Migrated from github.com)

edit: logic looks fine, make sure that you've not overrun IDs

i very much doubt that anyone is hitting the map limit. since AFAIK the limit is 4,294,967,296 maps

> edit: logic looks fine, make sure that you've not overrun IDs i very much doubt that anyone is hitting the map limit. since AFAIK the limit is 4,294,967,296 maps
RealDestroy commented 2024-12-16 22:53:40 +01:00 (Migrated from github.com)

from some testing on 1.21.4 it seems 1 way to corrupt a locked map is to teleport before interacting with it in your inventory.

We tested by creating a locked map, not touching it after its creation and then teleporting, which corrupts it. If you click the map before teleporting the map remains ok.

This was tested on 1.21.1 and 1.21.4

from some testing on 1.21.4 it seems 1 way to corrupt a locked map is to teleport before interacting with it in your inventory. We tested by creating a locked map, not touching it after its creation and then teleporting, which corrupts it. If you click the map before teleporting the map remains ok. This was tested on 1.21.1 and 1.21.4
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Minecraft/Folia#177
No description provided.