IV04709: UNRESOLVED RECURSIVE TYPE CODE(CORBA BAD_TYPECODE EXCEPTION)
Closed as program error.
Error Message: Occassioanlly, the customer is seeing org.omg.CORBA.BAD_TYPECODE: Invoked operation on unresolved recursive type code! (1) vmcid: IBM minor code: 283 completed: No being logged into Error logs. . Stack Trace: Exception Trace: Trace from server: 1394880515 at host abc.def.in.com >> org.omg.CORBA.BAD_TYPECODE: Invoked operation on unresolved recursive type code! (1) vmcid: IBM minor code: 283 completed: No at com.ibm.rmi.corba.TypeCodeImpl.indirectType(TypeCodeImpl.java(In lined Compiled Code)) at com.ibm.rmi.corba.TypeCodeImpl.writeValueOpt(TypeCodeImpl.java(C ompiled Code)) at com.ibm.rmi.corba.TypeCodeImpl.write_value(TypeCodeImpl.java(Inl ined Compiled Code)) at com.ibm.rmi.corba.TypeCodeImpl.writeValueOpt(TypeCodeImpl.java(C ompiled Code)) ...... .
The CORBA BAD_TYPECODE exception, is thrown when the specified typecode is invalid. The issue seen by the customer is because of, the application code is invoking operations on the recursive TypeCode before it has been embedded in the enclosing TypeCode, and hence it results in a BAD_TYPECODE exception.
This defect will be fixed in: 5.0.0 SR13 . In Java 142: The issue can be resolved by Synchronizing the getTypeCode Method, which will in turn ensure that the get() call on HashMap is Synchronized. In Java 50 & Java 60: We have ported the fix from the 626 line where conconcurrenthashmap is used to store the typecode which has synchronised get and put. As there is no concurrenthashmap in 142, we have used a simple hashmap and synchronised get and put calls. . To obtain the fix: Install build 20110815 or later
Please see APAR IV13379 for a complete fix to this issue.
Reported component name
JAVA 5 ORB
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
JAVA 5 ORB
Fixed component ID
Applicable component levels