Error when I add a music library

Need help? Post your questions here.

Moderator: moderators

Error when I add a music library

Postby humanizer » Sun Sep 10, 2006 8:24 pm

Hi!

I installed newest tomcat and newest JRE. Subsonic deploys fine. I added a directory with only one mp3 album. Worked great. Then I added one more . Everyting looks fine til i add the large music path. Then he gives me this in left and top border :

Exception java.lang.NullPointerException
Message null
Java version Sun Microsystems Inc. 1.5.0_06
Operating system Linux 2.4.22
Tomcat home /usr/local/apache-tomcat-5.5.17
Stack trace java.lang.NullPointerException at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:568) at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:553) 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.mergeSort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at net.sourceforge.subsonic.domain.MusicFile.getChildren(MusicFile.java:252) at net.sourceforge.subsonic.domain.MusicIndex.getIndexedChildren(MusicIndex.java:159) at net.sourceforge.subsonic.controller.LeftController.handleRequestInternal(LeftController.java:46) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:796) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:727) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) 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:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:216) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:195) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)

What can i do to make it work?
humanizer
 
Posts: 3
Joined: Sun Sep 10, 2006 8:22 pm

Postby sindre_mehus » Mon Sep 11, 2006 7:51 am

Hi,

Sounds like there is something in one of your music folders which Subsonic doesn't handle.

Could you try to narrow it down to the one music folder which causes problems, and then do a "ls -l" in that folder? Please post the result here (or send it to me by email if you don't want to disclose it to the world).

Regards,
Sindre
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby dieter » Tue Sep 12, 2006 11:02 am

I had the same problem on my linux system.
The error was caused by special national characters included in some file names.
Renaming these files containing only plain ASCII chars solved the problem.
dieter
 
Posts: 5
Joined: Fri Dec 09, 2005 3:33 pm
Location: Switzerland

Postby humanizer » Tue Sep 12, 2006 11:24 am

Ahh ok. I really dont want to rename all my mp3s with national characters. Will this be fixed in future releases?
humanizer
 
Posts: 3
Joined: Sun Sep 10, 2006 8:22 pm

Postby sindre_mehus » Tue Sep 12, 2006 1:07 pm

I'll be more than happy to fix it, but I need more info. I have files with international characters myself, but I've never seen this error.

humanizer, can you please verify that it is indeed a problem with characters, and narrow it down to a minimal, reproducible case?

Thanks a lot :-)

Sindre
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby dieter » Wed Sep 13, 2006 7:34 am

here is an example:

miraculix:/data/mp3/test # cp test_1.mp3 test_ä.mp3
miraculix:/data/mp3/test # cp test_1.mp3 test_ü.mp3

miraculix:/data/mp3/test # l
-rwxr-xr-x 1 root root 11849141 Sep 13 09:19 test_1.mp3*
-rwxr-xr-x 1 root root 11849141 Sep 13 09:20 test_?.mp3*
-rwxr-xr-x 1 root root 11849141 Sep 13 09:20 test_?.mp3*

the char 'ä' (0xE4) and 'ü' (0xFC) is sown as a '?' in the file listing. please note that only the display is showing the '?' but the filename contains the corresponding hex value.

the following exception in subsonic happens after changing into the test folder:

Error
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.5.0_05
Operating system Linux 2.6.13-15.11-default
Tomcat home /data0/pkg/apache-tomcat-5.5.12
Stack trace java.lang.NullPointerException at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:569) at net.sourceforge.subsonic.domain.MusicFile$MusicFileSorter.compare(MusicFile.java:553) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.sort(Arrays.java:1223) at net.sourceforge.subsonic.domain.MusicFile.getChildren(MusicFile.java:252) at net.sourceforge.subsonic.controller.MainController.handleRequestInternal(MainController.java:31) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:796) at

...
please ask if you need more info.

regards,
dieter
dieter
 
Posts: 5
Joined: Fri Dec 09, 2005 3:33 pm
Location: Switzerland

Postby sindre_mehus » Thu Sep 14, 2006 6:06 am

Lovely! I'll try to reproduce.
Thanks, Sindre
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway


Return to Help

Who is online

Users browsing this forum: No registered users and 6 guests