IBM BPM, V8.0.1, All platforms > Troubleshooting and support > Recovering from a failure > Recovery troubleshooting tips
Capturing javacore
There are a number of methods that you can use to capture a javacore from an IBM JDK and thread dumps for non-IBM JDKs.
Capturing javacore
A javacore dump, or a thread dump as it is also called, is one of the primary problem determination documents that an application server creates.
- Use wsadmin to produce a javacore in the Profile directory:
- For Windows:
<PROFILE_DIR>\bin\wsadmin.bat [-host host_name] [-port port_number] [-user userid -password password] -c "$AdminControl invoke [$AdminControl queryNames WebSphere:name=JVM,process=server1,*] dumpThreads"- For UNIX (IBM JDKs):
<PROFILE_DIR>>/bin/wsadmin.sh[-host host_name] [-port port_number] [-user userid -password password] -c "\$AdminControl invoke [\$AdminControl queryNames WebSphere:name=JVM,process=server1,*] dumpThreads"The braces, [] around the AdminControl queryNames command are part of the command, and not used to signify optional parameters as is the case for braces around host, port and user. The process name: server1 may need to be change to fit your configuration.
- A signal can be sent to the server process:
- Windows:
A launch script must be used to start the server process to allow the signal to be passed to the process. This does require special setup before starting the server.
- <PROFILE_DIR>\bin\startServer.bat server1 –script SERVER1.bat
- b. SERVER1.bat
The server process will start in a command window.
You will need to check the logs to verify that the server has successfully started since the intermediate JVM process which usually starts the server process is not used.
- <CTRL><BREAK>
Issue a <CTRL><BREAK> into the command window where the server process is running. A javacore will be produced.
- UNIX (all JDKs): kill -3 <pid>
Where <pid> is the process id of the WebSphere Process Server. For IBM JDKs a javacore will be produced in the <PROFILE_DIR>directory.
For non-IBM JDKs, a thread dump will be written to the native_stdout.log.
- An alternative method to dumping a windows core file is to use jvmdump.
This does not require special setup before starting the server. However, it does require a special executable file from the JVM team. The jvmdump.exe program can be requested by sending a note to jvmcookbook@uk.ibm.com. The advantage of this method is additional information can be obtained about native code being executed within JVM. The format of the dump differs from the IBM javacores.
- jvmdump.exe <PID>
- <WAS_HOME>>\java\jre\bin\jextract.exe <core.name.dmp>
- <WAS_HOME>\java\jre\bin\jdumpview.exe
- set dump <core.name.dmp>.zip
- display thread
Displays the current executing thread at the time of the dump
- c. display thread *
Display all of the threads from the dump.
For more details about the jdumpview utility consult the
Diagnostics Guide for the IBM Developer Kit and Runtime Environment, Java™ Technology Edition, Version 5.0.
Related information: