Iron's Spells 'n Spellbooks

Iron's Spells 'n Spellbooks

11M Downloads

[Bug] Iron'sWorldUpgrader takes very long to run on large worlds

superhealing opened this issue ยท 4 comments

commented

Observed behaviour

After using world from 1.2.1 mod to 2.0.0 server doesn't launch it properly, hangs after extended time.
After extended research, thanks a few people there : AllTheMods/ATM-9#466
"Upon further investigation, the 0.1.8 update brought with it version 2.0.0 of Iron's Spells and Spellbooks. In this version, they seem to have transitioned from differentiating spell scrolls using ID numbers in their NBT data to using a string ID."

[08:48:08] [Server thread/INFO] [io.re.ir.IronsSpellbooks/]: IronsWorldUpgrader starting upgrade
[08:48:08] [Server thread/ERROR] [io.re.ir.IronsSpellbooks/]: IronsWorldUpgrader Level Backup failed: java.nio.file.FileSystemException: /home/container/./../backups: Read-only file system

Expected behaviour

Properly started server.

Steps to reproduce

  1. Use ATM9 Server file 0.1.7 or older, create map
  2. Then update to ATM9 Server file 0.1.8+
  3. server hangs.

Server Type

Dedicated Server

Crashlog

latest.log: https://mclo.gs/KlSrco9
debug.log: https://mclo.gs/X7CeSAb (stolen from AllTheMods/ATM-9#466)

Iron's Spells N Spellbooks version

1.19.2-1.2.1-> 1.19.2-2.0.0

Forge version

1.19.2-47.1.3

Other mods

If needed, i can write long list of mods, just standard ATM9 instance.

commented

What do you mean by "fails"? How much time are you giving the process to run?

commented

We are triggering minecraft's world backup before we run our own world updater to fix the data. The specific error you listed is because the minecraft java process doesn't have write access to backup the world using minecraft's default backup location. That error only means that the backup didn't run but we still upgrade the world even if the backup can't be made.

The hanging I suspect is because you have a large world that is taking long to upgrade. It's not ideal, but for now, you can just let it run to completion as this is a only a one time process on a world. Making this more performant is something that we are actively looking into.

commented

Should be mostly fixed in 2.0.1, although more optimizations are on their way

commented

a final round of optimizations have been released with 2.1.0