Broken images in Status tab and User Statistics
Posted: 04 Oct 2013, 15:42
Hi!
I tried looking through the bug reports for something similar but couldn't find anything. This issue has been with me since I started using Madsonic at build 3660, and is still there in the most recent build (3740) that I just installed. Everything else works perfectly and I'm very happy with my switch from Subsonic (been using it for many years now).
The attached image shows the symptom. When right-clicking a broken image and opening it in a new tab you see the following java error message (entire message):
I tried my hand at googling for a solution to the sun.awt.X11FontManager not found error but haven't found a solution that worked. I tried making sure that I have the latest Oracle Java installed (1.7.0_40), both the JDK and the JRE. They are both available in $PATH. Most findings point to Deja Vu font not being installed, but I installed it by hand (not available in old Debian repo) and checked that it is listed in fc-list.
Has anyone else encountered this and found a solution?
For completeness: I am running Madsonic 3740 on a Netgear ReadyNAS Ultra 2 (x86) with Debian Linux (4.0) with 1 GB of RAM. Oracle Java version 1.7.0_40, with both the JRE and JDK bin-folders available in $PATH.
I tried looking through the bug reports for something similar but couldn't find anything. This issue has been with me since I started using Madsonic at build 3660, and is still there in the most recent build (3740) that I just installed. Everything else works perfectly and I'm very happy with my switch from Subsonic (been using it for many years now).
The attached image shows the symptom. When right-clicking a broken image and opening it in a new tab you see the following java error message (entire message):
Code: Select all
Error
Madsonic encountered an internal error. You can report this error in the Madsonic Forum. Please include the information below.
Exception java.lang.NoClassDefFoundError
Message Could not initialize class sun.awt.X11FontManager
Java version Oracle Corporation 1.7.0_40
Operating system Linux 2.6.37.6.RNx86_64.2.4
Server jetty/8.y.z-SNAPSHOT
Memory Used 90 of 247 MB
Stack trace java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:490)
at java.awt.Font.defaultLineMetrics(Font.java:2175)
at java.awt.Font.getLineMetrics(Font.java:2245)
at org.jfree.chart.axis.ValueAxis.findMaximumTickLabelHeight(ValueAxis.java:869)
at org.jfree.chart.axis.ValueAxis.reserveSpace(ValueAxis.java:809)
at org.jfree.chart.plot.CategoryPlot.calculateRangeAxisSpace(CategoryPlot.java:3446)
at org.jfree.chart.plot.CategoryPlot.calculateAxisSpace(CategoryPlot.java:3465)
at org.jfree.chart.plot.CategoryPlot.draw(CategoryPlot.java:3510)
at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1235)
at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1409)
at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1389)
at org.jfree.chart.ChartUtilities.writeChartAsPNG(ChartUtilities.java:183)
at org.jfree.chart.ChartUtilities.writeChartAsPNG(ChartUtilities.java:136)
at net.sourceforge.subsonic.controller.UserChartController.handleRequest(UserChartController.java:66)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at net.sourceforge.subsonic.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:47)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:724)
Has anyone else encountered this and found a solution?
For completeness: I am running Madsonic 3740 on a Netgear ReadyNAS Ultra 2 (x86) with Debian Linux (4.0) with 1 GB of RAM. Oracle Java version 1.7.0_40, with both the JRE and JDK bin-folders available in $PATH.