Trying to generate a thread dump for Camunda java process running in Camunda docker

Hi All -

I need to generate a thread dump for Camunda java process but it’s not working for some reason.
So, my set up is simple -

  1. Camunda standard docker image - Docker
  2. Go inside the container using -
docker exec -it 04b990452636 bash
  1. find camunda java process -
bash-5.1$ ps aux | grep java
    7 camunda   1:43 /usr/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=/camunda/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -javaagent:/camunda/javaagent/jmx_prometheus_javaagent.jar=9404:/camunda/javaagent/prometheus-jmx.yml -Dignore.endorsed.dirs= -classpath /camunda/bin/bootstrap.jar:/camunda/bin/tomcat-juli.jar -Dcatalina.base=/camunda -Dcatalina.home=/camunda -Djava.io.tmpdir=/camunda/temp org.apache.catalina.startup.Bootstrap start
  1. Try to use kill -3 on camunda pid (7) -
kill -3 7

It doesn’t say anything and doesn’t print to stdout, so, I was hoping it would be in Catalina out log file but nothing in there either …

I would rather use “jstack” instead of kill -3 but jstack in Camunda docker container is not available, there is a stripped out version of OpenJDK that contains just most essential bits and there is a symbolic link to jstack in /usr/bin but it’s broken as it references to OpenJDK and it’s not there simply …

Thanks!