IBM Support

IV88564: JAVA.LANG.STACKOVERFLOWERROR FROM JAVA.IO.OBJECTINPUTSTREAM.RESO LVECLASS AFTER APPLYING IV86965

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: java.lang.StackOverflowError
        at
    java.io.ObjectOutputStream$HandleTable.hash(ObjectOutputStream.j
    ava:2446)
        at
    java.io.ObjectOutputStream$HandleTable.access$000(ObjectOutputSt
    ream.java:2328)
        at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
    1140)
        at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:3
    68)
        at
    org.apache.commons.lang.SerializationUtils.serialize(Serializati
    onUtils.java:109)
        at
    org.apache.commons.lang.SerializationUtils.serialize(Serializati
    onUtils.java:134)
        at
    org.apache.commons.lang.SerializationUtils.clone(SerializationUt
    ils.java:81)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:366)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:362)
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:404
    )
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:311
    )
        at
    java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:268)
        at java.lang.Thread.initialize(Thread.java:326)
        at java.lang.Thread.<init>(Thread.java:297)
        at java.lang.Thread.<init>(Thread.java:205)
        at java.io.ClassCache$Reaper.<init>(ClassCache.java:208)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:199)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:188)
        at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:594)
        at java.io.ClassCache.<init>(ClassCache.java:54)
        at
    java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:77
    8)
        at
    java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.jav
    a:1783)
        at
    java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1
    684)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1964)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:151
    5)
        at
    java.io.ObjectInputStream.readObjectImpl(ObjectInputStream.java:
    490)
        at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:425)
        at
    org.apache.commons.lang.SerializationUtils.deserialize(Serializa
    tionUtils.java:163)
        at
    org.apache.commons.lang.SerializationUtils.deserialize(Serializa
    tionUtils.java:193)
        at
    org.apache.commons.lang.SerializationUtils.clone(SerializationUt
    ils.java:81)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:366)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:362)
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:404
    )
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:311
    )
        at
    java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:268)
        at java.lang.Thread.initialize(Thread.java:326)
        at java.lang.Thread.<init>(Thread.java:297)
        at java.lang.Thread.<init>(Thread.java:205)
        at java.io.ClassCache$Reaper.<init>(ClassCache.java:208)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:199)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:188)
        at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:594)
    .
    .
        at java.io.ClassCache.<init>(ClassCache.java:54)
        at
    java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:77
    8)
        at
    java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.jav
    a:1783)
        at
    java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1
    684)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1964)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:151
    5)
        at
    java.io.ObjectInputStream.readObjectImpl(ObjectInputStream.java:
    490)
        at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:425)
        at
    org.apache.commons.lang.SerializationUtils.deserialize(Serializa
    tionUtils.java:163)
        at
    org.apache.commons.lang.SerializationUtils.deserialize(Serializa
    tionUtils.java:193)
        at
    org.apache.commons.lang.SerializationUtils.clone(SerializationUt
    ils.java:81)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:366)
        at
    org.apache.spark.SparkContext$$anon$2.childValue(SparkContext.sc
    ala:362)
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:404
    )
        at
    java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:311
    )
        at
    java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:268)
        at java.lang.Thread.initialize(Thread.java:326)
        at java.lang.Thread.<init>(Thread.java:297)
        at java.lang.Thread.<init>(Thread.java:205)
        at java.io.ClassCache$Reaper.<init>(ClassCache.java:208)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:199)
        at
    java.io.ClassCache$CreateReaperAction.run(ClassCache.java:188)
        at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:594)
        at java.io.ClassCache.<init>(ClassCache.java:54)
        at
    java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:77
    8)
        at
    java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.jav
    a:1783)
        at
    java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1
    684)
        at
    java.io.ObjectInputStream.readArray(ObjectInputStream.java:1835)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:150
    9)
        at
    java.io.ObjectInputStream.readObjectImpl(ObjectInputStream.java:
    490)
        at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:425)
        at
    org.apache.spark.MapOutputTracker$$anonfun$deserializeMapStatuse
    s$2.apply(MapOutputTracker.scala:515)
    .
    The issue is more prominent with Spark work load which uses
    org.apache.commons.lang package
    

Local fix

  • N/A
    

Problem summary

  • The ClassCache was instantiated while resolving the first class
    from java.io.ObjectInputStream. The creation of the class cache
    required to resolve the class which result in the recursive
    call.
    

Problem conclusion

  • The JDK has been updated to skip creating the class cache again
    and use the non-cache way of the class lookup when the class
    cache initialization is in progress.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR3 FP11  (8.0.3.11)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

  • Disable class cache using the property
    -Dcom.ibm.enableClassCaching=false
    

Comments

APAR Information

  • APAR number

    IV88564

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-23

  • Closed date

    2016-08-23

  • Last modified date

    2016-08-23

  • 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

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
21 February 2022