Using the BPM Logs for Troubleshooting

General Troubleshooting Issues

If you are troubleshooting general issues, you can search the log file for particular attributes. You can search the file for key attributes.

  • principalName - name of the user involved (or user who started the process instance).
  • threadId / threadName - identifies the thread that generated the log line. It useful for correlating lines that come from the same thread, as the log contains lines from multiple threads.
  • message - The message being logged.
  • managedObjectId / managedObjectName - identifies what object the log entry relates to.
  • parentObjectId - identifies the parent object (if applicable).
  • messageId - The ID for the message type.

For details of the attributes that apply to WARN, ERROR or FATAL events, see "List of Messages" in the TIBCO ActiveMatrix BPM Administration guide.

Process Manager Issues

If you are troubleshooting for issues with the Process Manager, you can search the log file for text that indicates the status or any errors for a particular process instance. You can search for the following text:

  • {BX_INSTANCE_PROCESS_STARTED}
    • Records a process instance being started
  • {BX_INSTANCE_PROCESS_COMPLETED}
    • Records process instance completing
  • {BX_INSTANCE_PROCESS_FAILED}
    • Records a process instance failing
  • [ERROR]
    • Records an error. This is often accompanied by a stack trace which can be helpful in determining the cause of the error. Note the "Caused by:" messages that often follow stack traces which may provide additional information about the cause.
  • [AUDIT]
    • Records an audit event being logged. This includes the process instance events - starting, completion, and failures, and many other events such as task creation and completion.
  • {BX_TRACE}
    • Records a variable being updated. This is useful if you need to see what data is being updated.
  • {BX_ID}
    • This can be a useful source of errors from the Process Manager engine, often including a stack trace of where the error occurred. For a list of the error codes that are generated by the engine, see the TIBCO ActiveMatrix BPM Administration guide.

Search for key attributes such as:

  • applicationActivityName - identifies the task name in the process instance.

Troubleshooting a Crash

If you are troubleshooting a crash, several details may help identify the cause of the crash. For example, the date and time of the crash, any error messages, the user limits and so on.

Check the following details:

  • Date and time of the first and subsequent crashes.
  • Frequency of the crashes.
  • Error messages in the BPMNode, SystemNode log files, and tibcohost log files.
  • Check the user limits set and the available disk space using ulimit -Sa, ulimit -Ha, and df -k.
  • Check if any core files are being generated. On UNIX machines, you can use the command find . -name core to search for any core files being created. To enable core file generation, use:
    • ulimit -c unlimited. On AIX, chdev -l sys0 -a fullcore=’true’
  • java _Xdump:what: Shows the dump options in place.

    To capture a SIGSEGV dump or sigkill, you must set events=gpf. For example: java -Xdump:system[events=gpf]. Similarly, to capture a SIGSEGV or sigkill or SIGQUIT, you must set events=gpf+user.

  • The hs_err_pidxx.log file shows the thread details with some information about the environment.
    • Use -XX:HeapDumpPath to change the path of the dump file.
    • Use -XX:HeapDumpOnOutOfMemoryError to create a file when an OutOfMemory error occurs.
Note: You can set the java options using TIBCO Administrator. To do this:
  1. From TIBCO Administrator, click Infrastructure > Nodes.
  2. Select your BPM node.
  3. Click the Configurationtab.
  4. Click JVM arguments. Amend the values as required.