Page 1 of 1

failed to create thumbnail: invalid image format

PostPosted: Sun Apr 08, 2012 5:26 am
by Fangs404
I encountered a strange problem with album art. I have a Folder.jpg that Subsonic is refusing to create a thumbnail for. I've attached the original image (Folder_2835x2835.jpg). It's a pretty large image, so I thought the problem might be the dimensions. I shrunk it down using mspaint, and it still isn't working (I attached this smaller image, too). Here's the relevant log file entry:

Code: Select all
[2012-04-08 00:19:10,268] WARN CoverArtController - Failed to create thumbnail for D:\Music\Electronic\Informant\2012 - Glowing Up\Folder.jpg
java.awt.color.CMMException: Invalid image format
   at sun.awt.color.CMM.checkStatus(Unknown Source)
   at sun.awt.color.ICC_Transform.<init>(Unknown Source)
   at java.awt.image.ColorConvertOp.filter(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at net.sourceforge.subsonic.controller.CoverArtController.getCachedImage(CoverArtController.java:141)
   at net.sourceforge.subsonic.controller.CoverArtController.handleRequest(CoverArtController.java:93)
   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:715)
   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.java:1093)
   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:166)
   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:173)
   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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java: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:712)
   at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
   at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
   at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
   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:381)
   at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
   at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)


What's the deal here? The images both open just fine with IrfanView, so I'm not sure why it's saying it's an invalid image format.

Re: failed to create thumbnail: invalid image format

PostPosted: Sun Apr 08, 2012 11:01 am
by BKKKPewsey
I am not sure if there is a maximum size that the thumbnail creator can handle but when I resized the image to 2500 x 2500 it opens ok.
I have found the same problem with some of my cover art - I just then just get new cover art from Google via SS.
As my artwork is stored as folder.xxx and SS insists in saving as cover.xxx :( it means the original stays and me and SS are both happy :)

Re: failed to create thumbnail: invalid image format

PostPosted: Sun Apr 08, 2012 5:12 pm
by Fangs404
BKKKPewsey wrote:I am not sure if there is a maximum size that the thumbnail creator can handle but when I resized the image to 2500 x 2500 it opens ok.
I have found the same problem with some of my cover art - I just then just get new cover art from Google via SS.
As my artwork is stored as folder.xxx and SS insists in saving as cover.xxx :( it means the original stays and me and SS are both happy :)


How did you resize it? Did you use mspaint or something else? I'm wondering if whatever program you used stripped some metadata or maybe changed some other property that allowed Subsonic to read it.

Re: failed to create thumbnail: invalid image format

PostPosted: Sun Apr 08, 2012 9:46 pm
by BKKKPewsey
I use a program called vso image resizer http://www.winportal.com/vso-image-resizer
Quick and easy :)

Re: failed to create thumbnail: invalid image format

PostPosted: Mon Apr 09, 2012 5:04 am
by Fangs404
Just noticed the same thing with another album cover.