Subsonic 6.1.beta2 released

Announcements and discussion of new releases.

Moderator: moderators

Subsonic 6.1.beta2 released

Postby sindre_mehus » Thu Mar 23, 2017 9:20 pm

Hi,

Unfortunately the upgrade of HSQLDB in 6.1.beta1 didn't work out too well, so I have reverted that. On a positive note, I fixed a severe memory leak.

Bugfix: Reverted to HSQLDB 1.8 due to performance issues and errors. If you previously installed 6.1.beta1, please restore your database backup when upgrading to 6.1.beta2.
Bugfix: Reduce memory usage. (Fixed a serious memory leak in the embedded Jetty used by the Windows, Mac and Linux packages).
New: Updated Dutch translation, courtesy of Toolman.

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

Re: Subsonic 6.1.beta2 released

Postby FlyingPersian » Thu Mar 23, 2017 10:01 pm

I just replaced the files in /usr/local/share/subsonic-standalone/ with the ones in the beta2. Subsonic is shown as running, but I get an error in my browser and this in my log:

Code: Select all
HTTP ERROR: 503

SERVICE_UNAVAILABLE
RequestURI=/index.view

Powered by jetty://


Code: Select all
[2017-03-23 22:59:10,721] INFO HsqlDaoHelper - Checking database schema.
[2017-03-23 22:59:11,025] ERROR HsqlDaoHelper - Failed to initialize database.
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: error in script file line: 1 Unexpected token UNIQUE, requires COLLATION in statement [SET DATABASE UNIQUE]
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:429)
   at net.sourceforge.subsonic.dao.schema.hsql.Schema25.execute(Schema25.java:21)
   at net.sourceforge.subsonic.dao.DaoHelper.init(DaoHelper.java:27)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
   at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
   at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
   at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
   at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
   at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
   at org.mortbay.jetty.Server.doStart(Server.java:217)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.deployWebApp(SubsonicDeployer.java:132)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.<init>(SubsonicDeployer.java:64)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
   at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
   at net.sourceforge.subsonic.booter.Main.<init>(Main.java:24)
   at net.sourceforge.subsonic.booter.Main.main(Main.java:63)
Caused by: java.sql.SQLException: error in script file line: 1 Unexpected token UNIQUE, requires COLLATION in statement [SET DATABASE UNIQUE]
   at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
   at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
   at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
   at org.hsqldb.jdbcDriver.connect(Unknown Source)
   at java.sql.DriverManager.getConnection(DriverManager.java:664)
   at java.sql.DriverManager.getConnection(DriverManager.java:208)
   at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
   at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
   at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
   at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
   at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
   ... 74 more

[2017-03-23 22:59:11,121] INFO SettingsService - Java: 1.8.0_121, OS: FreeBSD
[2017-03-23 22:59:11,135] INFO VersionService - Resolved local Subsonic version to: 6.1.beta2


Edit: When deleting the db folder it works, but I obviously want to keep using my old db. Is there a trick to do that?
FlyingPersian
 
Posts: 29
Joined: Mon Oct 31, 2016 11:43 pm

Re: Subsonic 6.1.beta2 released

Postby acroyear » Thu Mar 23, 2017 11:09 pm

ok, so if we're on beta1 and did NOT back up the DB from the 6.0, best to just blow it away? (not worried, it was just my test box, not my 2 prod servers).

UPDATE: Answering my own question. On OSX the upgrade created a db.backup folder, so I can just make a copy of that in .db and try again.
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Subsonic 6.1.beta2 released

Postby acroyear » Fri Mar 24, 2017 1:05 am

ok, 17,000 songs, local file system (2 folders). First scan took probably 10 minutes. I ripped 7 CDs (symphony boxed set collection), then re-scan. The second scan finished in less than a minute, all 7 new albums showed up.

OSX, HSQLDB, 6.2 beta upgraded from the 6.0b2 backup.

So yeah, pretty smooth for me, at least on my test box. My prod boxes are, of course, MUCH larger. So we'll see... :)
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Subsonic 6.1.beta2 released

Postby texxasrulez » Fri Mar 24, 2017 1:15 am

I have updated to Subsonic 6.1 beta2 and ran scan with HSQLDB that took less than a minute for 208 GB of music. Changed back to MYSQL 5.7.17 and scan still takes over an hour to complete. As stated in an earlier post, not too much of an issue with me on slow scan, but others may disagree.

Great job Sindre, thanks as always ...
texxasrulez
 
Posts: 22
Joined: Thu Nov 25, 2010 11:03 pm

Re: Subsonic 6.1.beta2 released

Postby Tak-MK » Fri Mar 24, 2017 10:56 am

EDIT: I didn't say anything, everything seems to work even faster than 6.0! :D Great work!
User avatar
Tak-MK
 
Posts: 107
Joined: Thu Dec 22, 2016 3:27 pm

Re: Subsonic 6.1.beta2 released

Postby eyeye » Fri Mar 24, 2017 11:57 am

I use 6.1 beta2.
There is not any PlayQueueInputStream log in log file.

INFO PlayQueueInputStream user listening to "song tile"

This is important function for me. Is it bug?
I respect your great job. Thanks.
eyeye
 
Posts: 1
Joined: Wed Sep 07, 2016 11:10 am

Re: Subsonic 6.1.beta2 released

Postby toolman » Fri Mar 24, 2017 2:01 pm

Installed the Beta 2 over the beta 1 and got HTTP ERROR: 503 SERVICE_UNAVAILABLE, like mentioned by other users.
Since it's just a test installation I don't care.
Uninstalled Subsonic complety. Deleted the remaining Subsonic folder and installed the Beta 2 again.
Configured it and started an initial scan:
Subsonic 6.1.beta2
Initial Scan
[24-3-17 10:44:38 CET] INFO MediaScannerService Starting to scan media library.
[24-3-17 12:41:33 CET] INFO MediaScannerService Completed media library scan.
2.516 artiesten
10.660 albums
148.751 songs
1243,26 GB
11.862 uren
The next scan resulted in:
[24-3-17 13:16:48 CET] INFO MediaScannerService Starting to scan media library.
[24-3-17 13:30:47 CET] INFO MediaScannerService Completed media library scan

Of course I started a new scan on Subsonic 6 using the same media folders as the Beta 2 installation did and got this as a result.
Subsonic 6.0
[3/24/17 1:17:49 PM CET] INFO MediaScannerService Starting to scan media library.
[3/24/17 1:29:50 PM CET] INFO MediaScannerService Completed media library scan.
2,528 artists
10,652 albums
148,751 songs
1243.26 GB
11,863 hours

There's a slight difference in artists and albums, but scanning time has improved and for the beta-version now only took 2 hours while the next scan took just 14 minutes.
Subsonic came out at 12 minutes to do a daily folderscan.

So Sindre has solved the slow database-issue.
toolman
 
Posts: 538
Joined: Fri Dec 11, 2009 4:18 pm
Location: Netherlands

Re: Subsonic 6.1.beta2 released

Postby texxasrulez » Fri Mar 24, 2017 2:11 pm

texxasrulez wrote:I have updated to Subsonic 6.1 beta2 and ran scan with HSQLDB that took less than a minute for 208 GB of music. Changed back to MYSQL 5.7.17 and scan still takes over an hour to complete. As stated in an earlier post, not too much of an issue with me on slow scan, but others may disagree.


I have been looking into this a little more and the only error I can see is in mysql log:
Aborted connection 33 to db: 'DB' user: 'DB_USER' host: 'localhost' (Got an error reading communication packets)

I have increased wait_timeout, interactive_timeout and max_allowed_packets for mysql. I still have slow scans and the same error showing up in mysql log.

Suggestions?

EDIT UPDATE: I increased the values above to max and the errors do not show up, but scan is still over an hour. I will keep trying ... 8)
texxasrulez
 
Posts: 22
Joined: Thu Nov 25, 2010 11:03 pm

Re: Subsonic 6.1.beta2 released

Postby acroyear » Fri Mar 24, 2017 5:15 pm

Installed the Beta 2 over the beta 1 and got HTTP ERROR: 503 SERVICE_UNAVAILABLE, like mentioned by other users.


Did you keep the original db folder or did you remove it and rename db.backup to db? My impression was that is a *critical* step given that the db versions are incompatible. You have to be upgrading to beta2 from 6.0 or earlier.

I dropped my db folder, copied db.backup to db (and db.backup.6.0 as a backup of a backup) and did the install with no issues.
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Subsonic 6.1.beta2 released

Postby toolman » Fri Mar 24, 2017 7:46 pm

When I got the error I just uninstalled Subsonic beta 2, deleted the remaining Subsonic folder and started with a new installation which went without a hitch.
As I said, it was just a test machine so the database wasn't that important to me.
I figured that deleting the old stuff and installing from scratch would be less hassle. I also would have the chance to see if the initial scan is now completed within a reasonable timeframe.
toolman
 
Posts: 538
Joined: Fri Dec 11, 2009 4:18 pm
Location: Netherlands

Re: Subsonic 6.1.beta2 released

Postby tyral » Fri Mar 24, 2017 8:57 pm

After installing 6.1.beta2 I wnated to switch to using mySQL/MariaDB for my engine. I set up my /etc/sysconfig/subsonic SUBSONIC_ARGS line with what is specified here : http://www.subsonic.org/pages/database.jsp

I even tried adding a .my.cnf to my subsonic users homedir to allow access that way. It seems that subsonic isn't trying to use the password? The error I'm getting is below, along with my jdbc connection URL and system information

Code: Select all
[root@solgaleo: /home/tyral] # uname -a ; cat /etc/redhat-release ; rpm -qa subsonic ; mysql -e "SHOW VARIABLES LIKE '%version%';"
Linux solgaleo.project905.com 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
CentOS Linux release 7.3.1611 (Core)
subsonic-6.1.beta2-dc75a2.i386
+-------------------------+---------------------+
| Variable_name           | Value               |
+-------------------------+---------------------+
| innodb_version          | 5.5.49-MariaDB-38.0 |
| protocol_version        | 10                  |
| slave_type_conversions  |                     |
| version                 | 5.5.52-MariaDB      |
| version_comment         | MariaDB Server      |
| version_compile_machine | x86_64              |
| version_compile_os      | Linux               |
+-------------------------+---------------------+


SUBSONIC_ARGS="--max-memory=150 --port=4040 --https-port=4041 --db=JDBC:mysql://localhost:3306/subsonic?user=subadmin&password=[REDACTED]&characterEncoding=UTF-8"

Code: Select all
[2017-03-24 14:56:30,034] INFO MySqlDaoHelper - Checking database schema.
[2017-03-24 14:56:30,193] INFO MySqlSchema61 - Database table 'version' not found.  Creating it.
[2017-03-24 14:56:30,194] ERROR MySqlDaoHelper - Failed to initialize database.
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'subadmin'@'localhost' (using password: NO))
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:429)
   at net.sourceforge.subsonic.dao.schema.mysql.MySqlSchema61.execute(MySqlSchema61.java:44)
   at net.sourceforge.subsonic.dao.DaoHelper.init(DaoHelper.java:27)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
   at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
   at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
   at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
   at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
   at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
   at org.mortbay.jetty.Server.doStart(Server.java:217)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.deployWebApp(SubsonicDeployer.java:132)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.<init>(SubsonicDeployer.java:64)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
   at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
   at net.sourceforge.subsonic.booter.Main.<init>(Main.java:24)
   at net.sourceforge.subsonic.booter.Main.main(Main.java:63)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'subadmin'@'localhost' (using password: NO))
   at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
   at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
   at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
   at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
   ... 74 more
Caused by: java.sql.SQLException: Access denied for user 'subadmin'@'localhost' (using password: NO)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
   at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710)
   at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
   at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
   at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
   at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
   at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
   at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
   at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
   at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
   at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
   ... 78 more

[2017-03-24 14:56:30,253] INFO SettingsService - Java: 1.8.0_121, OS: Linux
[2017-03-24 14:56:30,257] INFO VersionService - Resolved local Subsonic version to: 6.1.beta2
tyral
 
Posts: 8
Joined: Fri Mar 24, 2017 8:48 pm

Re: Subsonic 6.1.beta2 released

Postby phazzard » Fri Mar 24, 2017 10:27 pm

Thanks for the new update. Is there a trick to get an artist to show up when the folder is created last name, first name. When folders are saved Last, First name to keep alphabetical it is only able to show similar artists but does not update pictures, artist bio or even top songs.

I love the look and idea behind the Improved search relevance. Still the results are maxed out at 30 results and this needs to be increased. I am also still receiving mixed results (For example it looks like if it has found all songs it starts looking for artist and displays those in the song results)

Top menu should be larger and more spaced out. All menus have headers like Song / Album etc centered but the results on the left - This is confusing and I think it should all be lined up on the left.

New: Added controls for selecting all tracks in album/podcast/play queue. - I love this

One thing I noticed is there is no indication when you are hovering over something. Very strange, it is hard to tell what you can click?
phazzard
 
Posts: 49
Joined: Thu Jul 08, 2010 6:43 pm

Re: Subsonic 6.1.beta2 released

Postby Soorploom » Sat Mar 25, 2017 12:30 am

Subsonic 6.1.beta2 released and, sorry to say, just an overflowing piss pot.

I'm sorry to sound crude and rather angry. I read but seldom post but this 'fix' has really, really annoyed me. Yes, I appreciate it's a beta but since Subsonic 5x, it all seems to be a trail of unremarkable betas or, if you like, a whole load of risks.

The database schema of Subsonic has always been dodgy, a bit of a suck it and see, depending from where the wind blows.

'SERVICE_UNAVAILABLE. Oh christ, not THAT again. This latest iteration is just not impressive.
Soorploom
 
Posts: 6
Joined: Fri Jul 22, 2011 11:27 am

Re: Subsonic 6.1.beta2 released

Postby sindre_mehus » Sat Mar 25, 2017 8:34 am

phazzard wrote:Top menu should be larger and more spaced out. All menus have headers like Song / Album etc centered but the results on the left - This is confusing and I think it should all be lined up on the left.
One thing I noticed is there is no indication when you are hovering over something. Very strange, it is hard to tell what you can click?


Try to force reload the page (or clear the browser cache). Doesn't sound like the CSS changes have been picked up by your browser.

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

Next

Return to Announcements

Who is online

Users browsing this forum: No registered users and 15 guests