APAR status
Closed as program error.
Error description
Error Message: java -Dos.encoding=ISO8859-2 -version Exception in thread 'main' java/lang/ExceptionInInitializerError at java/lang/J9VMInternals.initialize (J9VMInternals.java:255) at java/nio/ByteBuffer.allocateDirect (ByteBuffer.java:306) at sun/io/CharToByteSingleByte.createCopy (CharToByteSingleByte.java:570 ) at sun/io/CharToByteISO8859_2.<clinit> (CharToByteISO8859_2.java:164) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/Class.forNameImpl (Native Method) at java/lang/Class.forName (Class.java:137) at sun/io/Converters.getConverterClass (Converters.java:288) at sun/io/Converters.newConverter (Converters.java:338) at sun/io/CharToByteConverter.getConverter (CharToByteConverter.java:98) at java/lang/StringCoding.makeEncoder (StringCoding.java:190) at java/lang/StringCoding$EncoderCache$1.run (StringCoding.java:253) at java/security/AccessController.doPrivileged (AccessController.java:25 4) at java/lang/StringCoding$EncoderCache.getEncoder (StringCoding.java:250 ) at java/lang/StringCoding.getEncoder (StringCoding.java:440) at java/lang/StringCoding.encode (StringCoding.java:582) at java/lang/String.getBytes (String.java:686) at com/ibm/oti/util/Util.<clinit> (Util.java:21) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/System.getPropertyList (Native Method) at java/lang/System.ensureProperties (System.java:259) at java/lang/System.<clinit> (System.java:64) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:83) at java/lang/Thread.initialize (Thread.java:339) at java/lang/Thread.<init> (Thread.java:137) java/lang/NullPointerException at java/nio/Bits.unaligned (Bits.java:626) at java/nio/DirectByteBuffer.<clinit> (DirectByteBuffer.java:55) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/nio/ByteBuffer.allocateDirect (ByteBuffer.java:306) at sun/io/CharToByteSingleByte.createCopy (CharToByteSingleByte.java:570 ) at sun/io/CharToByteISO8859_2.<clinit> (CharToByteISO8859_2.java:164) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/Class.forNameImpl (Native Method) at java/lang/Class.forName (Class.java:137) at sun/io/Converters.getConverterClass (Converters.java:288) at sun/io/Converters.newConverter (Converters.java:338) at sun/io/CharToByteConverter.getConverter (CharToByteConverter.java:98) at java/lang/StringCoding.makeEncoder (StringCoding.java:190) at java/lang/StringCoding$EncoderCache$1.run (StringCoding.java:253) at java/security/AccessController.doPrivileged (AccessController.java:25 4) at java/lang/StringCoding$EncoderCache.getEncoder (StringCoding.java:250 ) at java/lang/StringCoding.getEncoder (StringCoding.java:440) at java/lang/StringCoding.encode (StringCoding.java:582) at java/lang/String.getBytes (String.java:686) at com/ibm/oti/util/Util.<clinit> (Util.java:21) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/System.getPropertyList (Native Method) at java/lang/System.ensureProperties (System.java:259) at java/lang/System.<clinit> (System.java:64) at java/lang/J9VMInternals.initializeImpl (Native Method) at java/lang/J9VMInternals.initialize (J9VMInternals.java:233) at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:83) at java/lang/Thread.initialize (Thread.java:339) at java/lang/Thread.<init> (Thread.java:137) JVMJ9VM015W Initialization error for library jclse7b_26(14): JVMJ9VM009E J9VMDll Main failed Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. . Stack Trace: N/A .
Local fix
Problem summary
With these encodings, during the JVM load time initiliazation of encoding specific classes happens and they were trying to get the system architechture property value which is not available by that time in the system property table and the value returned is NULL. When this value is compared against the known architechture names using String.equals(), this throws NPE as the string used to compare is a NULL string
Problem conclusion
This defect will be fixed in: 7.0.0 SR1 . Architechture property will be available in the system property table when the JVM is completely loaded. So this property value is queried only after the JVM is loaded completely
Temporary fix
Comments
APAR Information
APAR number
IV12603
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-01-02
Closed date
2012-01-05
Last modified date
2012-01-05
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
R700 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":"7.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]
Document Information
Modified date:
22 February 2022