StickySerum / gauntlet-map

A plugin for RuneLite that adds a real time map for the current instance of The Gauntlet
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

Missing null checks in several spots #12

Open avahe-kellenberger opened 1 week ago

avahe-kellenberger commented 1 week ago

Looking at the logs, there are many java.lang.NullPointerException errors happening. Looking through the code, there are just many missing null checks. Curious if these are reasons why the plugin crashes and stops working so often.

I've also had my client freeze often recently during the Hunllef fight (maybe unrelated to the plugin, I mean completely frozen) but this is the only plugin I see producing errors.

Some of the many logs:

2024-06-29 23:18:14 EDT [Client] WARN  n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: null
        at java.base/java.util.Objects.requireNonNull(Unknown Source)
        at java.base/java.util.TreeMap.getEntry(Unknown Source)
        at java.base/java.util.TreeMap.get(Unknown Source)
        at com.gauntletmap.GauntletMapSession.gameObjectSpawned(GauntletMapSession.java:434)
        at com.gauntletmap.GauntletMapPlugin.onGameObjectSpawned(GauntletMapPlugin.java:189)
        at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
        at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
        at net.runelite.client.callback.Hooks.post(Hooks.java:202)
        at kq.bl(kq.java:54483)
        at kq.ge(kq.java:324)
        at ca.as(ca.java:1123)
        at qa.lf(qa.java:36534)
        at hb.lk(hb.java:9146)
        at client.is(client.java:3525)
        at client.bw(client.java:1215)
        at bs.ar(bs.java:388)
        at bs.ke(bs.java)
        at bs.run(bs.java:4092)
        at java.base/java.lang.Thread.run(Unknown Source)
2024-06-29 23:18:14 EDT [Client] WARN  n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: null
        at java.base/java.util.Objects.requireNonNull(Unknown Source)
        at java.base/java.util.TreeMap.getEntry(Unknown Source)
        at java.base/java.util.TreeMap.get(Unknown Source)
        at com.gauntletmap.GauntletMapSession.gameObjectDespawned(GauntletMapSession.java:486)
        at com.gauntletmap.GauntletMapPlugin.onGameObjectDespawned(GauntletMapPlugin.java:200)
        at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
        at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
        at net.runelite.client.callback.Hooks.post(Hooks.java:202)
        at kq.an(kq.java:44482)
        at kq.ea(kq.java:3271)
        at kq.removeGameObject(kq.java)
        at kq.at(kq.java:50697)
        at qa.lf(qa.java:46594)
        at hb.lk(hb.java:9146)
        at client.is(client.java:3525)
        at client.bw(client.java:1215)
        at bs.ar(bs.java:388)
        at bs.ke(bs.java)
        at bs.run(bs.java:4092)
        at java.base/java.lang.Thread.run(Unknown Source)
2024-06-29 23:18:14 EDT [Client] WARN  n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: null
        at java.base/java.util.Objects.requireNonNull(Unknown Source)
        at java.base/java.util.TreeMap.getEntry(Unknown Source)
        at java.base/java.util.TreeMap.get(Unknown Source)
        at com.gauntletmap.GauntletMapSession.gameObjectSpawned(GauntletMapSession.java:434)
        at com.gauntletmap.GauntletMapPlugin.onGameObjectSpawned(GauntletMapPlugin.java:189)
        at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
        at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
        at net.runelite.client.callback.Hooks.post(Hooks.java:202)
        at kq.bl(kq.java:54483)
        at kq.ge(kq.java:324)
        at ca.as(ca.java:1123)
        at qa.lf(qa.java:36534)
        at hb.lk(hb.java:9146)
        at client.is(client.java:3525)
        at client.bw(client.java:1215)
        at bs.ar(bs.java:388)
        at bs.ke(bs.java)
StickySerum commented 1 week ago

Interesting, I'll check it out and add some fixes for it. Thanks for the heads up!