IBM Support

IV77911: JAVA PROGRAM WITH -XJIT:ENABLEGPU OPTION FAILS DUE TO A SEGMENTA TION FAULT

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: When running a Java program with the
    -Xjit:enableGPU option, the program will suddenly end and print
    the following error message:
    Unhandled exception
    Type=Segmentation error vmState=0x00000000
    .
    Stack Trace: Stack Trace
    (0x0000000000000000 <OSB><unknown>+0x0<CSB>)
    (0x00003FFFA6FDB1E4 <OSB>libj9jit28.so+0x116b1e4<CSB>)
    (0x00003FFFA610EF1C <OSB>libj9jit28.so+0x29ef1c<CSB>)
    (0x00003FFFA61092F4 <OSB>libj9jit28.so+0x2992f4<CSB>)
    (0x00003FFFA616B02C <OSB>libj9jit28.so+0x2fb02c<CSB>)
    J9VMDllMain+0xfdc (0x00003FFFA61696DC
    <OSB>libj9jit28.so+0x2f96dc<CSB>)
    (0x00003FFFA7B1F740 <OSB>libj9vm28.so+0xcf740<CSB>)
    (0x00003FFFA7B7531C <OSB>libj9vm28.so+0x12531c<CSB>)
    (0x00003FFFA7B1F490 <OSB>libj9vm28.so+0xcf490<CSB>)
    (0x00003FFFA7B19D6C <OSB>libj9vm28.so+0xc9d6c<CSB>)
    (0x00003FFFA7983CB4 <OSB>libj9prt28.so+0x53cb4<CSB>)
    (0x00003FFFA7B18540 <OSB>libj9vm28.so+0xc8540<CSB>)
    J9_CreateJavaVM+0xb8 (0x00003FFFA7AFAE38
    <OSB>libj9vm28.so+0xaae38<CSB>)
    JNI_CreateJavaVM+0x900 (0x00003FFFA7C0CBC0
    <OSB>libjvm.so+0x1cbc0<CSB>)
    JNI_CreateJavaVM+0x1cc (0x00003FFFA858A52C
    <OSB>libjvm.so+0x1a52c<CSB>)
    (0x00003FFFA87BC22C <OSB>libjli.so+0xc22c<CSB>)
    (0x00003FFFA87E89C8 <OSB>libpthread.so.0+0x89c8<CSB>)
    clone+0x98 (0x00003FFFA86EE570 <OSB>libc.so.6+0x11e570<CSB>)
    .
    When running the Java program, the LD_LIBRARY_PATH environment
    variable is missing the location of one or more of the following
    three GPU libraries: libnvvm.so, libcudart.so, libcuda.so
    

Local fix

  • Set the LD_LIBRARY_PATH to point to working copies of
    libnvvm.so, libcudart.so and libcuda.so libraries.
    For example:
    export
    LD_LIBRARY_PATH=path/to/libnvvm.so:path/to/libcudart.so:path/to/
    libcuda.so:$LD_LIBRARY_PATH, where each "path/to" is filled in
    with the proper location of the library.
    

Problem summary

  • The JVM does not check to make sure that the GPU libraries were
    all properly loaded before using them. As a result, Java crashes
    when it attempts to use a library that was not properly loaded.
    

Problem conclusion

  • The JVM has been updated to ensure that the GPU libraries were
    properly loaded before using them. If the libraries are not
    found, Java will silently fall back and use the CPU to run the
    program instead of the GPU. If the -Xjit:enableGPU={verbose}
    option is used, the error message "Dynamic linking error" will
    also be printed to screen if a library can not be found.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR2       (8.0.2.0)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV77911

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-10-09

  • Closed date

    2015-10-09

  • Last modified date

    2015-10-09

  • 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

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R130 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 October 2015