IBM Support

PH18939: WEBSPHERE APPLICATION CLASSLOADER PROVIDE WRONG BYTE CODE TO THE JPA FRAMEWORK, WHICH CAUSE A ARRAYINDEXOUTOFBOUNDSEXCEPTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The WebSphere Application Classloader provide wrong byte code to
    the JPA framework, which may cause the following kind of
    exceptions:
    
    
    [10/15/19 17:34:02:432 ICT] 00000001 ContainerHelp E  WSVR0501E:
    Error creating component
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl@2c679ad6
    com.ibm.ws.exception.RuntimeWarning:
    com.ibm.ws.exception.RuntimeError:
    com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException:
    java.lang.ArrayIndexOutOfBoundsException
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCUList(
    CompositionUnitMgrImpl.java:1303)
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(Compos
    itionUnitMgrImpl.java:275)
    ...
    Caused by: java.lang.ArrayIndexOutOfBoundsException
    at
    serp.bytecode.lowlevel.ConstantPoolTable.parse(ConstantPoolTable
    .java:53)
    at
    serp.bytecode.lowlevel.ConstantPoolTable.<init>(ConstantPoolTabl
    e.java:23)
    at
    org.apache.openjpa.enhance.PCClassFileTransformer.isEnhanced(PCC
    lassFileTransformer.java:231)
    at
    org.apache.openjpa.enhance.PCClassFileTransformer.needsEnhance(P
    CClassFileTransformer.java:202)
    at
    org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCC
    lassFileTransformer.java:141)
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Bytes fetched from the shared class     *
    *                      cache cause failures during JPA         *
    *                      transformation                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a class is found in the Java shared class cache, the
    bytes fetched from the cache are not the actual class
    bytecode, but rather a pointer to the class' location in the
    cache. The JPA transformer is only equipped to handle class
    bytecode, so when these bytes are passed to it, it fails (even
    if the class is only being evaluated for transformation rather
    than actually transformed), which also causes the failure of
    the loadClass operation that was in progress.
    

Problem conclusion

  • When defining a class, the class loader will no longer submit
    classes found in the Java shared class cache to internal class
    transformers. This is consistent with the existing behavior in
    which transformed classes are not stored in the cache.
    
    The fix for this APAR is targeted for inclusion in fix pack
    9.0.5.3. For more information, see 'Recommended Updates for
    WebSphere Application Server':
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

  • Clearing the shared class cache using the
    clearClassCache.sh/bat script will resolve the issue for the
    next server restart. The issue can also be resolved by adding
    "-Xshareclasses:none" to the server's generic JVM arguments to
    disable the shared class cache globally.
    

Comments

APAR Information

  • APAR number

    PH18939

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-11-07

  • Closed date

    2020-01-20

  • Last modified date

    2020-01-20

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
01 November 2021