Skip to main content

IX90085: BAD_TYPECODE EXCEPTION WHEN READING META REPLY FOR A CLASS WITH SERIALIZABLE FIELD


Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: When a class with a field serializable is
    marshaled between client and server having different versions of
    the class, a BAD_TYPECODE exception is thrown while reading the
    meta reply.
    When a class with a field serializable is marshalled between
    client and server having different versions of the class in a
    colocated scenario(multiple classloaders), a BAD_TYPECODE
    exception is thrown while reading the meta reply
    .
    Stack Trace: StackTrace 1
    -------------
    org.omg.CORBA.BAD_TYPECODE: kind of input stream is invalid
    vmcid: IBM  minor code: 28B  completed: No
     at
    com.ibm.rmi.corba.TypeCodeImpl.readTypeCode(TypeCodeImpl.java:15
    68)
     at
    com.ibm.rmi.iiop.CDRReader.fast_readAnyOpt(CDRReader.java:1062)
     at
    com.ibm.rmi.io.IIOPInputStream.readAny(IIOPInputStream.java:2259
    )
     at
    com.ibm.rmi.io.IIOPInputStream.readObjectField(IIOPInputStream.j
    ava:2224)
     at
    com.ibm.rmi.io.IIOPInputStream.inputClassFields(IIOPInputStream.
    java:1994)
     at
    com.ibm.rmi.io.IIOPInputStream.continueSimpleReadObject(IIOPInpu
    tStream.java:558)
     at
    com.ibm.rmi.io.IIOPInputStream.simpleReadObjectLoop(IIOPInputStr
    eam.java:528)
    ...................
    StackTrace 2
    ------------
    com.ibm.rmi.util.ProxyUtil copyObjects:205 P=213875:O=0:CT
    ORBRas<OSB>default<CSB>  org.omg.CORBA.MARSHAL: Unable to read
    value from underlying bridge : kind of input stream is invalid
    vmcid: IBM  minor code: 896  completed: No
     at com.ibm.rmi.iiop.CDRReader.read_value(CDRReader.java:1593)
     at
    com.ibm.rmi.iiop.ObjectCopierFactory$AbstractArrayCopier.doWork(
    ObjectCopierFactory.java:420)
     at
    com.ibm.rmi.iiop.ObjectCopierFactory$AbstractCopier.waitForCompl
    etion(ObjectCopierFactory.java:151)
     at com.ibm.rmi.util.ProxyUtil.copyObjects(ProxyUtil.java:202)
     at
    com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java
    :605)
     at
    com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:116
    5)
     at $Proxy0.echoObjects(Unknown Source)
     at
    _CollocatedInterface_Stub.echoObjects(_CollocatedInterface_Stub.
    java:879)
     at CollectionObjects.doTest(CollectionObjects.java:54)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:45)
     at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:37)
     at java.lang.reflect.Method.invoke(Method.java:599)
     at
    CollocatedTest$CollocatedClass.client1(CollocatedTest.java:112)
     at CollocatedTest$CollocatedClass.run(CollocatedTest.java:59)
     at
    CollocatedTest$CollocatedClass.runTest(CollocatedTest.java:47)
     at CollocatedTest.main(CollocatedTest.java:33)
    Caused by: org.omg.CORBA.BAD_TYPECODE: kind of input stream is
    invalid  vmcid: IBM  minor code: 28B  completed: No
     at
    com.ibm.rmi.corba.TypeCodeImpl.readTypeCode(TypeCodeImpl.java:15
    70)
     at
    com.ibm.rmi.iiop.CDRReader.fast_readAnyOpt(CDRReader.java:1077)
     at
    com.ibm.rmi.io.IIOPInputStream.readAny(IIOPInputStream.java:2361
    )
     at
    com.ibm.rmi.io.IIOPInputStream.readObjectField(IIOPInputStream.j
    ava:2324)
     at
    com.ibm.rmi.io.IIOPInputStream.inputClassFields(IIOPInputStream.
    java:2089)
     at
    com.ibm.rmi.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStre
    am.java:1723)
     at
    com.ibm.rmi.io.IIOPInputStream.inputObjectFVD(IIOPInputStream.ja
    va:1668)
     at
    com.ibm.rmi.io.IIOPInputStream.readSerializable(IIOPInputStream.
    java:1165)
     at
    com.ibm.rmi.io.IIOPInputStream.simpleReadObjectInternal(IIOPInpu
    tStream.java:442)
     at
    com.ibm.rmi.io.IIOPInputStream.simpleReadObject(IIOPInputStream.
    java:478)
     at
    com.ibm.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:
    210)
     at com.ibm.rmi.iiop.CDRReader.read_value(CDRReader.java:1575)
     ... 16 more
    .
    

Local fix

  • Using passbyref option with single classloader policy will
    workaround the issue - Collocated scenario
    

Problem summary

  • The problem is caused when processing meta for a class
    containing a field of type Serilizable.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR1
    6.0.1 SR2
    .
    The meta processing logic for classes with Serializable field is
    modified to resolve the issue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IX90085

  • Reported component name

    ORB

  • Reported component ID

    620700123

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-04-10

  • Closed date

    2012-04-10

  • Last modified date

    2012-04-10

  • 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

  • R260 PSY

       UP

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Runtimes for Java Technology

ORB


Software version:
260


Reference #:
IX90085


Modified date:
2012-04-10

Translate my page

Content navigation