APAR status
Closed as fixed if next.
Error description
Error Message: N/A . Stack Trace: java.lang.UnsatisfiedLinkError: awt (An exception was pending after running JNI_OnLoad) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1011) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.jav a:975) at java.lang.System.loadLibrary(System.java:469) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java :69) at java.security.AccessController.doPrivileged(AccessController.jav a:202) at java.awt.image.ColorModel.loadLibraries(ColorModel.java:199) at java.awt.image.ColorModel.<clinit>(ColorModel.java:207) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at java.awt.image.BufferedImage.<clinit>(BufferedImage.java:285) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at AWTTestFlow_JavaCompute.evaluate(AWTTestFlow_JavaCompute.java:28 ) at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbR untimeJavaComputeNode.java:232) at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469) . Any JNI application loaded before loading libawt.so with RTLD_GLOBAL flag fail to load libawt.so .
Local fix
1) Avoid using RTLD_GLOBAL flag while loading JNI libraries. 2) Load libawt.so in advance before loading the application JNI library which uses RTLD_GLOBAL flag.
Problem summary
The problem occured as JNI application used RTLD_GLOBAL flag while loading the native libraries. Using RTLD_GLOBAL is not advisable in JNI application as it can cause security exposure in JVM and it should be avoided with JNI application. We will consider a fall back mechanism to identify the libawt.so path correctly in such failure scenario in a future Java release.
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
IV25456
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
600
Status
CLOSED FIN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-07-31
Closed date
2014-01-10
Last modified date
2014-01-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
R600 PSY
UP
R700 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
10 January 2014