Collecting object request broker (ORB) traces for troubleshooting ORB communication problems

Technote (FAQ)
Problem
Detailed instructions for enabling and collecting an ORB trace when troubleshooting ORB communications problems on WebSphere® Application Server V3.5 and V4.0 Advanced Editions.
Cause
Use these detailed instructions for tracing the ORB when troubleshooting communications problems with the administrative server or the default server.
Solution

Instructions for collecting an ORB Comm Trace
  1. Tracing the Administrative Server
    1. Make sure the default server and Administrative Server are not running.

    2. Make a backup copy of admin.config file.

    3. Add the following lines to the admin.config file:
      com.ibm.CORBA.Debug=true
      com.ibm.CORBA.CommTrace=true
      com.ibm.ejs.sm.adminServer.traceString="ORBRas=all=enabled"
      com.ibm.ejs.sm.adminServer.traceOutput=c\:/tracedirectory/adminserver.trace (on Unix® the directory path would be similar to /opt/tracedirectory or /usr/tracedirectory)

    4. Start the Administrative Server.

    5. Resulting trace file => c:\tracedirectory\adminserver.trace

  2. Tracing the Default Server

    1. Make sure the Administrative Server is running and access the administrative console.

    2. Type the following in the Command line arguments field of the Default Server:
      -Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.CommTrace=true

    3. Click Apply and wait for the completion message.

    4. Type the following in the Trace specification field on the Advanced tab of the Default Server:
      ORBRas=all=enabled

    5. Type the following in the Trace output file field on the Advanced tab for the Default Server:
      <Your desired output location>
      For example, C:\tracedirectory\dftserver.trace

    6. Click Apply and wait for the completion message.

    7. Right-click on the default server, then select Stop if the default server has been started.

    8. Right-click on the default server and select Start.

    9. Resulting trace file ==> C:\tracedirectory\dftserver.trace

  3. Tracing the administrative client (Console) on Windows® platforms.

    1. Go to WebSphere/AppServer/bin and make a backup copy of adminclient.bat.

    2. Edit the adminclient.bat file as follows:

      1. Change:

        goto NODEBUG
        :DEBUG
        set DEBUGOPTS=-traceString "com.ibm.*=all=enabled"

        to:

        goto NODEBUG
        :DEBUG
        set DEBUGOPTS=-traceString
        "com.ibm.*=all=enabled:ORBRas=all=enabled"


      2. Add the two trace parameters to the following%JAVA_HOME%\bin\java" statement.

        -Dcom.ibm.CORBA.Debug=true
        -Dcom.ibm.CORBA.CommTrace=true

        The statement should be in one continuous line. Add "%DEBUGOPTS%" to the statement also if it does not already exist.

        if "%DEBUGOPTS%"=="" goto START
        %JAVA_HOME%\bin\java -Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.CommTrace=true -Xminf0.15 -Xmaxf0.25 -classpath %WAS_CP% %CLIENTSAS% -Dcom.ibm.CORBA.principalName=%COMPUTERNAME%/AdminClient -Dserver.root=%WAS_HOME% com.ibm.ejs.sm.client.ui.EJSConsole %DEST% %DESTPORT% %DEBUGOPTS% %QUALIFYNAMES%
        goto END

    3. After the administrative server has been started, use the statement adminclient debug > adminclientttrace from WebSphere/AppServer/bin subdirectory.

    4. The resulting trace file is adminclienttrace.

  4. Tracing the administrative client (Console) on Unix® platforms.

    1. CD to WebSphere/AppServer/bin subdirectory and make a backup copy of adminclient.sh.

    2. Edit the adminclient.sh as follows:

      1. Change:

        elif [ "$1" = "debug"]
        then
        DEBUGOPTS='-traceString "com.ibm.*=all=enabled" '

        to:

        elif [ "$1" = "debug"]
        then
        DEBUGOPTS='-traceString
        "com.ibm.*=all=enabled:ORBRas=all=enabled" '


      2. Add the three trace parameters to the "$JAVA_HOME/bin/java" statement. If "$DEBUGOPTS" is already in the statement, there is no need to add it again.
        -Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.CommTrace=true $DEBUGOPTS

    3. After the administrative server has been started, use the statement adminclient.sh debug > adminclienttrace from WebSphere/AppServer/bin subdirectory.

    4. The resulting trace file is adminclienttrace (in the bin directory).

      Note: The trace writes to the file adminclient_audit_messages.log file, in the logs directory, if the following line is in the adminclient.sh file: $binDir/../logs/adminclient_audit_messages.log.

  5. Tracing Java Client Programs.

    1. Add the following code to the client process:

      import com.ibm.ejs.ras.*;
      try {
      ComponentManager cm = Tr.getComponentManager();
      cm.processTraceString("ORBRas=all=enabled");
      // add the following line to pipe the output to stdout
      Tr.addTraceEventListener(new TraceLogger());
      // or add the following to pipe the output to a file java.io.FileOutputStream fos = new
      java.io.FileOutputStream(fileName);
      Tr.addTraceEventListener(new TraceLogger(fos));
      } catch(Exception ex) {}

    2. Specify these two properties/options after java in the command:

      -Dcom.ibm.CORBA.Debug=true
      -Dcom.ibm.CORBA.CommTrace=true

    3. Send the resulting file ==> fileName from above to IBM support.











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Object Request Broker (ORB)
Operating system(s): Multi-Platform
Software version: 3.5, 4.0
Software edition: Advanced
Reference #: 1053156
IBM Group: Software Group
Modified date: 2004-04-16