powered by Jive Software

Log spam: "ERROR org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic ..."

Hi,

My /opt/openfire/logs/openfire.log is constantly being spammed with the following messages, a batch of these is logged exactly once every 60 seconds:

2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic server_bytes_out
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic muc_occupants
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic server_bytes_in
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic proxyTransferRate
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic conversations
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic packet_count
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic muc_rooms
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic server_sessions
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022.07.15 12:40:57 ERROR [pool-monitoring6]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic muc_users
java.io.IOException: The underlying backend has no canonical path
	at org.jrobin.core.RrdDb.getCanonicalPath(RrdDb.java:1029) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.Header.validateHeader(Header.java:210) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:231) ~[jrobin-1.6.0.jar!/:?]
	at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar!/:?]
	at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:359) [monitoring-2.3.0.jar!/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]

Do I need to configure something? If yes, what and where? If no, is this kind of log spam normal and to be expected? I’m running Openfire 4.7.2 with the Monitoring Service 2.3.0 plugin (which is where I understand the log spam is coming from), among a few others, on a 32bit Slackware 15.0 system with JRE 1.8.0_321-b07.

If you need any more information, please let me know. Thanks! :slight_smile: