IBM Support

IV52057: JAVA.LANG.UNSATISFIEDLINKERROR: WHILE LOADING LIBAWT.SO LIBRARY

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: JNI application gets
    java.lang.UnsatisfiedLinkError while loading libawt.so :-
    .
    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)
    .
    N/A
    

Local fix

  • The following work around at application level can be applied to
    avoid the issue:
     .Avoid using RTLD_GLOBAL flag while loading JNI libraries.
    OR
     .Load libawt.so in advance before loading the application JNI
    library which uses RTLD_GLOBAL flag.
    

Problem summary

  • The JDK uses a common symbol to identify the path of its library
    and result in pointing to a wrong library path due to the symbol
    conflict with the JNI application.
    

Problem conclusion

  • This APAR will be fixed in the following Java Releases:
       7    SR7       (7.0.7.0)
       6    SR16      (6.0.16.0)
       5.0  SR16_FP5  (5.0.16_.5)
    .
    The JDK has been updated to use a unique JDK specific symbol to
    avoid the conflict with other native libraries..
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV52057

  • Reported component name

    JAVA 5 CLASS LI

  • Reported component ID

    620500130

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-11-14

  • Closed date

    2014-01-17

  • Last modified date

    2014-01-17

  • APAR is sysrouted FROM one or more of the following:

    IV52056

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA 5 CLASS LI

  • Fixed component ID

    620500130

Applicable component levels

  • R500 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":"5.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
17 January 2014