Hi,
i had exaktly same issue... do you use a docker-compose.yml?
i also had this volume:
volumes:
- ./extensions:/opt/guacamole/extensions
after i commented it out everything was working (only my branding.jar of
course :) )
Erik
Am 05.09.2025 um 20:35 schrieb Dan Slauter:
Hello,
After upgrading guacamole to 1.6 authentication through a database no
longer works. I’m using MariaDB, guacamole 1.5.5 works without issue.
I did perform the schema upgrade to 1.6, but that didn’t fix it. I
looked through the logs on guacamole and it looks like it doesn’t load
the mysql extension even if you have MYSQL_ENABLED set to true. I’ve
also made sure that MSQL_DRIVER is set to mariadb.
The web interface will load, but logging in just gives the error
“invalid login”
18:28:36.774 [http-nio-8080-exec-9] WARN
o.a.g.event.EventLoggingListener - Authentication attempt from
10.22.39.45 for user "guacadmin" failed: unknown error (no specific
failure recorded)
If I manually move the guacamole-auth-jdbc-mysql-1.6.0.jar into the
extensions folder that’s mapped on docker, it gives me additional
information.
* 17:58:54.251 [main] DEBUG o.a.g.e.LanguageResourceService - Merged
strings with existing language: "zh"
* 17:58:54.252 [main] INFO o.a.g.extension.ExtensionModule -
Extension "MySQL Authentication" (mysql) loaded.
* 17:58:54.252 [main] DEBUG o.a.g.extension.ExtensionModule - [2]
Binding AuthenticationProvider
"org.apache.guacamole.auth.file.FileAuthenticationProvider".
* 17:58:54.254 [main] DEBUG o.a.g.extension.ExtensionModule - [0]
Binding listener "org.apache.guacamole.event.EventLoggingListener".
* 17:58:54.335 [main] INFO o.a.g.t.w.WebSocketTunnelModule - Loading
JSR-356 WebSocket support...
* 17:58:54.343 [main] DEBUG o.a.guacamole.tunnel.TunnelModule -
WebSocket module loaded:
org.apache.guacamole.tunnel.websocket.WebSocketTunnelModule
* 17:58:54.410 [main] INFO o.a.g.event.EventLoggingListener - The
Apache Guacamole web application has started.
* 17:58:54.696 [main] WARN o.g.jersey.server.wadl.WadlFeature -
JAXBContext implementation could not be found. WADL feature is
disabled.
* 05-Sep-2025 17:58:54.952 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
application archive
[/tmp/catalina-base.6umWG2S13V/webapps/ROOT.war] has finished in
[3,364] ms
* 05-Sep-2025 17:58:54.955 INFO [main]
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
["http-nio-8080"]
* 05-Sep-2025 17:58:54.963 INFO [main]
org.apache.catalina.startup.Catalina.start Server startup in
[3412] milliseconds
* 17:59:08.679 [http-nio-8080-exec-2] DEBUG
o.a.i.t.jdbc.JdbcTransaction - Opening JDBC Connection
* 17:59:08.680 [http-nio-8080-exec-2] DEBUG
o.a.g.a.j.DynamicallyAuthenticatedDataSource - Creating new
database connection for pool.
* 17:59:08.682 [http-nio-8080-exec-2] WARN
o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication
provider has encountered an internal error which will halt the
authentication process. If this is unexpected or you are the
developer of this authentication provider, you may wish to enable
debug-level logging. If this is expected and you wish to ignore
such failures in the future, please set "skip-if-unavailable:
mysql" within your guacamole.properties.
* 17:59:08.683 [http-nio-8080-exec-2] DEBUG
o.a.g.event.EventLoggingListener - Empty authentication attempt
(login screen initialization) from 10.22.39.45 failed:
* ### Error querying database. Cause: java.sql.SQLException: Error
setting driver on UnpooledDataSource.
* ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
* ### The error may involve
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
* ### The error occurred while executing a query
* ### Cause: java.sql.SQLException: Error setting driver on
UnpooledDataSource.
* 17:59:08.687 [http-nio-8080-exec-2] ERROR
o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
* ### Error querying database. Cause: java.sql.SQLException: Error
setting driver on UnpooledDataSource.
* ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
* ### The error may involve
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
* ### The error occurred while executing a query
* ### Cause: java.sql.SQLException: Error setting driver on
UnpooledDataSource.
* 17:59:08.687 [http-nio-8080-exec-2] DEBUG
o.a.g.rest.RESTExceptionMapper - Unexpected error in REST endpoint.
* org.apache.ibatis.exceptions.PersistenceException:
* ### Error querying database. Cause: java.sql.SQLException: Error
setting driver on UnpooledDataSource.
* ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
* ### The error may involve
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
* ### The error occurred while executing a query
* ### Cause: java.sql.SQLException: Error setting driver on
UnpooledDataSource.
* at
org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
* at
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156)
* at
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
* at
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
* at
org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75)
* at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
* at java.base/java.lang.reflect.Method.invoke(Method.java:580)
* at
org.apache.ibatis.session.SqlSessionManager$SqlSessionInterceptor.invoke(SqlSessionManager.java:355)
* at jdk.proxy4/jdk.proxy4.$Proxy41.selectOne(Unknown Source)
* at
org.apache.ibatis.session.SqlSessionManager.selectOne(SqlSessionManager.java:164)
* at
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
* at
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
* at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
* at jdk.proxy4/jdk.proxy4.$Proxy45.selectOne(Unknown Source)
* at
org.apache.guacamole.auth.jdbc.user.UserService.retrieveAuthenticatedUser(UserService.java:404)
* at
org.apache.guacamole.auth.jdbc.JDBCAuthenticationProviderService.authenticateUser(JDBCAuthenticationProviderService.java:83)
* at
org.apache.guacamole.auth.jdbc.InjectedAuthenticationProvider.authenticateUser(InjectedAuthenticationProvider.java:76)
* at
org.apache.guacamole.extension.AuthenticationProviderFacade.authenticateUser(AuthenticationProviderFacade.java:202)
* at
org.apache.guacamole.rest.auth.AuthenticationService.authenticateUser(AuthenticationService.java:132)
* at
org.apache.guacamole.rest.auth.AuthenticationService.getAuthenticatedUser(AuthenticationService.java:235)
* at
org.apache.guacamole.rest.auth.AuthenticationService.authenticate(AuthenticationService.java:391)
* at
org.apache.guacamole.rest.auth.TokenRESTService.createToken(TokenRESTService.java:174)
* at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
* at java.base/java.lang.reflect.Method.invoke(Method.java:580)
* at
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
* at
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
* at
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
* at
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
* at
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
* at
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
* at
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
* at
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
* at
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)
* at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
* at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
* at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
* at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
* at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
* at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
* at
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235)
* at
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)
* at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:397)
* at
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:349)
* at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:379)
* at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312)
* at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
* at
com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
* at
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
* at
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
* at
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
* at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
* at
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
* at
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
* at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
* at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
* at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
* at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
* at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
* at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
* at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
* at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656)
* at
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:762)
* at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
* at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
* at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
* at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
* at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
* at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826)
* at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
* at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
* at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
* at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
* at java.base/java.lang.Thread.run(Thread.java:1583)
* Caused by: java.sql.SQLException: Error setting driver on
UnpooledDataSource.
*Blommer Chocolate Company Confidentiality, LLC Notice: *The
information transmitted in this email is intended only for the person
or entity to which it is addressed and may contain confidential and/or
privileged material. Any review, retransmission, dissemination,
disclosure or other use of, or taking of any action in reliance upon,
this information by persons or entities other than the intended
recipient is prohibited. If you received this email in error, please
promptly contact the sender and immediately delete the email including
all attachments from all electronic devices.