IBM Support

PI12310: A NullPointerException exception or other unexpected behavior occurs when you use a deserialized object.

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

  • If a class is defined within another class and is not defined as
    static, then there is a reference to the enclosing class from
    the nested class.  When the nested object is serialized, the
    enclosing class is not being serialized. Therefore, during
    deserialization, the reference to the enclosing class is null.
    This behavior can lead to NullPointerException exceptions
    when accessing methods or non-static fields from the enclosing
    class.  The ArrayBlockingQueue is an example of such a class
    that has encountered this problem; for example:
    
    [11/12/13 12:39:35:442 GMT+05:30] 000000ca LogSequenceIm W
    CWOBJ0006W: An exception occurred:
    com.ibm.websphere.objectgrid.ObjectGridRuntimeException:
    java.io.IOException: An exception occurred during java
    serialization - null.  The class was <class_name>
    at
    com.ibm.ws.objectgrid.xdf.XDFSerializerPlugin.throwRuntimeExcept
    ion(XDFSerializerPlugin.java:285)
    at
    com.ibm.ws.objectgrid.xdf.XDFSerializerPlugin.serializeDataObjec
    t(XDFSerializerPlugin.java:264)
    at
    com.ibm.ws.objectgrid.plugins.io.dataobject.values.ValueDataImpl
    .autoSerialize(ValueDataImpl.java:234)
    at
    com.ibm.ws.objectgrid.plugins.io.dataobject.values.ValueDataImpl
    .checkBufferAndSerialize(ValueDataImpl.java:156)
    at
    com.ibm.ws.objectgrid.plugins.io.dataobject.values.ValueDataImpl
    .isIndirectHeapBuffer(ValueDataImpl.java:149)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Applications with enclosing classes         *
    *                  that run with data grids, which have XIO    *
    *                  and COPY_TO_BYTES maps.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: A class type that is defined within     *
    *                      an enclosing object is serialized       *
    *                      but the enclosing object is not being   *
    *                      serialized.                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    If a class is defined within another class and is not defined
    as static, then there is a reference to the enclosing class
    from the nested class.  When the nested object is serialized,
    the enclosing class is not being serialized. Therefore, when
    deserialization occurs, the reference to the enclosing class
    is null. This behavior can lead to NullPointerException
    exceptions when accessing methods or non-static fields from
    the enclosing class.  The ArrayBlockingQueue is an example of
    such a class that has encountered this problem.
    

Problem conclusion

  • A code change to also serialize the enclosing class has been
    made to resolve this problem.  The data in the grid must be
    re-created with an updated client, if this problem is
    encountered.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI12310

  • Reported component name

    WS EXTREME SCAL

  • Reported component ID

    5724X6702

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-02-21

  • Closed date

    2014-03-03

  • Last modified date

    2014-03-03

  • 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

    WS EXTREME SCAL

  • Fixed component ID

    5724X6702

Applicable component levels

  • R860 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSTVLU","label":"WebSphere eXtreme Scale"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"860","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 March 2014