Page 1 of 1

Subsonic 3.1.beta1 released

PostPosted: Sat Jun 30, 2007 9:11 pm
by sindre_mehus
Hi folks,

Sorry for the long wait, but Subsonic 3.1.beta1 is now available for download.

There are no big news this time, but the release contains a nice collection of new minor features.

As always, please let me know if you find bugs or have suggestions for improvements.

Cheers,
Sindre

Thanks

PostPosted: Tue Jul 03, 2007 8:22 pm
by kapz
sindre_mehus,

Thank you so much for your continued improvements to subsonic. I just acquired a friend’s music collection and finally had a reason to use transcoding. I see you addressed the issue of the transcoding checkbox defaulting to uncheck for each new player in version 3.1b1. I will try it as soon as I get a chance. No news will be good news.

Subsonic Stats:

4,374 artists
2,196 albums
29,317 songs
156.00 GB (~ 2,423 hours)

PostPosted: Tue Jul 03, 2007 8:34 pm
by RXWatcher
I found a couple of minor issues that I cant reproduce. There was an error during the reindexing..something was invalid in the index. It happened twice but I havent seen it after that even when manually reindexing.

The second was a java error when moving from the More page(where you can upload and do podcasts, etc) to the Home page...it happened a couple of times but not after that.

BTW: my wife loves the multi-select in the playlist. She dumped every song from every artist she likes into one huge playlist of like 5000 songs. She's now weeding them out. The problem before as that required deleting indv songs..now she can select more than one and delete them from the playlist.

Current stats on my system:

1,306 artists
2,198 albums
25,465 songs
148.35 GB (~ 2,304 hours)

PostPosted: Wed Jul 04, 2007 5:43 am
by sindre_mehus
Hi there,

There was an error during the reindexing..something was invalid in the index. It happened twice but I havent seen it after that even when manually reindexing.


Sometimes Subsonic is unable to parse ID3 tags (for instance if the MP3 file is not strictly according to spec). This shows up as a warning (with a long stack trace) in the log. Maybe this is what you saw? It won't happen on a reindexing, since the indexer tries to be smart and avoids parsing files which haven't changed since last time.

Glad to hear that the WAF (Wife Acceptance Factor) has increased :-)

Thanks,
Sindre

PostPosted: Thu Jul 05, 2007 1:27 pm
by RXWatcher
Ok, so I stopped tomcat 6.0, deleted the index file and restarted tomcat. Subsonic came back up and immediately started indexing. The error showed up again. I don't know where the ixYxi part is coming from. The mp3 is named: 09 - 2Pac - Unconditional Love.mp3 and it's not like the ones where I probably do have a bad MP3..which I'll list after the unknown
error.



[2007-07-05 08:18:05,047] INFO VersionService - Resolved local Subsonic version to: 3.1.beta1
[2007-07-05 08:18:06,703] ERROR SearchService - An error occurred while reading index entry 'F ixYxi 1178381434750 ixYxi e:\MP3s\2pac\2Pac - Greatest Hits (Disc 1)\09 - 2Pac - Unconditional Love.mp3 ixYxi 6182928 ixYxi 2PAC'.
java.lang.ArrayIndexOutOfBoundsException: 5
at net.sourceforge.subsonic.service.SearchService$Line.parse(SearchService.java:675)
at net.sourceforge.subsonic.service.SearchService.getIndex(SearchService.java:555)
at net.sourceforge.subsonic.service.SearchService.getRandomAlbums(SearchService.java:449)
at net.sourceforge.subsonic.controller.HomeController.getRandom(HomeController.java:127)
at net.sourceforge.subsonic.controller.HomeController.handleRequestInternal(HomeController.java:61)
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:820)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
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:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
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:178)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
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:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:25)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:394)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Unknown Source)





[2007-07-05 08:26:16,781] WARN Mp3Parser - Failed to parse MP3 header for e:\MP3s\Kid Rock\WWE\WWF The Music, Vol. 4\08 Danger At The Door.mp3
org.jaudiotagger.audio.InvalidAudioFrameException: No audio header found within08 Danger At The Door.mp3
at org.jaudiotagger.audio.mp3.MP3AudioHeader.<init>(MP3AudioHeader.java:84)
at net.sourceforge.subsonic.domain.Mp3Parser.parseMp3Header(Mp3Parser.java:183)
at net.sourceforge.subsonic.domain.Mp3Parser.getRawMetaData(Mp3Parser.java:100)
at net.sourceforge.subsonic.domain.MetaDataParser.getMetaData(MetaDataParser.java:24)
at net.sourceforge.subsonic.domain.MusicFile.getMetaData(MusicFile.java:165)
at net.sourceforge.subsonic.service.SearchService$Line.forFile(SearchService.java:704)
at net.sourceforge.subsonic.service.SearchService$Scanner.visit(SearchService.java:767)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:260)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:267)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:267)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:267)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:267)
at net.sourceforge.subsonic.service.SearchService.doCreateIndex(SearchService.java:115)
at net.sourceforge.subsonic.service.SearchService.access$000(SearchService.java:39)
at net.sourceforge.subsonic.service.SearchService$1.run(SearchService.java:89)

PostPosted: Fri Jul 06, 2007 9:02 pm
by sindre_mehus
Hi,

Could you please email me (sindre@activeobjects.no) the offending file (Unconditional Love)? I'll try to reproduce the error.

Thanks a lot!
Sindre

PostPosted: Mon Jul 09, 2007 5:20 pm
by RXWatcher
I've just emailed the mp3 as a .rar file. Let me know if you dont get it and I'll just give you access to my system to pull it.

PostPosted: Wed Jul 11, 2007 8:46 pm
by sindre_mehus
Thanks :-)

There was nothing wrong with the mp3, but I found a (mostly harmless) concurrency bug in the search index creation code. I've fixed it for the next release.

Sindre