lishid / OpenInv

Open anyone's inventory as a chest, real-time!
GNU General Public License v3.0
119 stars 94 forks source link

Stacktrace on join #69

Closed Kakifrucht closed 7 years ago

Kakifrucht commented 7 years ago

Following stacktrace happened randomly on join once, didn't seem to cause any further issues though.

[2017-07-03 18:15:42 ERROR] Could not pass event PlayerJoinEvent to OpenInv v3.2.1
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:342) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:162) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:842) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-23b6354-0481ae9]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.util.ConcurrentModificationException
    at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211) ~[?:1.8.0_131]
    at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247) ~[?:1.8.0_131]
    at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242) ~[?:1.8.0_131]
    at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1177) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
    at com.lishid.openinv.util.Cache.lazyCheck(Cache.java:147) ~[?:?]
    at com.lishid.openinv.util.Cache.containsKey(Cache.java:92) ~[?:?]
    at com.lishid.openinv.OpenInv.setPlayerOnline(OpenInv.java:589) ~[?:?]
    at com.lishid.openinv.listeners.PlayerListener.onPlayerJoin(PlayerListener.java:43) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor419.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-23b6354-0481ae9]
    ... 14 more
Jikoo commented 7 years ago

Odd, the lazy check should always be synchronized. Either way, easy fix. Will definitely have the 5 minutes this will take tonight.