• Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • None
    • Affects Version/s: None
    • Environment:
    • CraftBukkit version 3844-Spigot-b41c46d-c335a55 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT)
    • Yes

      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.

        1. 2023_08_07_conv.txt
          76 kB
        2. 2023-08-06-2.txt
          414 kB
        3. consoleLog_dynmapGen.txt
          8 kB
        4. log1_20_1.txt
          13 kB

          [SPIGOT-7447] Argument --forceUpgrade ignored

          Arcy added a comment -

          The ticket can be closed.

          Arcy added a comment - The ticket can be closed.

          Arcy added a comment - - edited

          I have just attempted a conversion by allocating 13 GB of memory to my VM.
          Similar error when reaching 63%.

          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.
          I'll check if the chunk problem is still present and indicate if the ticket can be closed.

          Arcy added a comment - - edited I have just attempted a conversion by allocating 13 GB of memory to my VM. Similar error when reaching 63%. 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. I'll check if the chunk problem is still present and indicate if the ticket can be closed.

          Arcy added a comment -

          3,8 GiB.

          Is there a recommended amount of memory?

           

          Arcy added a comment - 3,8 GiB. Is there a recommended amount of memory?  

          md_5 added a comment -

          How much ram have you allocated?

          Doesn't indicate a bug,or at least not the same bug

          md_5 added a comment - How much ram have you allocated? Doesn't indicate a bug,or at least not the same bug

          Arcy added a comment -

          Do you have anything new to say about this problem, or do you need further information ?

          Arcy added a comment - Do you have anything new to say about this problem, or do you need further information ?

          Arcy added a comment -

          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%
          

          2023_08_07_conv.txt

          Arcy added a comment - 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% 2023_08_07_conv.txt

          Arcy added a comment -

          I'm giving it another try.
          It should be finished in an hour.

          Arcy added a comment - I'm giving it another try. It should be finished in an hour.

          md_5 added a comment - - edited

          I've pushed a fix, can you please test?

          Version 3853 (available in 5-10 minutes)

          md_5 added a comment - - edited I've pushed a fix, can you please test? Version 3853 (available in 5-10 minutes)

          Arcy added a comment -

          The forced update (with spigot) was carried out without any plug-ins.
          I added them afterwards.

          Normally, we have on the server: LuckPerms, WorldEdit, Essentials, EssentialsProtect, EssentialsSpawn, EssentialsChat, WorldGuard, CoreProtect, EssentialsAntiBuild and dynmap.

          Arcy added a comment - The forced update (with spigot) was carried out without any plug-ins. I added them afterwards. Normally, we have on the server: LuckPerms, WorldEdit, Essentials, EssentialsProtect, EssentialsSpawn, EssentialsChat, WorldGuard, CoreProtect, EssentialsAntiBuild and dynmap.

          md_5 added a comment -

          Does vanilla server force upgrade work?

          md_5 added a comment - Does vanilla server force upgrade work?

            Assignee:
            Unassigned
            Reporter:
            Arcy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: