BEA Logo BEA WebLogic Server Release 5.0

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

Creating a thread dump

Contents
Creating a thread dump in Windows NT
Creating a thread dump in UNIX

To help diagnose problems with WebLogic Server, technical support may ask you to send them a "thread dump." This page contains instructions for creating a thread dump.

To create a thread dump, you must run WebLogic Server with a Java Software Development Kit (JDK)What's a JDK?. You cannot create a thread if you are running WebLogic Server in a Java Runtime Environment (JRE)What's a JRE?;

Creating a thread dump in Windows NT

  1. Run the WebLogic Server with the just-in-time (JIT) compilerWhat's a JIT? disabled by adding -nojit to the command line, for example:
     $ java -nojit ...

  2. In the Command Prompt window where the WebLogic Server is running, open the properties dialog box by right clicking on the title bar and selecting "Properties".

  3. Select the Layout tab.

  4. Under Screen Buffer Size, set the Height to 2000, as shown below: Command prompt
  5. Click on OK.

  6. Press Ctrl-Break. This will output the thread dump to the command window.

  7. Scroll back in the command window until you reach the beginning of the dump, which will contain the words "Full thread dump:" Select all the text from that point forward, for example,

Full thread dump:
  "ListenThread" (TID:0xf89110, sys_thread_t:0x96ae90, 
    Win32ID:0x14a, state:R) prio=5
    java.net.PlainSocketImpl.accept(PlainSocketImpl.java:387)
    java.net.ServerSocket.implAccept(ServerSocket.java:206)
    java.net.ServerSocket.accept(ServerSocket.java:189)
    weblogic.common.internal.ServerSocketWrapper.accept
      (ServerSocketWrapper.java:34)
    weblogic.t3.srvr.ListenThread.run(ListenThread.java:275)
  "examples_ejb_containerManaged_server_AccountBean-PrepareThread"
  (TID:0xfa26b0,sys_thread_t:0x9693ex148, state:CW) prio=5
  ...
  1. Copy the selected text to the clipboard.

  2. Paste the selection into a text file.

  3. Email this file to technical support.

Creating a thread dump in UNIX

To capture a thread dump on a UNIX computer, you can either copy the thread dump from your shell window or redirect the standard out (stdout) of the java command to a file.

When you send a SIGQUIT signal to the java process, a thread dump is sent to the stdout. If you run WebLogic Server from an init script at boot time, you cannot get a thread dump. Programs executed from init scripts run with nohup and are immune to the SIGQUIT signal. You must start WebLogic Server without nohup if you want to get a thread dump.

  1. Run WebLogic Server with the just-in-time (JIT) compilerWhat's a JIT? disabled. This allows the JVM to add line numbers to the thread dump.

    If you are using Solaris, set the JAVA_COMPILER environment variable to "NONE" before you execute the command to start WebLogic Server:

     $ setenv JAVA_COMPILER NONE

    For other platforms, consult the JVMWhat's a JVM? documentation for the correct procedure.

  2. In a second shell, find the java process ID using the ps command.

  3. Send the java process a SIGQUIT signal:
      $ kill -3 pid

    where pid is the java process ID. This sends the thread dump to stdout.

  4. If you redirected stdout to a file, email that file to WebLogic support.

    Otherwise, scroll back to the beginning of the thread dump, select, copy, and paste the thread dump to a file, and then email that file to WebLogic support.

 

Copyright © 2000 BEA Systems, Inc. All rights reserved.
Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.
Last updated 7/26/1999