APAR status
Closed as program error.
Error description
Error Message: java.rmi.MarshalException: CORBA MARSHAL 0x4942f896 No; nested exception is: org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Unable to read value from underlying bridge : ClassNotFoundException a.b.c.$Proxy29 vmcid: IBM minor code: 896 completed: No . Stack Trace: Caused by: java.lang.ClassNotFoundException: a.b.c.$Proxy29 at com.ibm.rmi.util.RepositoryId.loadClass(RepositoryId.java:676) at com.ibm.rmi.util.RepositoryId.checkClassCache(RepositoryId.java: 645) at com.ibm.rmi.util.RepositoryId.getClassFromType(RepositoryId.java : 634) at com.ibm.rmi.iiop.CDRReader.fast_read_value(CDRReader.java:1699) ... 13 more .
Local fix
Problem summary
Proxy objects are generated with package name prepended from Java 6 SR12 onwards. I.e. com.sun.proxy.$Proxy29 with Java 6 SR12 onwards and $Proxy29 with older release. For Java 6.0.1 its SR 5 For Java 7 its SR 4 For Java 7.0.1 its since GA. This lead to CNFE while serializing proxy objects. Orb code have been modified to fix the issue.
Problem conclusion
This APAR will be fixed in the following Java Releases: 6 SR16 (6.0.16.0) 6 R1 SR8 (6.1.8.0) 7 SR7 (7.0.7.0) 7 R1 SR1 (7.1.1.0) . Whether the class is of type proxy is determined by Proxy.isProxyClass() and while serialization backward compatibility is ensured with JDK generating proxy objects without the package prepended to them. Without this APAR Proxy object serialization will work 1. Between sender and receiver if the proxy object does not have a package name specified. 2. If at sender side the proxy object does not have a package name specified, however it can have the package name specified at the receiver side. It will fail with CNFE for proxy Object, If at sender the proxy object has a package name specified, and not at the receiver. With this APAr Proxy object serialization will work - 1. Between sender and receiver if the proxy object does not have a package name specified. 2. Between sender and receiver if the proxy objects have a package name specified. 3. If at sender, the proxy object does not have a package name specified, however it can have the package name specified at the receiver. It will fail with CNFE for proxy Object, If at sender the proxy object has a package name specified, and not at the receiver. Also this fix needs to be applied on all JVMs (e.g Server, client, Naming Service)
Temporary fix
Comments
APAR Information
APAR number
IX90134
Reported component name
ORB
Reported component ID
620700123
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-01-20
Closed date
2014-01-27
Last modified date
2014-04-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
ORB
Fixed component ID
620700123
Applicable component levels
R600 PSY
UP
R260 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBB","label":"ORB"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
30 April 2014