Identifying an ORB problem

A background of the constituents of the IBM® ORB component.

What the ORB component contains

The ORB component contains the following:
  • Java™ ORB from IBM and rmi-iiop runtime (com.ibm.rmi.*, com.ibm.CORBA.*)
  • RMI-IIOP API (javax.rmi.CORBA.*,org.omg.CORBA.*)
  • IDL to Java implementation (org.omg.* and IBM versions com.ibm.org.omg.*)
  • Transient name server (com.ibm.CosNaming.*, org.omg.CosNaming.*) - tnameserv
  • -iiop and -idl generators (com.ibm.tools.rmi.rmic.*) for the rmic compiler - rmic
  • idlj compiler (com.ibm.idl.*)

What the ORB component does not contain

The ORB component does not contain:
  • RMI-JRMP (also known as Standard RMI)
  • JNDI and its plug-ins

Therefore, if the problem is in java.rmi.* or sun.rmi.* , it is not an ORB problem. Similarly, if the problem is in com.sun.jndi.*, it is not an ORB problem.

Platform dependent problems

If possible, run the test case on more than one platform. All the ORB code is shared. You can nearly always reproduce genuine ORB problems on any platform. If you have a platform-specific problem, it is likely to be in some other component.

JIT problem

JIT bugs are very difficult to find. They might show themselves as ORB problems. When you are debugging or testing an ORB application, it is always safer to switch off the JIT by setting the option -Xint.

Fragmentation

Disable fragmentation when you are debugging the ORB. Although fragmentation does not add complications to the ORB's functioning, a fragmentation bug can be difficult to detect because it will most likely show as a general marshalling problem. The way to disable fragmentation is to set the ORB property com.ibm.CORBA.FragmentSize=0. You must do this on the client side and on the server side.

ORB versions

The ORB component carries a few version properties that you can display by calling the main method of the following classes:
  1. com.ibm.CORBA.iiop.Version (ORB runtime version)
  2. com.ibm.tools.rmic.iiop.Version (for tools; for example, idlj and rmic)
  3. rmic -iiop -version (run the command line for rmic)

Limitation with bidirectional GIOP

Bidirectional GIOP is not supported.



© Copyright IBM Corporation 2005, 2010. All Rights Reserved.
© Copyright Sun Microsystems, Inc. 1997, 2007, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
This information center is powered by Eclipse technology. (http://www.eclipse.org/)