Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE

What is the meaning of the Exception minor codes

What is the meaning of the Exception minor codes

Problem:

  • Product Name: VisiBroker
  • Product Version: All
  • Product Component: Exception

An exception also gives you a minor code, can one conclude anything from this? What is the meaning of the minor codes?

Resolution:

I give you an example how to conclude something from Minor Code 1330446466 on an Unix system. It means "Software caused connection abort". In fact there is no CORBA guidance for all minor codes, so everything concluded is "probably".

You mostly can use the minor code of an exception as followed:

A constant OMGVMCID can be found in the "orb.idl" definition:

In general to get information out of a Minor Code you must do the following:

  1. Convert the decimal minor code to hexadecimal.
  2. XOR the hexadecimal with 4F4D0000 (OMGVMCID).
  3. Convert the hexadecimal result to decimal.

For 0x4F4D0082 this leads to 82-hex or 130.


According to the CORBA specifications, there are standard Minor Codes.

Examples of some CORBA Exception Minor Codes and their explanations:

BAD_PARAM

1 - Failure to register, unregister or lookup value factory

2 - RID already defined in IFR

3 - Name already used in the context in IFR

4 - Target is not a valid container

5 - Name clash in inherited context

6 - Incorrect type for abstract interface

MARSHAL

1 - Unable to locate value factory

NO_IMPLEMENT

1 - Missing local value implementation

2 - Incompatible value implementation version

BAD_INV_ORDER

1 - Dependency exists in IFR preventing destruction of this object

2 - Attempt to destroy indestructible objects in IFR

3 - Operation would deadlock

4 - ORB has shutdown

OBJECT_NOT_EXIST

1 - Attempt to pass an inactivated (unregistered) value as an object reference

Etc ...


For COMM_FAILURE and TRANSIENT exceptions, if the standard numbers do not reveal the meaning, check the minor code against the system-specific error numbers (for example in the "/usr/include/sys/errno.h" header file in Solaris or "msdev\include\winerror.h" header file in Windows).

For example, "errno.h" in Solaris defined the following:

#define ECONNABORTED 130 /* Software caused connection abort */

In fact an ORB is not obliged to implement it like this, but it mostly is used in this way.

Reference:

See Table 3-13 Minor Exception Codes for the standard Minor Codes defined by CORBA 2.3 Specification.

See Appendix (A.5 Exception Codes) for the standard Minor Codes defined by CORBA 3.0 Specification.

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Version history
Revision #:
1 of 1
Last update:
‎2013-02-15 20:06
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.