charts icon indicating copy to clipboard operation
charts copied to clipboard

[airsonic-advanced] error when trying to change any user info (email, password)

Open maleldil opened this issue 2 years ago • 10 comments

App Name

airsonic-advanced

SCALE Version

22.12.0

App Version

11.0.0_7.0.19

Application Events

https://ibb.co/QX2rvBc

Application Logs

2023-01-30 22:00:35.810831+00:002023-01-30 14:00:35.810 ERROR --- o.a.p.s.LoggingExceptionResolver         : 192.168.0.231: An exception occurred while loading http://192.168.1.2:10122/userSettings.view
2023-01-30 22:00:35.810860+00:002023-01-30T22:00:35.810860838Z
2023-01-30 22:00:35.810880+00:00org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [update users set email=?, ldap_authenticated=?, bytes_streamed=?, bytes_downloaded=?, bytes_uploaded=?, roles=? where username=?]; nested exception is org.postgresql.util.PSQLException: ERROR: column "roles" is of type json but expression is of type character varying
2023-01-30 22:00:35.810885+00:00Hint: You will need to rewrite or cast the expression.
2023-01-30 22:00:35.810894+00:00Position: 116
2023-01-30 22:00:35.810897+00:00at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810901+00:00at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810909+00:00at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1541) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810913+00:00at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810916+00:00at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:960) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810924+00:00at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1015) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810928+00:00at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1025) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810936+00:00at org.airsonic.player.dao.AbstractDao.update(AbstractDao.java:121) ~[classes/:na]
2023-01-30 22:00:35.810939+00:00at org.airsonic.player.dao.UserDao.updateUser_aroundBody22(UserDao.java:206) ~[classes/:na]
2023-01-30 22:00:35.810943+00:00at org.airsonic.player.dao.UserDao$AjcClosure23.run(UserDao.java:1) ~[classes/:na]
2023-01-30 22:00:35.810946+00:00at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:67) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810955+00:00at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:73) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810963+00:00at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810967+00:00at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:71) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810976+00:00at org.airsonic.player.dao.UserDao.updateUser(UserDao.java:204) ~[classes/:na]
2023-01-30 22:00:35.810979+00:00at org.airsonic.player.dao.UserDao$$FastClassBySpringCGLIB$$2f7a4400.invoke(<generated>) ~[classes/:na]
2023-01-30 22:00:35.810983+00:00at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810992+00:00at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810995+00:00at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.810999+00:00at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811008+00:00at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811012+00:00at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811023+00:00at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811027+00:00at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811039+00:00at org.airsonic.player.dao.UserDao$$EnhancerBySpringCGLIB$$9793d240.updateUser(<generated>) ~[classes/:na]
2023-01-30 22:00:35.811043+00:00at org.airsonic.player.service.SecurityService.updateUser_aroundBody4(SecurityService.java:348) ~[classes/:na]
2023-01-30 22:00:35.811046+00:00at org.airsonic.player.service.SecurityService$AjcClosure5.run(SecurityService.java:1) ~[classes/:na]
2023-01-30 22:00:35.811054+00:00at org.springframework.cache.aspectj.AbstractCacheAspect.ajc$around$org_springframework_cache_aspectj_AbstractCacheAspect$1$2bc714b5proceed(AbstractCacheAspect.aj:64) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811058+00:00at org.springframework.cache.aspectj.AbstractCacheAspect$AbstractCacheAspect$1.invoke(AbstractCacheAspect.aj:71) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811066+00:00at org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:366) ~[spring-context-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811069+00:00at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:421) ~[spring-context-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811078+00:00at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811081+00:00at org.springframework.cache.aspectj.AbstractCacheAspect.ajc$around$org_springframework_cache_aspectj_AbstractCacheAspect$1$2bc714b5(AbstractCacheAspect.aj:80) ~[spring-aspects-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811085+00:00at org.airsonic.player.service.SecurityService.updateUser(SecurityService.java:347) ~[classes/:na]
2023-01-30 22:00:35.811093+00:00at org.airsonic.player.controller.UserSettingsController.updateUser(UserSettingsController.java:216) ~[classes/:na]
2023-01-30 22:00:35.811097+00:00at org.airsonic.player.controller.UserSettingsController.doSubmitAction(UserSettingsController.java:145) ~[classes/:na]
2023-01-30 22:00:35.811105+00:00at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
2023-01-30 22:00:35.811108+00:00at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811112+00:00at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811119+00:00at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811123+00:00at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811126+00:00at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811134+00:00at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811138+00:00at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811146+00:00at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811150+00:00at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811158+00:00at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811161+00:00at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811165+00:00at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811173+00:00at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811177+00:00at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) ~[tomcat-embed-core-9.0.48.jar:4.0.FR]
2023-01-30 22:00:35.811181+00:00at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811188+00:00at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.48.jar:4.0.FR]
2023-01-30 22:00:35.811192+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811200+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811204+00:00at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811208+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811216+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811220+00:00at org.airsonic.player.security.JWTRequestParameterProcessingFilter.doFilter(JWTRequestParameterProcessingFilter.java:59) ~[classes/:na]
2023-01-30 22:00:35.811228+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811232+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811236+00:00at org.airsonic.player.filter.MetricsFilter.doFilter(MetricsFilter.java:30) ~[classes/:na]
2023-01-30 22:00:35.811244+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811247+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811256+00:00at org.airsonic.player.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:45) ~[classes/:na]
2023-01-30 22:00:35.811260+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811264+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811272+00:00at org.airsonic.player.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:57) ~[classes/:na]
2023-01-30 22:00:35.811276+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811284+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811288+00:00at org.airsonic.player.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:56) ~[classes/:na]
2023-01-30 22:00:35.811292+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811300+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811304+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811313+00:00at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811317+00:00at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811325+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811329+00:00at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811333+00:00at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811341+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811345+00:00at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811353+00:00at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811357+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811366+00:00at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811370+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811378+00:00at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811382+00:00at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811391+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811394+00:00at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811403+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811407+00:00at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811411+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811419+00:00at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811423+00:00at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811431+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811435+00:00at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:149) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811445+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811449+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811462+00:00at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811466+00:00at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811479+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811482+00:00at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811492+00:00at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811496+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811499+00:00at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:132) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811507+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811510+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811519+00:00at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811522+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811524+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811541+00:00at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811545+00:00at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811554+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811557+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811560+00:00at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811569+00:00at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811572+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811580+00:00at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811583+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811592+00:00at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811595+00:00at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811603+00:00at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.5.1.jar:5.5.1]
2023-01-30 22:00:35.811607+00:00at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811610+00:00at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811618+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811621+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811630+00:00at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811633+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811636+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811644+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811647+00:00at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811656+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811659+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811668+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811671+00:00at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:94) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811674+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811682+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811685+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811697+00:00at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) ~[spring-boot-actuator-2.5.2.jar:2.5.2]
2023-01-30 22:00:35.811702+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811705+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811715+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811718+00:00at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811728+00:00at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811731+00:00at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811734+00:00at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811742+00:00at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811746+00:00at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811754+00:00at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811759+00:00at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811762+00:00at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811774+00:00at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811777+00:00at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811787+00:00at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811791+00:00at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811793+00:00at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811802+00:00at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811805+00:00at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811814+00:00at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811818+00:00at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811820+00:00at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811829+00:00at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
2023-01-30 22:00:35.811832+00:00at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
2023-01-30 22:00:35.811835+00:00Caused by: org.postgresql.util.PSQLException: ERROR: column "roles" is of type json but expression is of type character varying
2023-01-30 22:00:35.811845+00:00Hint: You will need to rewrite or cast the expression.
2023-01-30 22:00:35.811850+00:00Position: 116
2023-01-30 22:00:35.811853+00:00at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2552) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811856+00:00at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2284) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811866+00:00at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:322) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811869+00:00at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:481) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811877+00:00at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:401) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811880+00:00at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811883+00:00at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:130) ~[postgresql-42.2.22.jar:42.2.22]
2023-01-30 22:00:35.811892+00:00at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:na]
2023-01-30 22:00:35.811895+00:00at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:na]
2023-01-30 22:00:35.811898+00:00at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2(JdbcTemplate.java:965) ~[spring-jdbc-5.3.8.jar:5.3.8]
2023-01-30 22:00:35.811907+00:00at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:651) ~[spring-jdbc-5.3.8.jar:5.3.8]

Application Configuration

Screenshot 2023-01-30 at 2 10 12 PM

The only change from defaults is using a Host Path for the App Music Storage mount. Playing music works fine, btw.

Describe the bug

Internal server error when updating the current user or attempting to create a new user.

To Reproduce

  1. Login to airsonic-advanced app (u/p: admin/admin)
  2. Click the "Settings" cog at the top of the screen
  3. Click on the "Users" tab
  4. Select user 'admin' from the "Select User" dropdown
  5. Enter an email address into the "E-mail" field at the bottom
  6. Click "Save" button

Expected Behavior

Admin user email address should be updated. The same error happens when attempting to create a new user, or modify any user settings.

Screenshots

Screenshot 2023-01-30 at 4 50 37 PM

Additional Context

There's an open issue for this on the airsonic-advanced project (https://github.com/airsonic-advanced/airsonic-advanced/issues/896), but it looks like there is a workaround that could be applied to the TrueCharts configuration for this app that would resolve it for TrueNAS SCALE users. The documentation (https://airsonic.github.io/docs/database/#postgresql) for Airsonic Advanced says that for postgresql databases we need to append ?stringtype=unspecified to the jdbc connection string. Example:

jdbc:postgresql://localhost:5432/airsonic?stringtype=unspecified

In this chart this looks to be managed by the spring_datasource_url environment variable, but this cannot be overridden by the user in the current version.

I've read and agree with the following

  • [X] I've checked all open and closed issues and my issue is not there.

maleldil avatar Jan 31 '23 00:01 maleldil

we dont support such and old version of the OS, file a support ticket in our discord after you update. run our bash truetool script prior to updating.

xstar97 avatar Jan 31 '23 01:01 xstar97

I mistakenly selected the wrong item from the version dropdown. Version is latest Bluefin stable, TrueNAS-SCALE-22.12.0. I've edited the original report accordingly.

maleldil avatar Jan 31 '23 01:01 maleldil

Its an upstream bug and we already are short on devtime. Not going ti fix upstream application issues.

PrivatePuffin avatar Jan 31 '23 08:01 PrivatePuffin

While there is a bug filed upstream, it doesn't look to necessarily be a bug in the software, but rather a configuration requirement when using postgresql as the database backend. The Airsonic documentation states "Setting stringtype=unspecified on your JDBC url string is necessary for now for compatibility." when using postgresql (https://airsonic.github.io/docs/database/#postgresql). As it stands, since the admin user cannot change their password, and cannot create new users, the chart is unsuitable for exposing to the internet via ingress, as all instances will have a user/password of admin/admin. I believe the fix would be a simple change to the env section of charts/stable/airsonic-advanced/values.yaml as below:

env:
  AIRSONIC_DIR: "/"
  # -- For passing additional java options. For some reverse proxies, you may need to pass `JAVA_OPTS=-Dserver.use-forward-headers=true` for airsonic to generate the proper URL schemes.
  JAVA_OPTS:
  CONTEXT_PATH: "/"
  spring_liquibase_parameters_userTableQuote: '"'
  spring_datasource_username: "{{ .Values.postgresql.postgresqlUsername }}"
  spring_datasource_url_base:
    secretKeyRef:
      name: dbcreds
      key: jdbc
  spring_datasource_url: "{{ .Values.env.spring_datasource_url_base }}?stringtype=unspecified"
  spring_datasource_password:
    secretKeyRef:
      name: dbcreds
      key: postgresql-password

I've renamed the original jdbc url to spring_datasource_url_base and redefined spring_datasource_url to be the concatenation of the original url with the required parameter added.

Please note that I am not a seasoned kubernetes developer, otherwise I would submit a pull request, but I don't know if there are other considerations I may be missing.

maleldil avatar Jan 31 '23 17:01 maleldil

While there is a bug filed upstream, it doesn't look to necessarily be a bug in the software, but rather a configuration requirement when using postgresql as the database backend. The Airsonic documentation states "Setting stringtype=unspecified on your JDBC url string is necessary for now for compatibility." when using postgresql (https://airsonic.github.io/docs/database/#postgresql). As it stands, since the admin user cannot change their password, and cannot create new users, the chart is unsuitable for exposing to the internet via ingress, as all instances will have a user/password of admin/admin. I believe the fix would be a simple change to the env section of charts/stable/airsonic-advanced/values.yaml as below:

env:
  AIRSONIC_DIR: "/"
  # -- For passing additional java options. For some reverse proxies, you may need to pass `JAVA_OPTS=-Dserver.use-forward-headers=true` for airsonic to generate the proper URL schemes.
  JAVA_OPTS:
  CONTEXT_PATH: "/"
  spring_liquibase_parameters_userTableQuote: '"'
  spring_datasource_username: "{{ .Values.postgresql.postgresqlUsername }}"
  spring_datasource_url_base:
    secretKeyRef:
      name: dbcreds
      key: jdbc
  spring_datasource_url: "{{ .Values.env.spring_datasource_url_base }}?stringtype=unspecified"
  spring_datasource_password:
    secretKeyRef:
      name: dbcreds
      key: postgresql-password

I've renamed the original jdbc url to spring_datasource_url_base and redefined spring_datasource_url to be the concatenation of the original url with the required parameter added.

Please note that I am not a seasoned kubernetes developer, otherwise I would submit a pull request, but I don't know if there are other considerations I may be missing.

To be clear: We officially don't even support other authentication then basic and forward auth on Ingress at all for internet exposure ;-)

PrivatePuffin avatar Jan 31 '23 19:01 PrivatePuffin

reopening, please next time don't suggest it's a bug upstream, if upstream doesn't qualify it as such.

PrivatePuffin avatar Jan 31 '23 19:01 PrivatePuffin

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.

truecharts-admin avatar Jul 30 '23 20:07 truecharts-admin

Not stale; this issue still seems to be present.

freshgum-bubbles avatar Jul 31 '23 02:07 freshgum-bubbles

Still not working in october 2023 on latest Truenas scale

sochartgit avatar Oct 20 '23 23:10 sochartgit

This is still an issue as of 2024 02 08 - fresh install from scale repo fails as above. Without change to the initial configuration when deployed per the DB connect string, this will not be a viable app.

luckytroll avatar Feb 08 '24 12:02 luckytroll

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.

truecharts-admin avatar Aug 06 '24 20:08 truecharts-admin

This issue has been automatically closed due to inactivity. Please re-open if this still requires investigation.

truecharts-admin avatar Aug 21 '24 20:08 truecharts-admin