A fix is available
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