Skip to main content
Kofax

How to collect a stack trace for a running java program using jstack

Question / Problem:

Sometimes Kofax RPA engineering will request a stack trace of a running process. Usually the Roboserver or Management Console.

This is especially true for the Management Console when the error message is received that the RoboServer is deactivating because it hasn't gotten license information for 24 hours or a license constraint violation has occurred. In these cases the trace for the console is needed at the time the error happens and before the RoboServer is restarted, if it has gone down.

There are other cases when a stack trace is needed, for example Management Console unresponsive.

Answer / Solution:

Use Task Manager for Windows or Top for Linux identify the process ID (PID) of the Kapow / Kofax RPA or Tomcat Java process(s) running. There may be more than one as the Roboserver and console if in separate JVM's will each have there own. If a trace from ManagementConsole and RoboServer is requested, get traces from all java processes.

When Management Console is deployed into Tomcat, the stack trace needs to be run on the Tomcat process!

  1. Download and unpack Java Development Kit (JDK) unless Java is already installed (e.g. if Management Console is deployed into Tomcat, JDK might already be present)
  2. From the JDK bin folder run

    jstack -F <PID>

    More Information on jstack utility:  https://docs.oracle.com/javase/8/doc...ldescr016.html
  3. Save the output to a text file and send it to Kofax Technical Support
  4. Run the same command for all the processes needed (e.g. if there are multiple RoboServers, or Management Console and RoboServer)

 

Applies to: 

Product Version Category
Kofax RPA All Troubleshooting

 

  • Was this article helpful?