Subsonic 3.1.beta1 released

Announcements and discussion of new releases.

Moderator: moderators

Subsonic 3.1.beta1 released

Postby sindre_mehus » Sat Jun 30, 2007 9:11 pm

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
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Thanks

Postby kapz » Tue Jul 03, 2007 8:22 pm

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)
Last edited by kapz on Tue Jul 03, 2007 11:33 pm, edited 1 time in total.
User avatar
kapz
 
Posts: 124
Joined: Wed Jun 21, 2006 7:23 pm

Postby RXWatcher » Tue Jul 03, 2007 8:34 pm

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)
RXWatcher
 
Posts: 20
Joined: Thu May 03, 2007 5:16 pm

Postby sindre_mehus » Wed Jul 04, 2007 5:43 am

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
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby RXWatcher » Thu Jul 05, 2007 1:27 pm

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)
RXWatcher
 
Posts: 20
Joined: Thu May 03, 2007 5:16 pm

Postby sindre_mehus » Fri Jul 06, 2007 9:02 pm

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
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby RXWatcher » Mon Jul 09, 2007 5:20 pm

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.
RXWatcher
 
Posts: 20
Joined: Thu May 03, 2007 5:16 pm

Postby sindre_mehus » Wed Jul 11, 2007 8:46 pm

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
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway


Return to Announcements

Who is online

Users browsing this forum: No registered users and 5 guests