Multiverse / Multiverse-Core

The original Bukkit Multi-World Plugin!
BSD 3-Clause "New" or "Revised" License
957 stars 298 forks source link

Multiverse keeps stucked after World loaded #1778

Closed Ishidres closed 7 years ago

Ishidres commented 7 years ago

So, as soon as MV loaded all worlds, it keeps stuck for some minutes and than says it wouldn't have enought RAM. Here you can see the part of the server log:

[22:09:44] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: CityBuild
[22:09:45] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:49] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: Syndicate
[22:09:49] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:49] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: Snoweef1
[22:09:49] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:49] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: OberChue
[22:09:49] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:49] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: TheEnd
[22:09:49] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:49] [Server thread/INFO]: Could not set generator for world 'Archadia': Plugin 'CleanRoomGenerator' does not exist
[22:09:49] [Server thread/WARN]: [Multiverse-Core] WorldManager: Can't load this world because the folder was deleted/moved: Archadia
[22:09:50] [Server thread/WARN]: [Multiverse-Core] Use '/mv remove' to remove it from the config!
[22:09:50] [Server thread/INFO]: [Multiverse-Core] 58 - World(s) loaded.
[22:11:22] [Server thread/ERROR]: Error occurred while enabling Multiverse-Core v2.5-b699 (Is it up to date?)
java.lang.OutOfMemoryError: Java heap space
        at java.util.HashMap.resize(HashMap.java:703) ~[?:1.8.0_101]
        at java.util.HashMap.putVal(HashMap.java:662) ~[?:1.8.0_101]
        at java.util.HashMap.put(HashMap.java:611) ~[?:1.8.0_101]
        at java.util.HashSet.add(HashSet.java:219) ~[?:1.8.0_101]
        at org.yaml.snakeyaml.serializer.Serializer.serializeNode(Serializer.java:171) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.serializer.Serializer.serializeNode(Serializer.java:206) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.serializer.Serializer.serializeNode(Serializer.java:206) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.serializer.Serializer.serializeNode(Serializer.java:206) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.serializer.Serializer.serialize(Serializer.java:112) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:243) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:206) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.yaml.snakeyaml.Yaml.dump(Yaml.java:181) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:40) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:103) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at com.onarandombox.MultiverseCore.utils.WorldManager.saveWorldsConfig(WorldManager.java:775) ~[?:?]
        at com.onarandombox.MultiverseCore.utils.WorldManager.loadWorlds(WorldManager.java:682) ~[?:?]
        at com.onarandombox.MultiverseCore.MultiverseCore.onEnable(MultiverseCore.java:310) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:356) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:316) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]

Anyone knows why this happens? Before some days, everything was still working, so I don't think the problem is too less amount of ram.

If you need the whole server log, just ask and I will send you the whole! ;)

Best wishes, Ishidres

fernferret commented 7 years ago

[22:09:50] [Server thread/INFO]: [Multiverse-Core] 58 - World(s) loaded.

Questions:

Ishidres commented 7 years ago

1.

$ find . -iname "level.dat"
./caves_4/level.dat
./bw8/level.dat
./bw18/level.dat
./caves/level.dat
./Checkpot/level.dat
./Smash1/level.dat
./bw5/level.dat
./bw10/level.dat
./1o1/level.dat
./SnowSpleef1/level.dat
./Platzangst/level.dat
./BlackAndWhite/level.dat
./ttt2/level.dat
./MiniGames/level.dat
./Test/level.dat
./flatroom/level.dat
./DefaultIsland/level.dat
./bw11/level.dat
./Farmworld_Nether/level.dat
./Hub_the_end/level.dat
./CustomHub/level.dat
./bw17/level.dat
./Arena/level.dat
./MobArena/level.dat
./ModLobby3/level.dat
./qsg_hub/level.dat
./TheForest/level.dat
./plotworld/level.dat
./starwars/level.dat
./GunGame/level.dat
./bw12/level.dat
./plugins/SkyWarsReloaded/maps/caves/level.dat
./plugins/SkyWarsReloaded/maps/swr1/level.dat
./plugins/SkyWarsReloaded/maps/skyblock/level.dat
./waiting_lobby2/level.dat
./level.dat
./swr1_1/level.dat
./Farmworld/level.dat
./bw16/level.dat
./CropVillage/level.dat
./ModLobby/level.dat
./ttt1/level.dat
./ServerIcon/level.dat
./MasterBuilders/level.dat
./bw14/level.dat
./SkyBlock/level.dat
./MSpawn1_the_end/level.dat
./ModHub2/level.dat
./PlotMeTutorial/level.dat
./KitPvP/level.dat
./HubHalloween/level.dat
./SkyBlock_nether/level.dat
./skyworld/level.dat
./EndOfTheWorld/level.dat
./skyworld_nether/level.dat
./caves_8/level.dat
./SkyBlock_the_end/level.dat
./Meltdown/level.dat
./HubClone/level.dat
./Creative/level.dat
./Hub/level.dat
./bw15/level.dat
./bw9/level.dat
./bw6/level.dat
./TNTRun1/level.dat
./HacksTest/level.dat
./TripleUnity/level.dat
./HideAndSeek/level.dat
$ find . -iname "level.dat" -print | wc -l
68
$

It tells me, that it found 68 world (-3 worlds, as you can see at line 32, a plugin just did a copy of the world), which (I think) means that MV can't detect all the worlds.

  1. I will do this, thanks for the tip
  2. The server gets up to 1.3 GB RAM of the whole vServer

Hope that's some info. :)

fernferret commented 7 years ago

This is interesting... at:

com.onarandombox.MultiverseCore.utils.WorldManager.saveWorldsConfig(WorldManager.java:775) ~[?:?]

Mind updating to the very latest build from https://ci.onarandombox.com so my line numbers will match up? I think this line really has to be here which means there's maybe something weird going on here...

The weird part, is it's running out of memory serializing the config, not loading worlds, which is what I'd expect.

Can you also post the result of /mvv -g when you get updated?

EDIT: Updated link to be correct line.

Ishidres commented 7 years ago

OK, i got the latest version (2.5.0) from here: https://ci.onarandombox.com/job/Multiverse-Core/725/

But, it's exactly the same like before. I will now wait, if the server keeps up and starts and if yes, I will execute the above called command.

Ishidres commented 7 years ago

( ͡° ͜ʖ ͡°)

I'm impressed. I don't know what I exactly did, but it seems like it's working now. I think, I just disabled MV by moving it out of the /plugins/ -folder and then loaded it using a Plugin Manager and it worked.

Thanks for helping me! :smile:

EDIT: Damn, forgot to execute the command. Will do this later...