UUID conversion process shows up out of nowhere, causing the plugin to fail
thedankeststorm opened this issue ยท 1 comments
Type of bug
Error in console
/ess dump all
output
Can't. Plugin refuses to run
Error log (if applicable)
https://paste.gg/p/anonymous/97ce9b37bc20476ba2c6f92cf1c4ae52
Bug description
When attempting to launch the server, the plugin tries to convert UUID userdata conversion, which fails shortly after.
[22:44:34 INFO]: [Essentials] #### Starting Essentials UUID userdata conversion in a few seconds. #### [22:44:34 INFO]: [Essentials] We recommend you take a backup of your server before upgrading from the old username system. [22:44:49 INFO]: [Essentials] Starting Essentials UUID userdata conversion [22:44:49 INFO]: [Essentials] Found 81 files to convert... [22:44:49 INFO]: [Essentials] Converted 0/81 [22:44:49 ERROR]: Error occurred while enabling Essentials v2.21.0-dev+110-f1a5caf (Is it up to date?) java.lang.NullPointerException: Cannot invoke "com.earth2me.essentials.libs.configurate.CommentedConfigurationNode.node(Object[])" because "node" is null at EssentialsX.jar/com.earth2me.essentials.config.EssentialsConfiguration.toSplitRoot(EssentialsConfiguration.java:360) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.config.EssentialsConfiguration.setInternal(EssentialsConfiguration.java:337) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.config.EssentialsConfiguration.setProperty(EssentialsConfiguration.java:189) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.config.EssentialsUserConfiguration.convertLegacyFile(EssentialsUserConfiguration.java:53) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.EssentialsUpgrade.uuidFileConvert(EssentialsUpgrade.java:146) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.EssentialsUpgrade.uuidFileChange(EssentialsUpgrade.java:843) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.EssentialsUpgrade.afterSettings(EssentialsUpgrade.java:1064) ~[EssentialsX.jar:?] at EssentialsX.jar/com.earth2me.essentials.Essentials.onEnable(Essentials.java:360) ~[EssentialsX.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:288) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[purpur-1.21.jar:1.21-2280-930003b] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[purpur-1.21.jar:1.21-2280-930003b] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:654) ~[purpur-1.21.jar:1.21-2280-930003b] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:603) ~[purpur-1.21.jar:1.21-2280-930003b] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:757) ~[purpur-1.21.jar:1.21-2280-930003b] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:519) ~[purpur-1.21.jar:1.21-2280-930003b] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:363) ~[purpur-1.21.jar:1.21-2280-930003b] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1230) ~[purpur-1.21.jar:1.21-2280-930003b] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:333) ~[purpur-1.21.jar:1.21-2280-930003b] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [22:44:49 INFO]: [Essentials] Disabling Essentials v2.21.0-dev+110-f1a5caf
Steps to reproduce
- Start server.
- Issue happens.
Expected behaviour
Normally, I did not see this UUID userdata conversion process and the plugin would work fine.
Actual behaviour
This UUID userdata conversion process happens when the server launches, which causes the error above and disabling the entire plugin altogether.
Additional Information
This is on 1.21, latest developing version.
Found the root cause of the issue.
I'm currently running a dual server setup - meaning if 1 server down, I'd back it up and put it on the other. I use a program called "Syncthing" to perform this process.
Because sometimes syncing between servers can cause conflicts, it'd create conflicted files inside folders, and this inadvertently created conflicting files within userdata folder.
After deleting those files, issue was resolved.