ProxioDev / ValioBungee

Synchronize players data between BungeeCord / Velocity proxies
Eclipse Public License 1.0
203 stars 52 forks source link

Null pointer when somehow key is null #117

Open MassiveLag opened 1 week ago

MassiveLag commented 1 week ago

intended behavior

No errors

what the behavior you actually saw

An error throws in velocity: java.lang.RuntimeException: java.lang.NullPointerException: null key in entry: null=eca44a5f-5268-32a4-90ee-896f5d96a481 at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager.serversToPlayersBuilder(PlayerDataManager.java:270) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$3(LocalLoadingCache.java:183) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) ~[?:?] at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) ~[?:?] at com.imaginarycode.minecraft.redisbungee.internal.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:58) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager.serversToPlayers(PlayerDataManager.java:238) ~[?:?] at com.imaginarycode.minecraft.redisbungee.AbstractRedisBungeeAPI.getServerToPlayers(AbstractRedisBungeeAPI.java:116) ~[?:?] at com.imaginarycode.minecraft.redisbungee.AbstractRedisBungeeAPI.getPlayersOnServer(AbstractRedisBungeeAPI.java:126) ~[?:?] at nl.chimpgamer.networkmanager.velocity.models.servers.NMServer.getPlayerCount(NMServer.kt:47) ~[?:?] at nl.chimpgamer.networkmanager.common.modules.NMCachedServersBase.cacheServersToRedis(NMCachedServersBase.kt:411) ~[?:?] at nl.chimpgamer.networkmanager.common_proxy.tasks.ServerTask.run(ServerTask.kt:57) ~[?:?] at com.velocitypowered.proxy.scheduler.VelocityScheduler$VelocityTask.lambda$run$0(VelocityScheduler.java:285) ~[velocity.jar:3.3.0-SNAPSHOT (git-46f29480-b427)] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) [?:?] Caused by: java.lang.NullPointerException: null key in entry: null=eca44a5f-5268-32a4-90ee-896f5d96a481 at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:31) ~[velocity.jar:3.3.0-SNAPSHOT (git-46f29480-b427)] at com.google.common.collect.ImmutableMultimap$Builder.put(ImmutableMultimap.java:171) ~[velocity.jar:3.3.0-SNAPSHOT (git-46f29480-b427)] at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager$1.lambda$doPooledPipeline$0(PlayerDataManager.java:254) ~[?:?] at java.base/java.util.HashMap.forEach(HashMap.java:1429) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager$1.doPooledPipeline(PlayerDataManager.java:254) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager$1.doPooledPipeline(PlayerDataManager.java:243) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisPipelineTask.unifiedJedisTask(RedisPipelineTask.java:33) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisTask.execute(RedisTask.java:59) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.tasks.RedisTask.call(RedisTask.java:35) ~[?:?] at com.imaginarycode.minecraft.redisbungee.api.PlayerDataManager.serversToPlayersBuilder(PlayerDataManager.java:268) ~[?:?] ... 17 more

Steps to reproduce

Idk, it just happens sometimes.

Velocity or Bungeecord Versions

latest

RedisBungee Version & Redis Version

latest

Other

No response

MassiveLag commented 1 week ago

https://github.com/MassiveLag/ValioBungee/releases/tag/release fixed it for the people that need it.

ham1255 commented 3 days ago

i am backporting this to 0.12.x because 0.13.0 is unstable right now.