YAML comments duplication
SlimeDog opened this issue ยท 14 comments
Information
- Server version:
>version
[12:16:52] [Server thread/INFO]: This server is running CraftBukkit version 3395-Spigot-f4ff00f-cc86ab1 (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT)
[12:16:52] [Server thread/INFO]: You are running the latest version
- Full output of
/mv version -p
:
>mv version
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Multiverse-Core Version: 4.3.2-SNAPSHOT-b867
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Bukkit Version: 3395-Spigot-f4ff00f-cc86ab1 (MC: 1.18.1)
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Loaded Worlds: [{"MVWorld@407343655":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_yellowdog"}}, {"MVWorld@957713390":{"Gen":"null","Type":"NORMAL","Env":"THE_END","Name":"world_blackdog_the_end"}}, {"MVWorld@1945931089":{"Gen":"null","Type":"NORMAL","Env":"NETHER","Name":"world_blackdog_nether"}}, {"MVWorld@1831632186":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_whitedog"}}, {"MVWorld@1379932938":{"Gen":"BentoBox","Type":"NORMAL","Env":"THE_END","Name":"world_skyblock_the_end"}}, {"MVWorld@1201647703":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_westeros"}}, {"MVWorld@1344154608":{"Gen":"null","Type":"NORMAL","Env":"NETHER","Name":"world_whitedog_nether"}}, {"MVWorld@1582647652":{"Gen":"VoidGen","Type":"NORMAL","Env":"NORMAL","Name":"world_void"}}, {"MVWorld@203391471":{"Gen":"BentoBox","Type":"NORMAL","Env":"NETHER","Name":"world_skyblock_nether"}}, {"MVWorld@918066483":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_luckyblock"}}, {"MVWorld@391670207":{"Gen":"BentoBox","Type":"NORMAL","Env":"NORMAL","Name":"world_skyblock"}}, {"MVWorld@923943706":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world"}}, {"MVWorld@1664228441":{"Gen":"null","Type":"NORMAL","Env":"THE_END","Name":"world_the_end"}}, {"MVWorld@332593449":{"Gen":"null","Type":"NORMAL","Env":"NETHER","Name":"world_nether"}}, {"MVWorld@1639053165":{"Gen":"null","Type":"NORMAL","Env":"NETHER","Name":"world_yellowdog_nether"}}, {"MVWorld@1484977695":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_lobby"}}, {"MVWorld@2024347555":{"Gen":"CityWorld","Type":"NORMAL","Env":"NORMAL","Name":"world_city"}}, {"MVWorld@896561013":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world_blackdog"}}]
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Multiverse Plugins Loaded: 3
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Economy being used: EssentialsX Economy
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Permissions Plugin: Bukkit Permissions (SuperPerms)
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Dumping Config Values: (version 2.9)
[12:17:19] [Server thread/INFO]: [Multiverse-Core] enforceaccess: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] prefixchat: false
[12:17:19] [Server thread/INFO]: [Multiverse-Core] prefixchatformat: [%world%]%chat%
[12:17:19] [Server thread/INFO]: [Multiverse-Core] useasyncchat: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] teleportintercept: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] firstspawnoverride: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] displaypermerrors: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] enablebuscript: false
[12:17:19] [Server thread/INFO]: [Multiverse-Core] globaldebug: 0
[12:17:19] [Server thread/INFO]: [Multiverse-Core] silentstart: false
[12:17:19] [Server thread/INFO]: [Multiverse-Core] messagecooldown: 5000
[12:17:19] [Server thread/INFO]: [Multiverse-Core] version: 2.9
[12:17:19] [Server thread/INFO]: [Multiverse-Core] firstspawnworld: world
[12:17:19] [Server thread/INFO]: [Multiverse-Core] teleportcooldown: 1000
[12:17:19] [Server thread/INFO]: [Multiverse-Core] defaultportalsearch: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] portalsearchradius: 128
[12:17:19] [Server thread/INFO]: [Multiverse-Core] autopurge: true
[12:17:19] [Server thread/INFO]: [Multiverse-Core] Special Code: FRN002
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] Multiverse-Portals Version: 4.2.2-SNAPSHOT-b850
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] Loaded Portals: 8
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] Dumping Portal Values: (version 2.7)
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] wand: 271
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] useonmove: true
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] portalsdefaulttonether: false
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] enforceportalaccess: false
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] portalcooldown: 1000
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] clearonremove: false
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] framematerials: []
[12:17:19] [Server thread/INFO]: [Multiverse-Portals] Special Code: FRN001
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Multiverse-Inventories Version: 4.2.3-SNAPSHOT-b519
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] === Settings ===
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] First Run: false
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Using Bypass: false
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Default Ungrouped Worlds: false
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Save and Load on Log In and Out: false
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Using GameMode Profiles: false
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] === Shares ===
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Optionals for Ungrouped Worlds: true
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] Enabled Optionals:
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] === Groups ===
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] blackdog: {Worlds: [world_blackdog_nether, world_blackdog_the_end, world_blackdog], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] city: {Worlds: [world_city_the_end, world_city, world_city_nether], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] creative: {Worlds: [world, world_the_end, world_nether], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] lobby: {Worlds: [world_lobby], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] luckyblock: {Worlds: [world_luckyblock], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] mini: {Worlds: [world_minigames], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] skyblock: {Worlds: [world_skyblock, world_skyblock_the_end, world_skyblock_nether], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] void: {Worlds: [world_void], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] westeros: {Worlds: [world_westeros], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] whitedog: {Worlds: [world_whitedog_the_end, world_whitedog, world_whitedog_nether], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-Inventories] yellowdog: {Worlds: [world_yellowdog_the_end, world_yellowdog, world_yellowdog_nether], Shares: [hit_points, economy, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand]}
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Multiverse-NetherPortals Version: 4.2.2-SNAPSHOT-b804
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Nether Prefix:
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Nether Suffix: _nether
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] End Prefix:
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] End Suffix: _the_end
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Nether Links: {}
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] End Links: {}
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Bounceback: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Teleport Entities: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Send Disabled Portal Message: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Send No Destination Message: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Server Allow Nether: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Server Allow End: true
[12:17:19] [Server thread/INFO]: [Multiverse-NetherPortals] Special Code: FRN001
- Server log:
Irrelevant
Details
I was able
to reproduce my issue on a freshly setup and up-to-date server with the latest version of Multiverse plugins with no other plugins and with no kinds of other server or client mods.
Description
Due to the new snakeyaml updates, coupled with the fact that MV rewrites configuration files on every server start-up, the comments in MV-Inventory config.yml and groups.yml are duplicated at each server start-up.
Steps to reproduce
- Update to indicated Spigot and MV versions.
- Start server.
- Review contents of YAML files.
Expected behavior
Static configuration files.
Might be fixed by #361. I doubt it, but there's a chance.
When might we a have a chance to test the proposition. There hasn't been a dev build for six months, unless I'm looking in the wrong place.
This might actually be a Paper (or Spigot?) snakeyaml bug that was fixed in Paper, PaperMC/Paper#7248.
Actually, I'm running a server right now and can confirm the issue. I'll also test whether the PR fixes it later today or tomorrow.
Paper is fixing things that wouldn't be broken if folks used the new snakeyaml API correctly. But this issue occurs on both Spigot and Paper 1.18.1 presently.
paper's bugfix is for files with 100+ lines of adjacent comments crashing the server, not comment duplication
A quick patch version of mv-inv to disable comments for now (wont effect any functionality):
Multiverse-Inventories-4.2.3-SNAPSHOT.zip
When might we a have a chance to test the proposition. There hasn't been a dev build for six months, unless I'm looking in the wrong place.
Off topic: Yeah, it wouldn't hurt for known bug fixes to end up on Jenkins again with tested builds.
On topic: I am using Paper and I can confirm this issue. I have a MVi yml file that's over a megabyte and it's full of duped comments, and I dont' use /reload or even touch mvc/mvi, it just runs there helping me have some worlds.
Thanks ben for the temp zip i will clean up the yml files and start the server with that jar and see how it goes, also good to see spigot's fix upstream to paper.
Another one that has 50 to 150 mb yml files is mcMMO, if ppl use mcMMO, go get the latest github compile from their jenkins or something to help mitigate it.
The reason ben's build isn't on Jenkins is because it's just a stopgap. The actual fix is simple enough and shouldn't take too much work.
I just tested #361, and as suspected, it doesn't help. It does however make it easier to implement the actual fix, so hopefully we can get it merged soon and then we can start working on this bug!
I see you're a bit confused on this. #361 is not a ticket. It's the code that ended up in that new Jenkins build that you mentioned. That Jenkins build is also different than the stopgap that ben posted. The build on Jenkins is just some general cleanup to the code that handles our config files. #483 is the actual fix I mentioned.
The reason ben's build isn't on Jenkins is because it's just a stopgap. The actual fix is simple enough and shouldn't take too much work.
I just tested #361, and as suspected, it doesn't help. It does however make it easier to implement the actual fix, so hopefully we can get it merged soon and then we can start working on this bug!
I read this, then i wake up today to see a fix on jenkins, only to now learn it's the stopgap build and not the actual fix.
How is this helping .. And the ticket is closed. Implying the issue is resolved. But i guess it's automated ~ just confusing.
I see you're a bit confused on this. #361 is not a ticket. It's the code that ended up in that new Jenkins build that you mentioned. That Jenkins build is also different than the stopgap that ben posted. The build on Jenkins is just some general cleanup to the code that handles our config files. #483 is the actual fix I mentioned.
Thanks for explaining. But before I go to bed I ask why it's not on jenkins, and it's explained why not. Next morning I see this closed and it's on Jenkins, so I assume it's fixed. Then I mention this to sliced who says it's not. So yes, it's confusing.
I hope "what is useful for me as server owner to resolve this snake crap debacle" is released fully then soon. So I can focus on the next plugin that causes issues for servers for me.
Best of luck everybody ~ thanks for the stopgap jar