igniterealtime / openfire-loadStats-plugin

The statistic plugin prints usage information of the database connection pool, thread pool used for processing incoming traffic and the NIO networking layer
1 stars 4 forks source link

Errors when loading plugin before ConnectionListener is started #8

Open guusdk opened 2 years ago

guusdk commented 2 years ago

The following stack traces were logged on a clustered instance of Openfire 4.7.1 (I'm not sure if the fact that this is a cluster makes any difference). Note that the stack trace logged on each cluster node is slightly different.

2022.06.13 00:01:27 INFO  [pool-6-thread-2]: org.jivesoftware.openfire.container.PluginManager - Successfully loaded plugin 'httpfileupload'.
2022.06.13 00:01:27 ERROR [pool-6-thread-3]: org.jivesoftware.openfire.container.PluginManager - An exception occurred while loading plugin 'loadstats':
java.lang.NullPointerException: Cannot invoke "org.apache.mina.core.service.IoService.getManagedSessions()" because "this.service" is null
    at org.apache.mina.management.MINAStatCollector.start(MINAStatCollector.java:137) ~[xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.plugin.StatCollector.start(StatCollector.java:165) ~[loadStats-1.2.1.jar:?]
    at org.jivesoftware.openfire.plugin.StatisticPlugin.initializePlugin(StatisticPlugin.java:38) ~[loadStats-1.2.1.jar:?]
    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:637) [xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:375) [xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:363) [xmppserver-4.7.1.jar:4.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
    at java.lang.Thread.run(Thread.java:833) [?:?]
2022.06.13 01:01:24 ERROR [pool-6-thread-3]: org.jivesoftware.openfire.container.PluginManager - An exception occurred while loading plugin 'loadstats':
java.lang.NullPointerException: null
    at org.apache.mina.management.MINAStatCollector.start(MINAStatCollector.java:137) ~[xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.plugin.StatCollector.start(StatCollector.java:165) ~[loadStats-1.2.1.jar:?]
    at org.jivesoftware.openfire.plugin.StatisticPlugin.initializePlugin(StatisticPlugin.java:38) ~[loadStats-1.2.1.jar:?]
    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:637) [xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:375) [xmppserver-4.7.1.jar:4.7.1]
    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:363) [xmppserver-4.7.1.jar:4.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]
guusdk commented 2 years ago

This problem occurs when the plugin is started before the ConnectionListener that it is using to record data was started.