Capture Thread Dumps for Java Processes

Problem

For issues where workflow executions appear to be “hung” or “stuck” with statuses not being updated, it is helpful to the support team to receive thread dumps from the java processes used by FlexDeploy. These instructions provide details to collect the thread dumps for the FlexDeploy server JVM and the JVM which executes a plugin operation on an endpoint.

Solution

To generate the thread dump for the FlexDeploy server, you must first locate the process id (PID) of the underlying JVM.

1 ps -ef |grep flexdeploy

Now run the following command to signal the thread dump. Run 3 times 10 seconds apart, changing # to 1,2,3 with each iteration.

1 jstack -l <pid> > /var/tmp/threaddump_server_#.txt

To generate the thread dump for an endpoint, similarly you must locate the PID for the JVM running the plugin operation.

1 ps -ef |grep ExternalPluginServer

Signal the thread dump. Run 3 times 10 seconds apart, changing # to 1,2,3 with each iteration.

1 jstack -l <pid> > /var/tmp/threaddump_endpoint_#.txt

Zip the .txt dump files and attach to the support ticket.