[SPIGOT-7447] Argument --forceUpgrade ignored Created: 03/Aug/23 Updated: 25/Dec/24 Resolved: 10/Aug/23 |
|
Status: | Resolved |
Project: | Spigot |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | Priority: | Minor |
Reporter: | Arcy | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | 1.20.1, forceUpgrade | ||
Environment: |
~$ uname -a ~$ lsb_release -a ~$ java --version
BuildTools version : git-BuildTools-2836244-160 (#160) Spigot version : Jenkins build 3844 Without plugins |
Attachments: |
![]() ![]() ![]() ![]() |
Version: | CraftBukkit version 3844-Spigot-b41c46d-c335a55 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) |
Guidelines Read: | Yes |
Description |
I have a 1.19.4 map and would like to force its upgrade to 1.20.1, using the "java -jar ./spigot-1.20.1.jar --forceUpgrade" command. The problem is that if the "--forceUpgrade" argument is received by the server (line 14 of the log: "Forcing world upgrade! world"), the server doesn't perform the conversion. It simply starts up and is ready to welcome players. The console does not indicate any activity related to a conversion. |
Comments |
Comment by Arcy [ 10/Aug/23 ] |
The ticket can be closed. |
Comment by Arcy [ 09/Aug/23 ] |
I have just attempted a conversion by allocating 13 GB of memory to my VM. I didn't have as much trouble (nor allocated as many resources) with previous upgrades. Has anything changed? ------- EDIT 19h31 With 15 GB allocated : [19:19:28] [Server thread/INFO]: 66% completed (126162 / 190611 chunks)... [19:20:09] [Server thread/INFO]: 66% completed (126163 / 190611 chunks)... [19:20:09] [AWT-EventQueue-0/WARN]: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space [19:20:09] [IO-Worker-7/ERROR]: Caught exception in thread Thread[IO-Worker-7,5,main] java.lang.OutOfMemoryError: Java heap space at java.util.HashMap$KeySet.iterator(HashMap.java:983) ~[?:?] at net.minecraft.nbt.NBTTagCompound.a(SourceFile:163) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTTagCompound.a(SourceFile:487) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTTagCompound.a(SourceFile:165) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTTagList.a(SourceFile:129) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTTagCompound.a(SourceFile:487) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTTagCompound.a(SourceFile:165) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTCompressedStreamTools.a(NBTCompressedStreamTools.java:280) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.nbt.NBTCompressedStreamTools.a(NBTCompressedStreamTools.java:248) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.world.level.chunk.storage.RegionFileCache.a(RegionFileCache.java:141) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:260) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:250) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.world.level.chunk.storage.IOWorker$$Lambda$4846/0x00007f8004b8e3e8.run(Unknown Source) ~[?:?] at net.minecraft.util.thread.PairedQueue$b.run(SourceFile:60) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.util.thread.ThreadedMailbox.h(SourceFile:91) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.util.thread.ThreadedMailbox.a(SourceFile:146) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at net.minecraft.util.thread.ThreadedMailbox.run(SourceFile:102) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3853-Spigot-3bce793-d91e5aa] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] [19:20:12] [Server thread/INFO]: 66% completed (126163 / 190611 chunks)... [19:20:14] [Server thread/INFO]: 66% completed (126166 / 190611 chunks)... ------- EDIT 20h30 With the "-Xmx8G" argument, it works. |
Comment by Arcy [ 09/Aug/23 ] |
3,8 GiB. Is there a recommended amount of memory?
|
Comment by md_5 [ 09/Aug/23 ] |
How much ram have you allocated? Doesn't indicate a bug,or at least not the same bug |
Comment by Arcy [ 09/Aug/23 ] |
Do you have anything new to say about this problem, or do you need further information ? |
Comment by Arcy [ 07/Aug/23 ] |
There was a problem with the conversion : [12:50:37] [Server thread/INFO]: 16% completed (31836 / 190611 chunks)... [12:50:38] [Server thread/INFO]: 16% completed (31836 / 190611 chunks)... [12:50:40] [Server thread/INFO]: 16% completed (31838 / 190611 chunks)... [12:50:44] [Server thread/INFO]: 16% completed (31839 / 190611 chunks)... [12:50:44] [pool-6-thread-1/ERROR]: Error upgrading world java.lang.OutOfMemoryError: Java heap space at com.mojang.datafixers.util.Either.left(Either.java:170) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult.success(DataResult.java:46) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.ListCodec.lambda$decode$4(ListCodec.java:43) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.ListCodec$$Lambda$3306/0x00007f5f4878e530.apply(Unknown Source) ~[?:?] at com.mojang.serialization.DataResult.lambda$flatMap$11(DataResult.java:139) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult$$Lambda$1003/0x00007f5f48428868.apply(Unknown Source) ~[?:?] at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult.flatMap(DataResult.java:137) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.ListCodec.decode(ListCodec.java:39) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder.lambda$compressedDecode$1(MapDecoder.java:52) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder$$Lambda$3304/0x00007f5f4878d928.apply(Unknown Source) ~[?:?] at com.mojang.serialization.DataResult.lambda$flatMap$11(DataResult.java:139) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult$$Lambda$1003/0x00007f5f48428868.apply(Unknown Source) ~[?:?] at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult.flatMap(DataResult.java:137) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.EitherCodec.decode(EitherCodec.java:24) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.PairCodec.decode(PairCodec.java:23) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder.lambda$compressedDecode$1(MapDecoder.java:52) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder$$Lambda$3304/0x00007f5f4878d928.apply(Unknown Source) ~[?:?] at com.mojang.serialization.DataResult.lambda$flatMap$11(DataResult.java:139) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult$$Lambda$1003/0x00007f5f48428868.apply(Unknown Source) ~[?:?] at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.DataResult.flatMap(DataResult.java:137) ~[datafixerupper-6.0.8.jar:?] at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-6.0.8.jar:?] [12:50:46] [Server thread/INFO]: -------- World Settings For [world] -------- [12:50:46] [Server thread/INFO]: Cactus Growth Modifier: 100% [12:50:46] [Server thread/INFO]: Cane Growth Modifier: 100% [12:50:46] [Server thread/INFO]: Melon Growth Modifier: 100% [12:50:46] [Server thread/INFO]: Mushroom Growth Modifier: 100% |
Comment by Arcy [ 07/Aug/23 ] |
I'm giving it another try. |
Comment by md_5 [ 07/Aug/23 ] |
I've pushed a fix, can you please test? Version 3853 (available in 5-10 minutes) |
Comment by Arcy [ 07/Aug/23 ] |
The forced update (with spigot) was carried out without any plug-ins. Normally, we have on the server: LuckPerms, WorldEdit, Essentials, EssentialsProtect, EssentialsSpawn, EssentialsChat, WorldGuard, CoreProtect, EssentialsAntiBuild and dynmap. |
Comment by md_5 [ 07/Aug/23 ] |
Does vanilla server force upgrade work? |
Comment by Arcy [ 07/Aug/23 ] |
To estimate the damage, I ran a dynmap generation. It also brings up a problem with chunks. Extract from "consoleLog_dynmapGen.txt". |
Comment by Arcy [ 07/Aug/23 ] |
I've attached the conversion log "2023-08-06-2.txt" to the ticket.
Before doing the conversion, I deleted a few files (server.properties, bukkit.yml, spigot.yml, ...), as the conversion was done on my PC and not on the usual server.
Minecraft Region Fixer (after conversion) : overworld : 3 619 corrupted, 11 876 wrong location nether : 110 corrupted, 383 wrong location
|
Comment by md_5 [ 06/Aug/23 ] |
It's possible, although I didn't see it with a slightly older world.
I will revert and reopen as a precaution |
Comment by Arcy [ 06/Aug/23 ] |
It's all good to me. I ran "Minecraft Region Fixer" in 1.19.4, no problems found. |
Comment by Arcy [ 05/Aug/23 ] |
I'm doing the conversion overnight, and will have the result in the morning. |
Comment by md_5 [ 05/Aug/23 ] |
I've pushed a fix, please back up your server first |
Comment by Arcy [ 04/Aug/23 ] |
Hello, I've been notified of the priority change (Major > Minor), indicating that the unavailable function can be bypassed. Is there another solution to force the map update, knowing that it's not possible to build Spigot (via BuildTools) in 1.20? |