IBM Support

IX90047: MARSHAL EXCEPTION WHEN USING CUSTOM STREAMS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Colocated invocations of EJB methods failed with
    MARSHAL exception when the parameters were custom marshalled
    using custom streams extending from java.io.ObjectStreams
    Caused by: org.omg.CORBA.MARSHAL: No available data: Read beyond
    end of input stream  vmcid: OMG  minor code: 8 completed: Maybe
     at
    com.ibm.rmi.iiop.CDRInputStream.alignAndCheck(CDRInputStream.jav
    a:829)
    .
    Stack Trace: java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:79)
     at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:618)
     at
    com.ibm.rmi.io.IIOPInputStream.invokeObjectReader(IIOPInputStrea
    m.java:1700)
     at
    com.ibm.rmi.io.IIOPInputStream.inputObjectUsingClassDesc(IIOPInp
    utStream.java:1436)
     at
    com.ibm.rmi.io.IIOPInputStream.inputObjectClassDesc(IIOPInputStr
    eam.java:1411)
     at
    com.ibm.rmi.io.IIOPInputStream.readSerializable(IIOPInputStream.
    java:1140)
     at
    com.ibm.rmi.io.IIOPInputStream.simpleReadObjectInternal(IIOPInpu
    tStream.java:409)
     at
    com.ibm.rmi.io.IIOPInputStream.simpleReadObject(IIOPInputStream.
    java:445)
     at
    com.ibm.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:
    209)
     at
    com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:1
    662)
     at com.ibm.rmi.util.ProxyUtil.copyObject(ProxyUtil.java:459)
     at
    com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java
    :763)
     at
    com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:116
    0)
     at $Proxy8.getWeitereVersicherungsnehmer(Unknown Source)
     at com.a.b._Test_stub.remoteMethod(_Test_Stub.java:715)
     ..
    Caused by: java.io.OptionalDataException
     at
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
    Method)
     at
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeCons
    tructorAccessorImpl.java:67)
     at
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delega
    tingConstructorAccessorImpl.java:45)
     at
    java.lang.reflect.Constructor.newInstance(Constructor.java:522)
     at
    com.ibm.rmi.io.IIOPInputStream$3.run(IIOPInputStream.java:2510)
     at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:246)
     at
    com.ibm.rmi.io.IIOPInputStream.getOptionalDataException(IIOPInpu
    tStream.java:2505)
     at
    com.ibm.rmi.io.IIOPInputStream.readObjectDelegate(IIOPInputStrea
    m.java:377)
     at
    com.ibm.rmi.io.IIOPInputStream.readObjectOverride(IIOPInputStrea
    m.java:618)
     at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:359)
     at java.util.ArrayList.readObject(ArrayList.java:617)
     ... 37 more
    Caused by: org.omg.CORBA.MARSHAL: No available data: Read beyond
    end of input stream  vmcid: OMG  minor code: 8 completed: Maybe
     at
    com.ibm.rmi.iiop.CDRInputStream.alignAndCheck(CDRInputStream.jav
    a:829)
     at
    com.ibm.rmi.iiop.CDRInputStream.read_long(CDRInputStream.java:10
    15)
     at
    com.ibm.rmi.iiop.CDRInputStream.readBytesForString(CDRInputStrea
    m.java:1066)
     at
    com.ibm.rmi.iiop.CDRInputStream.readStringOrIndirection(CDRInput
    Stream.java:1150)
     at
    com.ibm.rmi.iiop.CDRInputStream.read_string(CDRInputStream.java:
    1162)
     at com.ibm.rmi.IOR.read(IOR.java:335)
     at
    com.ibm.rmi.iiop.CDRInputStream.read_Object(CDRInputStream.java:
    1347)
     at
    com.ibm.rmi.iiop.CDRInputStream.fast_read_abstract_interface(CDR
    InputStream.java:1960)
     at
    com.ibm.rmi.iiop.CDRInputStream.fast_read_abstract_interface(CDR
    InputStream.java:1948)
     at
    com.ibm.rmi.io.IIOPInputStream.readObjectDelegate(IIOPInputStrea
    m.java:352)
     ... 40 more
    .
    

Local fix

  • force invocations to go over the wire by deploying ejbs with
    rmic -nolocalstubs option
    

Problem summary

  • For colocated invocations, the custom stream format used is 1
    which does not support enclosures.The bug was in the resetting
    these enclosures for custom streams as the customer's.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR12
    6.0.0 SR6
    .
    ORB has been fixed for handling this bug in custom data
    marshalling with stream format 1.
    .
    To obtain the fix:
    Install build 20100431 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IX90047

  • Reported component name

    ORB

  • Reported component ID

    620700123

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-02-11

  • Closed date

    2010-04-30

  • Last modified date

    2010-04-30

  • APAR is sysrouted FROM one or more of the following:

    IZ69867

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    ORB

  • Fixed component ID

    620700123

Applicable component levels

  • R600 PSN

       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 2010