Fixes are available
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
WebSphere Application Server traditional 9.0.5.6
9.0.5.7: WebSphere Application Server traditional Version 9.0.5 Fix Pack 7
9.0.5.8: WebSphere Application Server traditional Version 9.0.5.8
8.5.5.20: WebSphere Application Server V8.5.5.20
8.5.5.18: WebSphere Application Server V8.5.5 Fix Pack 18
8.5.5.19: WebSphere Application Server V8.5.5 Fix Pack 19
9.0.5.9: WebSphere Application Server traditional Version 9.0.5.9
9.0.5.10: WebSphere Application Server traditional Version 9.0.5.10
8.5.5.16: WebSphere Application Server V8.5.5 Fix Pack 16
8.5.5.21: WebSphere Application Server V8.5.5.21
9.0.5.11: WebSphere Application Server traditional Version 9.0.5.11
APAR status
Closed as program error.
Error description
The log4j-api-2.9.1.jar contains classes under the META-INF directory. These classes cause an exception during application start. com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR unable to open input stream for resource META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil. class in archive WEB-INF/lib/log4j-api-2.9.1.jar java.lang.IllegalArgumentException at org.objectweb.asm.ClassReader.<init>(Unknown Source) at org.objectweb.asm.ClassReader.<init>(Unknown Source) at org.objectweb.asm.ClassReader.<init>(Unknown Source) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(C lassScanner.java:147) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(C lassScanner.java:124) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStream(C lassScanner.java:120) at com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl.sca nJAR(ScannerContextImpl.java:275) at com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl.sca nJARs(ScannerContextImpl.java:315) at com.ibm.ws.ecs.internal.scan.context.impl.WARScannerContext.scan Internal(WARScannerContext.java:76) at com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl.sca n(ScannerContextImpl.java:87) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.doScan(ClassScann er.java:90) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.ensureScan(ClassS canner.java:111) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.getAnnotatedPacka ges(ClassScanner.java:196) at com.ibm.ws.ecs.internal.scan.impl.AnnotationScannerImpl$Annotati onBucket.getPackageAnnotationTargets(AnnotationScannerImpl.java: 359) at com.ibm.ws.ecs.internal.scan.impl.AnnotationScannerImpl.getPacka geAnnotationTargets(AnnotationScannerImpl.java:264) at com.ibm.ws.sip.container.annotation.SipModuleAnnotationProcessor .<init>(SipModuleAnnotationProcessor.java:171)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server with an application containing * * log4j-api-2.9.1.jar. * **************************************************************** * PROBLEM DESCRIPTION: An application containing a JAR file * * with class files under the META-INF * * directory causes * * IllegalArgumentException. * **************************************************************** * RECOMMENDATION: * **************************************************************** The JAR file log4j-api-2.9.1.jar (and later versions of the JAR file)contains classes under the META-INF directory. For example: META- INF\versions\9\org\apache\logging\log4j\util\ProcessIdUtil. class This is new to Java 9. Classes which use Java 9 features are placed under META-INF\versions\9 as a way to provide backward compatibility. Since traditional WebSphere Application Server (V7 thru V9) does not support Java 9, the application server is not aware of this location for classes. The application server assigns the wrong directory as the root of the Java package. In this example, the Java package directory of the class should be: "org\apache\logging\log4j\util", but the application server is using the package directory "META-INF\versions\9\org\apache\logging\log4j\util". When a class under the example directory is scanned for annotations, the declared package name in the class (org.apache.logging.log4j.util) does not match the package directory. This results in an IllegalArgumentException shown in the SystemOut.log file: com.ibm.ws.ecs.internal.scan.context.impl.ScannerContextImpl scanJAR unable to open input stream for resource META- INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil. class in archive WEB-INF/lib/log4j-api-2.9.1.jar java.lang.IllegalArgumentException at org.objectweb.asm.ClassReader.<init>(Unknown Source) at org.objectweb.asm.ClassReader.<init>(Unknown Source) at org.objectweb.asm.ClassReader.<init>(Unknown Source) at com.ibm.ws.ecs.internal.scan.impl.ClassScanner.scanInputStre am(C lassScanner.java:147)
Problem conclusion
The code has been modified so that it ignores classes with invalid package names. See also related APARs PI93744 and PI96826. The fix for this APAR is currently targeted for inclusion in fix pack 8.5.5.14 and 9.0.0.7. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI89708
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-11-01
Closed date
2017-12-14
Last modified date
2018-05-30
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
WEBSPHERE APP S
Fixed component ID
5724J0800
Applicable component levels
R850 PSY
UP
R900 PSY
UP
Document Information
Modified date:
04 May 2022