[ https://issues.apache.org/jira/browse/GUACAMOLE-543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nick Couchman closed GUACAMOLE-543. ----------------------------------- Resolution: Invalid Closing this issue pending discussion on the mailing list. > Docker guacamole client container breaks after restart/reboot > ------------------------------------------------------------- > > Key: GUACAMOLE-543 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-543 > Project: Guacamole > Issue Type: Bug > Components: guacamole-docker > Affects Versions: 0.9.14 > Environment: Debian 9.4 host machine > Docker 18.03.0-ce > Docker-compose 1.21.0 > Setup with 4 containers: > guacamole-client (named test-guacamole-client) > guacamole-server (named test-guacamole-server) > mysql (test-mysql) > nginx (test-nginx) > Docker compose used to build the application: > version: '3' > services: > test-mysql: > container_name: test-mysql > image: mysql > volumes: > - /root/container/test-mysql/data:/var/lib/mysql > networks: > - guac_network > restart: always > test-guacamole-server: > container_name: test-guacamole-server > image: guacamole/guacd > networks: > - guac_network > restart: always > test-guacamole-client: > depends_on: > - test-mysql > container_name: test-guacamole-client > image: guacamole/guacamole > networks: > - guac_network > environment: > - GUACD_HOSTNAME=test-guacamole-server > - GUACD_PORT=4822 > - MYSQL_HOSTNAME=test-mysql > - MYSQL_DATABASE=guacamole_db > - MYSQL_USER=guacamole_user > - MYSQL_PASSWORD=sterf > restart: always > test-nginx: > depends_on: > - test-guacamole_client > container_name: test-nginx > image: nginx > volumes: > - /root/container/test-nginx/conf.d:/etc/nginx/conf.d > - /root/container/test-nginx/certs:/etc/nginx/certs > networks: > - guac_network > ports: > - "443:443" > restart: always > networks: > guac_network: > Reporter: Jaap de Vos > Priority: Minor > > The docker guacamole client container breaks after restarts and reboots. I am > using the latest containers: > guacamole/guacd > guacamole/guacamole > The client container can not withstand a reboot of the host system. The only > way to fix it is to delete the image from my host machine and have > docker-compose download it again. > > The output from "docker logs test-guacamole-client" when it's broken looks > like this: > 12-Apr-2018 10:01:04.722 INFO [http-nio-8080-exec-14] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js > 12-Apr-2018 10:01:04.722 INFO [http-nio-8080-exec-1] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js > 12-Apr-2018 10:01:04.727 INFO [http-nio-8080-exec-14] null.null Webjars > resource requested: /META-INF/resources/webjars/angular/1.3.16/angular.min.js > 12-Apr-2018 10:01:04.728 INFO [http-nio-8080-exec-8] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js > 12-Apr-2018 10:01:04.730 INFO [http-nio-8080-exec-5] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js > 12-Apr-2018 10:01:04.735 INFO [http-nio-8080-exec-17] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js > 12-Apr-2018 10:01:04.739 INFO [http-nio-8080-exec-12] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js > 12-Apr-2018 10:01:04.743 INFO [http-nio-8080-exec-8] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js > 12-Apr-2018 10:01:04.745 INFO [http-nio-8080-exec-15] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js > 12-Apr-2018 10:01:04.746 INFO [http-nio-8080-exec-7] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js > 12-Apr-2018 10:01:04.748 INFO [http-nio-8080-exec-1] null.null Webjars > resource requested: > /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js > 12-Apr-2018 10:01:04.749 INFO [http-nio-8080-exec-12] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js > 12-Apr-2018 10:01:04.753 INFO [http-nio-8080-exec-17] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js > 12-Apr-2018 10:01:05.122 INFO [http-nio-8080-exec-5] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js > 12-Apr-2018 10:01:05.130 INFO [http-nio-8080-exec-17] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js > 12-Apr-2018 10:01:05.134 INFO [http-nio-8080-exec-8] null.null Webjars > resource requested: > /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js > 12-Apr-2018 10:01:05.135 INFO [http-nio-8080-exec-3] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js > 12-Apr-2018 10:01:05.131 INFO [http-nio-8080-exec-7] null.null Webjars > resource requested: > /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js > 12-Apr-2018 10:01:05.135 INFO [http-nio-8080-exec-1] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js > 12-Apr-2018 10:01:05.137 INFO [http-nio-8080-exec-17] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular/1.3.16/angular.min.js > 12-Apr-2018 10:01:05.142 INFO [http-nio-8080-exec-5] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js > 12-Apr-2018 10:01:05.143 INFO [http-nio-8080-exec-15] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js > 12-Apr-2018 10:01:05.144 INFO [http-nio-8080-exec-15] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js > 12-Apr-2018 10:01:05.145 INFO [http-nio-8080-exec-9] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js > 12-Apr-2018 10:01:05.149 INFO [http-nio-8080-exec-18] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js > 12-Apr-2018 10:01:05.150 INFO [http-nio-8080-exec-1] > org.webjars.servlet.WebjarsServlet.doGet Webjars resource requested: > /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js > 12-Apr-2018 10:01:21.138 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler > ["http-nio-8080"] > 12-Apr-2018 10:01:21.139 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler > ["ajp-nio-8009"] > 12-Apr-2018 10:01:21.190 INFO [Thread-5] > org.apache.catalina.core.StandardService.stopInternal Stopping service > Catalina > 12-Apr-2018 10:01:21.280 WARNING [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [guacamole] appears to have started a thread named > [com.google.inject.internal.util.$Finalizer] but has failed to stop it. This > is very likely to create a memory leak. Stack trace of thread: > java.lang.Object.wait(Native Method) > java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) > java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) > com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114) > 12-Apr-2018 10:01:21.281 WARNING [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [guacamole] appears to have started a thread named [Abandoned > connection cleanup thread] but has failed to stop it. This is very likely to > create a memory leak. Stack trace of thread: > java.lang.Object.wait(Native Method) > java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) > > com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43) > 12-Apr-2018 10:01:21.281 SEVERE [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks > The web application [guacamole] created a ThreadLocal with key of type > [com.google.inject.internal.InjectorImpl$1] (value > [com.google.inject.internal.InjectorImpl$1@99114b7]) and a value of type > [java.lang.Object[]] (value [[Ljava.lang.Object;@602daa57]) but failed to > remove it when the web application was stopped. Threads are going to be > renewed over time to try and avoid a probable memory leak. > 12-Apr-2018 10:01:21.284 SEVERE [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks > The web application [guacamole] created a ThreadLocal with key of type > [com.google.inject.internal.InjectorImpl$1] (value > [com.google.inject.internal.InjectorImpl$1@99114b7]) and a value of type > [java.lang.Object[]] (value [[Ljava.lang.Object;@19a086c8]) but failed to > remove it when the web application was stopped. Threads are going to be > renewed over time to try and avoid a probable memory leak. > 12-Apr-2018 10:01:21.285 SEVERE [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks > The web application [guacamole] created a ThreadLocal with key of type > [com.google.inject.internal.InjectorImpl$1] (value > [com.google.inject.internal.InjectorImpl$1@99114b7]) and a value of type > [java.lang.Object[]] (value [[Ljava.lang.Object;@79195515]) but failed to > remove it when the web application was stopped. Threads are going to be > renewed over time to try and avoid a probable memory leak. > 12-Apr-2018 10:01:21.285 SEVERE [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks > The web application [guacamole] created a ThreadLocal with key of type > [com.google.inject.internal.InjectorImpl$1] (value > [com.google.inject.internal.InjectorImpl$1@99114b7]) and a value of type > [java.lang.Object[]] (value [[Ljava.lang.Object;@782cd22d]) but failed to > remove it when the web application was stopped. Threads are going to be > renewed over time to try and avoid a probable memory leak. > 12-Apr-2018 10:01:21.285 SEVERE [localhost-startStop-2] > org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks > The web application [guacamole] created a ThreadLocal with key of type > [com.google.inject.internal.InjectorImpl$1] (value > [com.google.inject.internal.InjectorImpl$1@99114b7]) and a value of type > [java.lang.Object[]] (value [[Ljava.lang.Object;@755ea06d]) but failed to > remove it when the web application was stopped. Threads are going to be > renewed over time to try and avoid a probable memory leak. > 12-Apr-2018 10:01:21.308 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler > ["http-nio-8080"] > 12-Apr-2018 10:01:21.310 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler > ["ajp-nio-8009"] > 12-Apr-2018 10:01:21.407 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler > ["http-nio-8080"] > 12-Apr-2018 10:01:21.408 INFO [Thread-5] > org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler > ["ajp-nio-8009"] > 12-Apr-2018 10:01:43.153 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache > Tomcat/8.0.20 > 12-Apr-2018 10:01:43.155 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server built: Feb 15 > 2015 18:10:42 UTC > 12-Apr-2018 10:01:43.155 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.0.20.0 > 12-Apr-2018 10:01:43.155 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux > 12-Apr-2018 10:01:43.155 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log OS Version: > 4.9.0-6-amd64 > 12-Apr-2018 10:01:43.156 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64 > 12-Apr-2018 10:01:43.156 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Java Home: > /usr/lib/jvm/java-8-openjdk-amd64/jre > 12-Apr-2018 10:01:43.156 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log JVM Version: > 1.8.0_40-internal-b27 > 12-Apr-2018 10:01:43.156 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle > Corporation > 12-Apr-2018 10:01:43.157 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: > /usr/local/tomcat > 12-Apr-2018 10:01:43.157 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: > /usr/local/tomcat > 12-Apr-2018 10:01:43.158 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties > 12-Apr-2018 10:01:43.158 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager > 12-Apr-2018 10:01:43.158 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Djava.endorsed.dirs=/usr/local/tomcat/endorsed > 12-Apr-2018 10:01:43.159 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Dcatalina.base=/usr/local/tomcat > 12-Apr-2018 10:01:43.159 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Dcatalina.home=/usr/local/tomcat > 12-Apr-2018 10:01:43.159 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Command line argument: > -Djava.io.tmpdir=/usr/local/tomcat/temp > 12-Apr-2018 10:01:43.160 INFO [main] > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based > Apache Tomcat Native library which allows optimal performance in production > environments was not found on the java.library.path: > /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib > 12-Apr-2018 10:01:43.249 INFO [main] org.apache.coyote.AbstractProtocol.init > Initializing ProtocolHandler ["http-nio-8080"] > 12-Apr-2018 10:01:43.269 INFO [main] > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared > selector for servlet write/read > 12-Apr-2018 10:01:43.271 INFO [main] org.apache.coyote.AbstractProtocol.init > Initializing ProtocolHandler ["ajp-nio-8009"] > 12-Apr-2018 10:01:43.272 INFO [main] > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared > selector for servlet write/read > 12-Apr-2018 10:01:43.273 INFO [main] > org.apache.catalina.startup.Catalina.load Initialization processed in 263 ms > 12-Apr-2018 10:01:43.296 INFO [main] > org.apache.catalina.core.StandardService.startInternal Starting service > Catalina > 12-Apr-2018 10:01:43.296 INFO [main] > org.apache.catalina.core.StandardEngine.startInternal Starting Servlet > Engine: Apache Tomcat/8.0.20 > 12-Apr-2018 10:01:43.317 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployWAR Deploying web application > archive /usr/local/tomcat/webapps/guacamole.war > 10:01:44.082 [localhost-startStop-1] INFO o.a.g.environment.LocalEnvironment > - GUACAMOLE_HOME is "/root/.guacamole". > 10:01:44.147 [localhost-startStop-1] INFO o.a.g.rest.auth.HashTokenSessionMap > - Sessions will expire after 60 minutes of inactivity. > 10:01:44.263 [localhost-startStop-1] INFO o.a.g.environment.LocalEnvironment > - GUACAMOLE_HOME is "/root/.guacamole". > 12-Apr-2018 10:01:44.463 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.connection.ConnectionDirectory.add(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.464 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.connection.ConnectionDirectory.update(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.484 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.connectiongroup.ConnectionGroupDirectory.add(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.484 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.connectiongroup.ConnectionGroupDirectory.update(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.518 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.sharingprofile.SharingProfileDirectory.add(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.519 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.sharingprofile.SharingProfileDirectory.update(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.525 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.user.UserDirectory.add(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 12-Apr-2018 10:01:44.526 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.auth.jdbc.user.UserDirectory.update(org.apache.guacamole.net.auth.Identifiable) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by > [org.mybatis.guice.transactional.TransactionalMethodInterceptor@9a3c87d]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. > 10:01:44.986 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - > Extension "MySQL Authentication" loaded. > 10:01:44.987 [localhost-startStop-1] INFO o.a.g.environment.LocalEnvironment > - GUACAMOLE_HOME is "/root/.guacamole". > 10:01:45.054 [localhost-startStop-1] INFO o.a.g.t.w.WebSocketTunnelModule - > Loading JSR-356 WebSocket support... > 12-Apr-2018 10:01:45.116 WARNING [localhost-startStop-1] null.null Method > [public void > org.apache.guacamole.rest.user.UserResource.updateObject(java.lang.Object) > throws org.apache.guacamole.GuacamoleException] is synthetic and is being > intercepted by [org.apache.guacamole.rest.RESTExceptionWrapper@24c3a1db]. > This could indicate a bug. The method may be intercepted twice, or may not be > intercepted at all. -- This message was sent by Atlassian JIRA (v7.6.3#76005)