PerWorldInventory icon indicating copy to clipboard operation
PerWorldInventory copied to clipboard

Random error appearing during play

Open shenzisu opened this issue 8 years ago • 5 comments

07.12 20:27:56 [Server] WARN Task #440 for PerWorldInventory v1.9.0 generated an exception 07.12 20:27:56 [Server] INFO java.lang.NullPointerException 07.12 20:27:56 [Server] INFO at me.gnat008.perworldinventory.data.players.PWIPlayerManager.lambda$scheduleRepeatingTask$0(PWIPlayerManager.java:333) ~[?:?] 07.12 20:27:56 [Server] INFO at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:723) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]

Hi - I have no clue where this error comes from, or any triggers, but it also corresponds with some players complaining about losing items.

shenzisu avatar Dec 08 '16 01:12 shenzisu

Could you please show me your worlds.yml file?

EbonJaeger avatar Dec 13 '16 18:12 EbonJaeger

Managed to reproduce.

Steps to reproduce: Have a group with a dot in its name. Have a world in said group with a dot in its name. When it tries to save your cache for the world/group with dots, ~~it crashes~~ throws an exception.

My world.yml

# Follow this format:
# groups:
#   default:
#     worlds:
#     - world
#     - world_nether
#     - world_the_end
#     default-gamemode: SURVIVAL
#   creative:
#     worlds:
#     - creative
#     default-gamemode: CREATIVE
#
# 'default' and 'creative' are the names of the groups
# worlds: is a list of all worlds in the group
# If you have 'manage-gamemodes' set to true in the main config, the server
# will use the 'default-gamemode' here to know what gamemode to put users in.
groups:
  survival:
    worlds:
    - world
    - world_nether
    - world_the_end
    default-gamemode: SURVIVAL
    default-world: world
    enforce-last-world-in-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN
    enforce-last-pos-within-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN
    enforce-last-pos-to-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN
  creative.test:
    worlds:
    - world.creative
    default-gamemode: CREATIVE
    default-world: world_creative
    enforce-last-world-in-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN
    enforce-last-pos-within-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN
    enforce-last-pos-to-group:
    - COMMAND
    - PLUGIN
    - UNKNOWN

(I tried this on my own build, so I have the teleport-location-thingie configs in there. But I do believe those are irrelevant for the bug in question)

SimplyLinn avatar Jan 09 '17 23:01 SimplyLinn

Having a dot in any name will break YAML since that does special things.

EbonJaeger avatar Jan 10 '17 20:01 EbonJaeger

I gathered as much, I got weird results for groups and whatnot when I tried to reproduce this by adding dots to various places. (gathered that the only way to get a null-pointer at that line of code was to have the split-on-dot method to split at the wrong place, giving a group that doesn't exist]

SimplyLinn avatar Jan 10 '17 20:01 SimplyLinn

@shenzisu Still waiting for your worlds.yml file. :)

EbonJaeger avatar Jan 10 '17 23:01 EbonJaeger