FYI https://issues.apache.org/jira/browse/SYNCOPE-1536
I am not 100% sure that the above is the cause of your problems, but the current code was to fix anyway. Regards. On 28/01/20 09:44, [email protected] wrote: > Hi, > > I am attaching the thread dump. FYI, this is happening on several machines, > both with Oracle Java and OpenJDK. > > java version "1.8.0_231" > Java(TM) SE Runtime Environment (build 1.8.0_231-b11) > Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode) > > and: > > Openjdk version "1.8.0_222" > OpenJDK Runtime Environment (build 1.8.0_222-b10) > OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) > > Thanks, > Jim > > > > On Tuesday, January 28, 2020, 7:34:16 AM UTC, Francesco Chicchiriccò > <[email protected]> wrote: > > > Hi, > in my experience, such behavior by Tomcat can be investigated by obtaining a > thread dump after running shutdown, e.g. when the process hangs: see > > https://cwiki.apache.org/confluence/display/TOMCAT/HowTo#HowTo-HowdoIobtainathreaddumpofmyrunningwebapp? > > for more details. > > This is definitely an error, all-but-ordinary, situation that shouldn't > happen, I confirm there is no parameter to control such behavior. > > Regards. > > On 27/01/20 20:25, [email protected] <mailto:[email protected]> wrote: > Hi, > > We are seeing a problem where, after Syncope has been deployed to Tomcat, the > Tomcat shutdown.sh no longer seems to be shutting Tomcat down properly, and > we have to resort to using "kill". > > I was looking into this, and it looks like when the shutdown.sh is run, it > DOES cause Tomcat to try to shutdown, and it looks like Tomcat does shutdown > the connections, so after running the shutdown.sh, the 8080 and 8005 ports > are no longer listening, but the Tomcat process is still running!! > > When I look at the end of the catalina.out log file I see these lines: > > 27-Jan-2020 19:12:35.718 WARNING [main] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [syncope-enduser] appears to have started a thread named > [Thread-9] but has failed to stop it. This is very likely to create a memory > leak. Stack trace of thread: > java.lang.Thread.sleep(Native Method) > > org.apache.commons.io.monitor.FileAlterationMonitor.run(FileAlterationMonitor.java:189) > java.lang.Thread.run(Thread.java:748) > 27-Jan-2020 19:12:35.725 INFO [main] org.apache.coyote.AbstractProtocol.stop > Stopping ProtocolHandler ["http-nio-8080"] > 27-Jan-2020 19:12:35.728 INFO [main] org.apache.coyote.AbstractProtocol.stop > Stopping ProtocolHandler ["ajp-nio-8009"] > 27-Jan-2020 19:12:35.731 INFO [main] > org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler > ["http-nio-8080"] > 27-Jan-2020 19:12:35.731 INFO [main] > org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler > ["ajp-nio-8009"] > > From the above, I think that the Syncope apps are somehow preventing Tomcat > from shutting down completely and end up leaving the ports shutdown, but the > process is still running. > > When that happens, and if whoever is working on it doesn't realize it (note: > if they do "netstat -an" the ports seem to stay in wait state for a long > while, then eventually disappear), and they startup Tomcat again, they will > end up having all kinds lof lock problems (which is what caused me to look > into this). > > Anyone seen this before? Also, is there something we need to do to the > Syncope configuration to allow it to allow Tomcat to shutdown properly? > > FYI, we are using: > - Java: openjdk version "1.8.0_222 > - Tomcat: apache-tomcat-9.0.20 -- Francesco Chicchiriccò Tirasa - Open Source Excellence http://www.tirasa.net/ Member at The Apache Software Foundation Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail http://home.apache.org/~ilgrosso/
