Subsonic 4.5 - Commas in folder names throw Java error

Need help? Post your questions here.

Moderator: moderators

Subsonic 4.5 - Commas in folder names throw Java error

Postby MediocreFred » Mon Oct 24, 2011 1:19 pm

Hello,

I just upgraded Subsonic from 4.4 to 4.5 yesterday and have been struggling to fix this problem. Would appreciate any help.

Environment: Subsonic 4.5, Windows 7 x64, Java 1.6.0_29. Theme: Slick (tried default too).

I have numerous folders with commas in the folder name (usually in cases where it's the name of the artist in a "last name, first name" format. The left pane/frame chokes on folders with commas in them. I get the Java stack trace dump that is at the end of this post. Everything worked fine in Subsonic 4.4. Also, commas in subfolder names don't cause any issues - these are displayed and drilled down in the main pane/frame.

I also tried purging the mediafolder cache, all temp files, the lucene folders, the index and everything else I could find. Also tried rebooting.

Is this a bug that can/will be fixed? I would hate to have to rename all my top-level folders that have commas in them. Especially when the right/main pane/frame can handle commas in folders just fine.

This error shows up when any folder name with a comma is clicked on in the LEFT pane.
Code: Select all
Subsonic encountered an internal error. You can report this error in the Subsonic Forum. Please include the information below.

Exception   java.lang.NullPointerException
Message   null
Java version   Sun Microsystems Inc. 1.6.0_29
Operating system   Windows 7 6.1
Server   jetty-6.1.x
Memory   Used 220 of 406 MB
Stack trace   java.lang.NullPointerException
   at net.sourceforge.subsonic.service.metadata.MetaDataParser.guessArtist(MetaDataParser.java:107)
   at net.sourceforge.subsonic.service.metadata.MetaDataParser.getMetaData(MetaDataParser.java:49)
   at net.sourceforge.subsonic.domain.MusicFile.getMetaData(MusicFile.java:242)
   at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:682)
   at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:667)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.mergeSort(Unknown Source)
   at java.util.Arrays.sort(Unknown Source)
   at java.util.Collections.sort(Unknown Source)
   at net.sourceforge.subsonic.domain.MusicFile.getChildren(MusicFile.java:304)
   at net.sourceforge.subsonic.controller.MainController.setPreviousAndNextAlbums(MainController.java:192)
   at net.sourceforge.subsonic.controller.MainController.handleRequestInternal(MainController.java:139)
   at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
   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:707)
   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)


Thanks,
MediocreFred.
MediocreFred
 
Posts: 35
Joined: Tue Oct 05, 2010 4:19 pm

Re: Subsonic 4.5 - Commas in folder names throw Java error

Postby BKKKPewsey » Mon Oct 24, 2011 4:45 pm

Thats weird one.
As a test I just renamed one of my artist folders with a comma in the name and there appears to be np.
I am running on Windows server 2003 (WHS R1) with also java v29.
Here is a screen shot (bit odd cause I had it in wrong setting :roll: ) but you get the idea.

Image

Can you confirm that is what your problem is.
If so we may need someone with your os to check their install
:mrgreen:
Everyone is entitled to be stupid, Image but some abuse the privilege!

Due to the confusion from too many genres of music, we have decided to put both country music and rap music into the genre of Crap music.
User avatar
BKKKPewsey
 
Posts: 2080
Joined: Mon May 23, 2011 12:16 pm
Location: United Kingdom

Re: Subsonic 4.5 - Commas in folder names throw Java error

Postby MediocreFred » Mon Oct 24, 2011 7:19 pm

As long as Subsonic has cached the MusicFolder list and has built the index, it appears to work fine. Can you please try deleting Subsonic's cache (temp folder) as well as the index. Stop the service before doing this. Then start the service back up. Make sure the folder has the comma in the left pane. Click on it and see if it works.

To narrow it down, I added a new location that just had one top level folder (with a comma). Clicking on it guarantees the error. Also, at the top of the left pane, there is a dropdown list of locations (folders). Selecting this new location generates the same Java error in the left pane. SO, I don't even see the tree in the left pane. If I remove the comma from the folder name, everything works fine (sometimes it fixes itself right away and other times I end up having to delete the cache file in the temp folder).

Thanks,
MediocreFred.
MediocreFred
 
Posts: 35
Joined: Tue Oct 05, 2010 4:19 pm


Return to Help

Who is online

Users browsing this forum: No registered users and 6 guests