truecharts / charts

Community Helm Chart Repository
https://truecharts.org
GNU Affero General Public License v3.0
1.13k stars 621 forks source link

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

Closed maleldil closed 1 month ago

maleldil commented 1 year ago

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

xstar97 commented 1 year ago

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.

maleldil commented 1 year ago

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.

PrivatePuffin commented 1 year ago

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

maleldil commented 1 year ago

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.

PrivatePuffin commented 1 year ago

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 commented 1 year ago

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

truecharts-admin commented 1 year ago

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.

freshgum-bubbles commented 1 year ago

Not stale; this issue still seems to be present.

sochartgit commented 11 months ago

Still not working in october 2023 on latest Truenas scale

luckytroll commented 7 months ago

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.

truecharts-admin commented 1 month ago

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 commented 1 month ago

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