Bug#922750: tomcat8: Initscript starts but reports failure
Christopher Odenbach
odenbach at uni-paderborn.de
Wed Feb 20 10:03:40 GMT 2019
Package: tomcat8
Version: 8.5.14-1+deb9u3
Severity: normal
Tags: patch
Dear Maintainer,
we run tomcat8 on a couple of hosts. Quite often we experience a failed
systemd service while tomcat is actually running, usually after a
reboot.
In detail this looks as follows:
root at kama[~]# systemctl status tomcat8.service
● tomcat8.service - LSB: Start Tomcat.
Loaded: loaded (/etc/init.d/tomcat8; generated; vendor preset:
enabled)
Active: failed (Result: exit-code) since Tue 2019-02-19 17:22:35
CET; 17h ago
Docs: man:systemd-sysv-generator(8)
Process: 606 ExecStart=/etc/init.d/tomcat8 start
(code=exited, status=1/FAILURE)
Tasks: 358 (limit: 4915)
CGroup: /system.slice/tomcat8.service
└─726 /usr/lib/jvm/default-java/bin/java
-Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.awt.headless=true
-XX:+UseConcMarkSweepGC
-Djava.security.egd=file:/dev/./urandom
-XX:MaxPermSize=512m -Xms1024m -Xmx2048m
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.port=1098
-Dcom.sun.management.jmxremote.password.file=/etc/tomcat8/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=/etc/tomcat8/jmxremote.access
-Djsse.enableSNIExtension=false
-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
-classpath
/usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar
-Dcatalina.base=/var/lib/tomcat8
-Dcatalina.home=/usr/share/tomcat8
-Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
org.apache.catalina.startup.Bootstrap
start
Feb 19 17:22:30 kama systemd[1]: Starting LSB: Start Tomcat....
Feb 19 17:22:35 kama tomcat8[606]: Starting Tomcat servlet engine: tomcat8
failed!
Feb 19 17:22:35 kama systemd[1]: tomcat8.service: Control process exited,
code=exited status=1
Feb 19 17:22:35 kama systemd[1]: Failed to start LSB: Start Tomcat..
Feb 19 17:22:35 kama systemd[1]: tomcat8.service: Unit entered failed
state.
Feb 19 17:22:35 kama systemd[1]: tomcat8.service: Failed with result
'exit-code'.
As you can see it takes exactly 5 seconds between starting tomcat and
deciding that it failed to start. This correlates to the "sleep 5"
command in the start script. Simply changing this to 10 seconds makes
the script succeed.
As Debian Buster does not use this start script any more this patch only
applies to stretch and older releases (same problem on jessie and even
wheezy, with tomcat6 or 7 there).
Thanks,
Christopher
-- System Information:
Debian Release: 9.8
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages tomcat8 depends on:
ii adduser 3.115
ii debconf [debconf-2.0] 1.5.61
ii lsb-base 9.20161125
ii tomcat8-common 8.5.14-1+deb9u3
ii ucf 3.0036
Versions of packages tomcat8 recommends:
pn authbind <none>
pn libtcnative-1 <none>
Versions of packages tomcat8 suggests:
ii tomcat8-admin 8.5.14-1+deb9u3
pn tomcat8-docs <none>
pn tomcat8-examples <none>
pn tomcat8-user <none>
-- debconf information excluded
-------------- next part --------------
--- tomcat8.ORIG 2019-02-20 10:43:43.673084352 +0100
+++ tomcat8 2019-02-20 10:43:51.553090214 +0100
@@ -218,7 +218,7 @@
chown -h $TOMCAT8_USER "$JVM_TMP"
catalina_sh start $SECURITY
- sleep 5
+ sleep 10
if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT8_USER --exec "$JAVA_HOME/bin/java" \
>/dev/null; then
More information about the pkg-java-maintainers
mailing list