LuckPerms

LuckPerms

41.4k Downloads

Empty prefix causes errors

3XC4L1B3R opened this issue ยท 1 comments

commented

LP v5.3.57 running on paper-1.17.1-186

After adding an empty prefix ( meta addprefix 99 "" ), my group file can't be read by the plugin. I get the following errors when the plugin tries to view or read any info about the group.

[18:33:34] [Server thread/INFO]: 3XC4L1B3R issued server command: /lp editor
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: me.lucko.luckperms.common.storage.implementation.file.FileIOException: Exception thrown whilst reading/writing file: dei
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.AbstractConfigurateStorage.loadGroup(AbstractConfigurateStorage.java:264)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.util.Iterators.tryIterate(Iterators.java:41)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.SeparatedConfigurateStorage.loadAllGroups(SeparatedConfigurateStorage.java:307)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.Storage.lambda$loadAllGroups$10(Storage.java:194)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.Storage.lambda$future$1(Storage.java:100)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1800)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1792)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: Caused by: java.lang.NullPointerException: Cannot invoke "me.lucko.luckperms.lib.configurate.ConfigurationNode.getString(String)" because the return value of "java.util.Map.get(Object)" is null
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.AbstractConfigurateStorage.parseNode(AbstractConfigurateStorage.java:442)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.AbstractConfigurateStorage.readNodes(AbstractConfigurateStorage.java:490)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.AbstractConfigurateStorage.loadGroup(AbstractConfigurateStorage.java:261)
[18:33:34] [ForkJoinPool-1-worker-39/WARN]: 	... 11 more
[18:33:34] [luckperms-command-executor/WARN]: java.util.concurrent.CompletionException: java.lang.RuntimeException: Exception occurred whilst loading a group
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1803)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1792)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[18:33:34] [luckperms-command-executor/WARN]: Caused by: java.lang.RuntimeException: Exception occurred whilst loading a group
[18:33:34] [luckperms-command-executor/WARN]: 	at me.lucko.luckperms.common.storage.implementation.file.SeparatedConfigurateStorage.loadAllGroups(SeparatedConfigurateStorage.java:308)
[18:33:34] [luckperms-command-executor/WARN]: 	at me.lucko.luckperms.common.storage.Storage.lambda$loadAllGroups$10(Storage.java:194)
[18:33:34] [luckperms-command-executor/WARN]: 	at me.lucko.luckperms.common.storage.Storage.lambda$future$1(Storage.java:100)
[18:33:34] [luckperms-command-executor/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1800)
[18:33:34] [luckperms-command-executor/WARN]: 	... 6 more

Here's the actual command for confirmation. I confirmed it was the last command I did before I experienced this issue.

[16:55:05] [Server thread/INFO]: 3XC4L1B3R issued server command: /lp group dei meta addprefix 99 ""
[16:55:05] [luckperms-command-executor/INFO]: [LP] LOG > (3XC4L1B3R) [G] (dei)
[16:55:05] [luckperms-command-executor/INFO]: [LP] LOG > meta addprefix 99 

After looking at the group file, it looks like the format was messed up somehow.

prefixes:
- '&3Deus':
    priority: 100
    context:
      gamemode: creative
- '&7&oDeus':
    priority: 101
    context:
      essentials:vanished: 'true'
- ? ''
  : priority: 99

Fixing this formatting and changing the prefix fixed the issue.

Note: I'm not familiar with github. If this is the wrong place for this, or my formatting is too irregular, let me know.

commented

Should be fixed by the above commit - you will need to delete the

- ? ''
  : priority: 99

lines from the config file in order to get LuckPerms to load initially, then should be ok to add the empty prefix again.