Could not initialize class org.jfree.chart.JFreeChart

Hi I have a fresh install of openfire on a linux x64 box, on which the monitoring/statistics graphs are not being loaded. Looking at the logs, I keep seeing the following error:

2011.01.18 18:32:32 Started server (unencrypted) socket on port: 5269

2011.01.18 18:32:32 Started plain (unencrypted) socket on port: 5222

2011.01.18 18:19:54 Error for /plugins/monitoring/graph

java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart

at org.jfree.chart.ChartFactory.createXYBarChart(ChartFactory.java:1362)

at org.jivesoftware.openfire.reporting.graph.GraphEngine.generateSparklineBarGraph (GraphEngine.java:550)

at org.jivesoftware.openfire.reporting.graph.GraphEngine.generateSparklinesGraph(G raphEngine.java:158)

at org.jivesoftware.openfire.reporting.graph.GraphServlet.service(GraphServlet.jav a:100)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.jivesoftware.openfire.container.PluginServlet.handleServlet(PluginServlet.j ava:251)

at org.jivesoftware.openfire.container.PluginServlet.service(PluginServlet.java:91 )

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1093)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:829)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

2011.01.18 18:32:32 Started server (unencrypted) socket on port: 5269

2011.01.18 18:32:32 Started plain (unencrypted) socket on port: 5222

2011.01.18 18:19:54 Error for /plugins/monitoring/graph

java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart

at org.jfree.chart.ChartFactory.createXYBarChart(ChartFactory.java:1362)

at org.jivesoftware.openfire.reporting.graph.GraphEngine.generateSparklineBarGraph (GraphEngine.java:550)

at org.jivesoftware.openfire.reporting.graph.GraphEngine.generateSparklinesGraph(G raphEngine.java:158)

at org.jivesoftware.openfire.reporting.graph.GraphServlet.service(GraphServlet.jav a:100)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.jivesoftware.openfire.container.PluginServlet.handleServlet(PluginServlet.j ava:251)

at org.jivesoftware.openfire.container.PluginServlet.service(PluginServlet.java:91 )

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1093)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:829)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

I’ve searched around and nothing seems to address this issue, and the most frequent response (try to uninstall & re-install the plugin) has yet to produce any different output. Any help would be appreciated.

hmmm…changing the default JDK from icedtea6-bin to sun-jdk seems to have resolved the problem…however, someone may want to figure out why it doesn’t work on icedtea