zmanowar / random-event-analytics

BSD 2-Clause "Simplified" License
4 stars 2 forks source link

Panel (or overlay) not showing; settings not visible in plugin search #22

Open Joeytje50 opened 11 months ago

Joeytje50 commented 11 months ago

random event analyzer not working

I have no idea what is going wrong, but installing the plugin seems to have literally no effect on my RuneLite at all. No overlay shows up, the panel is not shown in the side bar, and there is no settings menu for the plugin when I search in my list of installed plugins (wrench icon at the top of the image). I'm not sure if it is interfering with some other plugin of mine, but from as far as I can tell, this plugin is currently not working at all.

zmanowar commented 10 months ago

Sorry you're running into this issue.

I tried to replicate this for a bit but was unsuccessful. I do suspect you're correct that there may be other plugins interfering with it.

I'd also expect to see a cog next to the "Remove" button once it's installed. :thinking:

May be worth taking a peek / uploading part of your client logs before and after the plugin gets installed -- or if you have a list of plugins installed I can try installing them and checking.

Lowboh commented 9 months ago

Attached is client.log. I'm having same issue. client.log

whyisthat20 commented 9 months ago

I had the same issue as the other posters and tried multiple fixes from turning off various plugins, and even created a blank profile and turned off every plugin but the same problem was happening as above. Just now, I was pulling up my client log file to put it here to provide more data to help out, but the log file was fairly large (~10MB) because it was littered with many many lines posted by a plugin called MapleXpBar. So I uninstalled that plugin and deleted all my client logs to get a fresh (and smaller) log. I close runelite, load it back up, and now for the fist time the Random Events Analytics plugin is shown on the side bar and works. I have no idea what I did, but something above fixed it.

I didn't see MapleXpBar in Lowboh's log, so maybe try deleting all your logs in the logs folder and restart Runelite to see if that helps (somehow). It did for me for some reason.

zmanowar commented 9 months ago

Great find, @whyisthat20!

Did you happen to change the files in <basepath>/.runelite/random-event-analytics/<profile-id>?

If so, it could be that somehow one of the time tracking or random event logs stored in that directory was causing issues.


@Lowboh Thanks for posting your log, I see a few general errors but there is a REA error!

Caused by: java.lang.NullPointerException: null
    at com.randomEventAnalytics.RandomEventAnalyticsPlugin.getLastRandomSpawnInstant(RandomEventAnalyticsPlugin.java:212)

(if you're curious)

I suspect somehow your REA profile data, in the directory above, is malformed. You can try renaming <basepath>/.runelite/random-event-analytics to <basepath>/.runelite/random-event-analytics-bak and that'll wipe out your profile config (and log of randoms) and may get you running again.

Do you happen to use multiple RS accounts under the same RL profile? I'm curious if you login to other accounts if they will correctly show the sidebar.

If you're only using a single account -- would you mind uploading your <...>/random-event-analytics/<profile> here? <profile> may look like your RS login username or a random string of digits (feel free to rename it to something else before you upload if it's your RSN).

For now I may wrap that erroring line and have a more graceful fail that should continue unless we can figure out why it's failing to load the config. 🤔

zmanowar commented 9 months ago

Once https://github.com/runelite/plugin-hub/pull/5621 (plugin-hub PR) is merged in, it may be fixed. Still not 100% sure how your plugin config got in this state.

After that gets merged, if you see any more errors please let me know! This will reset your time tracking (assuming you had any) but should not touch the log of random events.

Lowboh commented 9 months ago

It's working now! Thank you.

Before I uploaded my log file my random-event-analytics folder was empty. After the fix I can see my profile folder now.

Septem151 commented 8 months ago

Getting this in my logs after removing the plugin and deleting the .runelite/random-events-analytics folder:

Caused by: java.lang.RuntimeException: net.runelite.client.plugins.PluginInstantiationException: java.lang.NullPointerException: Cannot read field "spawnedTime" because "record" is null
        at net.runelite.client.externalplugins.ExternalPluginManager.lambda$refreshPlugins$3(ExternalPluginManager.java:347)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Restarting the RuneLite client fixes the issue. Reproduction steps:

  1. Clean profile, no other plugins when installing the Random Event Analytics plugin
  2. Observe no sidebar, no config options, observe error in logs
  3. Restart RuneLite client, sidebar and config options are present
  4. Observe a new error upon logging in (does not impact functionality, but is an unhandled exception):
2024-03-24 21:12:22 CDT [Client] WARN  n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: Cannot read field "spawnedTime" because "record" is null
        at com.randomEventAnalytics.RandomEventAnalyticsPlugin.getLastRandomSpawnInstant(RandomEventAnalyticsPlugin.java:212)
        at com.randomEventAnalytics.RandomEventAnalyticsPlugin.loadConfig(RandomEventAnalyticsPlugin.java:129)
        at com.randomEventAnalytics.RandomEventAnalyticsPlugin.onGameStateChanged(RandomEventAnalyticsPlugin.java:181)
        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:205)
        at client.dt(client.java:61665)
        at ca.gs(ca.java:1380)
        at client.er(client.java:44121)
        at client.ur(client.java:53661)
        at ci.jo(ci.java:43530)
        at client.bb(client.java:1189)
        at bm.ap(bm.java:400)
        at bm.jf(bm.java)
        at bm.run(bm.java:23195)
        at java.base/java.lang.Thread.run(Thread.java:840)
Operativekiwi commented 8 months ago

I am also experiencing this issue

zmanowar commented 8 months ago

Whoops, didn't mean to close this!

Thank you both for the updated report!

@Septem151 I'm not able to replicate it using your steps in native RL, here's the steps I was following:

  1. Launch runelite
  2. Create a new profile
  3. Switch to the new profile
  4. Remove the REA folder.
  5. Install the REA plugin.

I've also tried switching between different profiles after removing the folder. 🤔 I'll play around with a few other states and see if I can replicate it, though #24 should fix the error we may see a different one depending on what other mess state the plugin's config is stuck in.

https://github.com/runelite/plugin-hub/pull/5794 (Plugin-hub PR) after this gets merged in we may have some success.

zmanowar commented 8 months ago

I've been playing around with forcing the record to be null:

public synchronized RandomEventRecord getMostRecentRandom()
{
  return null;
}

But the config and panel still load correctly though I do see the null pointer error you posted.

It might be helpful, especially if the plugin-hub PR gets merged and it still isn't fixed, if we could dump your REA config.

Please redact your username/email if it exists within the config.

The profile name may look like $rsprofile--1, default, or the actual name of your profile.

Bash:

grep randomeventanalytics ~/.runelite/profiles2/<profile-name>.properties

CMD/Powershell:

findstr randomeventanalytics "%userprofile%\.runelite\profiles2\<profile-name>.properties"

Or feel free to upload your full profile properties (though you still may want to redact your username) if you prefer.