Page 2 of 4

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 3:04 am
by DGMayor
Upgrade completely blew away my entire database/config. Had to start from scratch, which sucked. (This happened when I upgrade to 6.0 as well)

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 9:05 am
by Tak-MK
Sindre, I found some errors, this won't save my scan so I can't see new music:
http://pastebin.com/raw/y8GDx6UZ

There are also other about cover errors:
http://pastebin.com/raw/z5U28Nzx

Also REST API:
http://pastebin.com/raw/UURb5Tgt

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 9:26 am
by marekhall
Hi,

I have successfully upgraded from 6.0 to 6.1 and it worked well until yesterday. Since then it crashes with 503 error message. I tried to reinstall while removing the whole content of DB folder. It helps for a while, but then it crashes again.
Here is what I see:


Exception org.springframework.dao.TransientDataAccessResourceException
Message PreparedStatementCallback; SQL [select id, path, folder, type, format, title, album, artist, album_artist, disc_number, track_number, year, genre, bit_rate, variable_bit_rate, duration_seconds, file_size, width, height, cover_art_path, parent_path, play_count, last_played, comment, created, changed, last_scanned, children_last_updated, present, version from media_file where type = ? and folder in (?, ?, ?) and present order by created desc limit ? offset ?]; java.io.IOException: java.lang.IndexOutOfBoundsException; nested exception is java.sql.SQLException: java.io.IOException: java.lang.IndexOutOfBoundsException
Java version Oracle Corporation 1.8.0_77
Operating system Windows 7 6.1
Server jetty-6.1.x
Memory Used 108 of 145 MB
Stack trace org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [select id, path, folder, type, format, title, album, artist, album_artist, disc_number, track_number, year, genre, bit_rate, variable_bit_rate, duration_seconds, file_size, width, height, cover_art_path, parent_path, play_count, last_played, comment, created, changed, last_scanned, children_last_updated, present, version from media_file where type = ? and folder in (?, ?, ?) and present order by created desc limit ? offset ?]; java.io.IOException: java.lang.IndexOutOfBoundsException; nested exception is java.sql.SQLException: java.io.IOException: java.lang.IndexOutOfBoundsException
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:106)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:666)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:698)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:133)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:137)
at net.sourceforge.subsonic.dao.AbstractDao.namedQuery(AbstractDao.java:91)
at net.sourceforge.subsonic.dao.MediaFileDao.getNewestAlbums(MediaFileDao.java:260)
at net.sourceforge.subsonic.service.MediaFileService.getNewestAlbums(MediaFileService.java:266)
at net.sourceforge.subsonic.controller.HomeController.getNewest(HomeController.java:167)
at net.sourceforge.subsonic.controller.HomeController.handleRequestInternal(HomeController.java:85)
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.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:29)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:25)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:36)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:41)
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)
Caused by: java.sql.SQLException: java.io.IOException: java.lang.IndexOutOfBoundsException
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeQuery(Unknown Source)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
... 65 more
Caused by: org.hsqldb.HsqlException: java.io.IOException: java.lang.IndexOutOfBoundsException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.DataFileCache.readObject(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.findNode(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.getLeft(Unknown Source)
at org.hsqldb.index.IndexAVL.next(Unknown Source)
at org.hsqldb.index.IndexAVL.next(Unknown Source)
at org.hsqldb.index.IndexAVL$IndexRowIterator.getNextRow(Unknown Source)
at org.hsqldb.RangeVariable$RangeIteratorMain.findNext(Unknown Source)
at org.hsqldb.RangeVariable$RangeIteratorMain.next(Unknown Source)
at org.hsqldb.QuerySpecification.buildResult(Unknown Source)
at org.hsqldb.QuerySpecification.getSingleResult(Unknown Source)
at org.hsqldb.QuerySpecification.getResult(Unknown Source)
at org.hsqldb.StatementQuery.getResult(Unknown Source)
at org.hsqldb.StatementDMQL.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 69 more
Caused by: java.io.IOException: java.lang.IndexOutOfBoundsException
at org.hsqldb.lib.java.JavaSystem.toIOException(Unknown Source)
at org.hsqldb.persist.RAFileNIO.read(Unknown Source)
at org.hsqldb.persist.RAFileHybrid.read(Unknown Source)
... 87 more
Caused by: java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkBounds(Unknown Source)
at java.nio.ByteBuffer.get(Unknown Source)
at java.nio.DirectByteBuffer.get(Unknown Source)
... 89 more

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 9:54 am
by Tak-MK
I'm trying to use an external MySQL DB now.

EDIT 1: It seems scanning is faster than HSQLDB.

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 11:21 am
by utopian
Installed and upgraded from v6..working well for me on a Windows 7 VM machine

Thanks Sindre

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 12:31 pm
by toolman
If it's any help:
I installed the 6.1. Beta a few days ago and the first folderscan took about 9 hours for a collection of 148.149 songs on a network drive.
I still have Subsonic 6 running.
Both versions use the same mediafolders
And here's some interesting results:
Subsonic 6.0
[2017-03-15 13:02:38,963] INFO MediaScannerService - Starting to scan media library.
[2017-03-15 13:10:26,826] INFO MediaScannerService - Completed media library scan
2,525 artists
10,636 albums
148,387 songs
1240.92 GB
11,845 hours
Subsonic 6.1 Beta
[2017-03-15 11:18:30,849] INFO MediaScannerService - Starting to scan media library.
[2017-03-15 13:16:26,795] INFO MediaScannerService - Completed media library scan.
2.560 artists
10.634 albums
148.387 songs
1240,92 GB
11.845 hours
So Subsonic 6 takes about 8 minutes to do a folderscan and finds 2,525 artists 10,636 albums and 148,387 songs
Subsonic 6.1 Beta takes about 2 hours (!!!) to scan the same folders and finds 35 artist more but 2 albums less, yet finds to the same number of songs, used diskspace and playtime.
again: Both installations scanned the same network drive, both are running on Server 2008 R2, both use the same credentials to acces the network drive, both had fast acces mode off.
The only difference is that Subsonic 6 is running on a real computer and the Beta is running on a Virtual Machine.

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 12:43 pm
by eareye
eareye wrote:After upgrading from a working Subsonic 6.0 to 6.1b, I get a constraint violation in the ALBUM table (due to the ARTIST and NAME not being unique in a record as far as I can tell from the schema). I guess that means I must have two instances of the same album or something like that. I don't know if this is a new restriction enforced in 6.1b (or why 6.0 didn't seem to mind).

I plan on trying to access the database to see if I can find an easy way to determine if any records in the table do, in fact, have the same artist and album name values so I can remove them so I can start Subsonic again.


I had to restore a copy of my database from the previous day in order to look at my data. I didn't find any records in which the ARTIST+NAME were exact duplicates but I did find a pair of records representing a particular album where one record had the ARTIST name in all capitals while the other didn't. There was a second pair of records like that as well.

It seems to me that 6.0 uses case-sensitivity when determining uniqueness of values while 6.1b is, for some reason, case-insensitive.

I'm staying on 6.0 for now. At some point I imagine I will clean up my database, removing the pair of "duplicate" albums, which I would hope allows for a successful upgrade.

Anyways, it's probably something to look out for in less-than-well-maintained libraries.

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 1:06 pm
by Tak-MK
toolman wrote:If it's any help:
I installed the 6.1. Beta a few days ago and the first folderscan took about 9 hours for a collection of 148.149 songs on a network drive.
I still have Subsonic 6 running.
Both versions use the same mediafolders
And here's some interesting results:
Subsonic 6.0
[2017-03-15 13:02:38,963] INFO MediaScannerService - Starting to scan media library.
[2017-03-15 13:10:26,826] INFO MediaScannerService - Completed media library scan
2,525 artists
10,636 albums
148,387 songs
1240.92 GB
11,845 hours
Subsonic 6.1 Beta
[2017-03-15 11:18:30,849] INFO MediaScannerService - Starting to scan media library.
[2017-03-15 13:16:26,795] INFO MediaScannerService - Completed media library scan.
2.560 artists
10.634 albums
148.387 songs
1240,92 GB
11.845 hours
So Subsonic 6 takes about 8 minutes to do a folderscan and finds 2,525 artists 10,636 albums and 148,387 songs
Subsonic 6.1 Beta takes about 2 hours (!!!) to scan the same folders and finds 8 artist more but 2 albums less, yet finds to the same number of songs, used diskspace and playtime.
again: Both installations scanned the same network drive, both are running on Server 2008 R2, both use the same credentials to acces the network drive, both had fast acces mode off.
The only difference is that Subsonic 6 is running on a real computer and the Beta is running on a Virtual Machine.


I'm having the same issue. I'm trying to use MySQL but it's slower anyway (but faster than HSQLDB), I think I'm gonna go back to 6.0.

EDIT: I went back to 6.0 for now, everything is working here...

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 8:26 pm
by sindre_mehus
Thanks for reporting the database (and other) issues.

Please notice that I have temporarily removed the beta from the Download page while I investigate these issues.

Re: Subsonic 6.1.beta1 released

PostPosted: Wed Mar 15, 2017 10:51 pm
by tmwsiy
so can I delete DB and use the backup in the time being? I am getting the same Error 503.

Re: Subsonic 6.1.beta1 released

PostPosted: Thu Mar 16, 2017 12:47 am
by tmwsiy
Using the backup database solved the issue.

Re-scanning library is dreadfully slow. Used to take 15 minutes or so to scan my library of about 200K tracks.
I am over an hour in and not even to 10,000 tracks.

Re: Subsonic 6.1.beta1 released

PostPosted: Thu Mar 16, 2017 3:59 am
by tmwsiy
At 40,000 tracks and six hours. At this rate a full scan will take more than 24 hours.

Re: Subsonic 6.1.beta1 released

PostPosted: Thu Mar 16, 2017 9:34 am
by Alsaya
Got the 503 problem, too, switched back to 6.0

Re: Subsonic 6.1.beta1 released

PostPosted: Thu Mar 16, 2017 9:44 am
by MonsterMuffin
Updated as soon as it was released and freaked out when the database was all screwey, a rescan seemed to fix everything though.


6.1 seems fine to be but I can concur that updates are taking a lot longer than before, but not nearly as long as other are saying. 40k tracks, used to take about 1 min, now takes about 5-6.

All in all though, release looks solid. Good work sindre.

Re: Subsonic 6.1.beta1 released

PostPosted: Thu Mar 16, 2017 11:18 am
by langtall
On opening an album this error occurs in the log:
Code: Select all
[3/16/17 11:32:50 AM CET]   WARN   CoverArtController   Failed to process cover art 000-va-a_state_of_trance_classics_vol._4_the_full_unmixed_versions-4cd-flac-2009-proof.jpg: java.lang.NullPointerException

Worked fine before the update.

Also the 'Random' button on the home screen doesn't do anything anymore.