IBM Support

IV88842: JAVA 6.1/7.0 JIT: UNALIGNED ALLOCATIONS CAUSES BAD MEMORY READS FOR FIELDS CROSSING A CACHE LINE BOUNDARY.

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: A SIGSEGV inside the JIT compiler.
    .
    Stack Trace:
    {libj9jit26.so}{findFieldInfo__31TR_PersistentClassInfoForFields
    FP14TR_CompilationRP7TR_Nodeb}
    {libj9jit26.so}{constrainIaload__FP19TR_ValuePropagationP7TR_Nod
    e}
    {libj9jit26.so}{launchNode__19TR_ValuePropagationFP7TR_NodeT1i}
    {libj9jit26.so}{constrainChildren__FP19TR_ValuePropagationP7TR_N
    ode}
    {libj9jit26.so}{launchNode__19TR_ValuePropagationFP7TR_NodeT1i}
    {libj9jit26.so}{processTrees__19TR_ValuePropagationFP10TR_TreeTo
    pT1}
    {libj9jit26.so}{processBlock__25TR_GlobalValuePropagationFP24TR_
    StructureSubGraphNodebT2}
    {libj9jit26.so}{processStructure__25TR_GlobalValuePropagationFP2
    4TR_StructureSubGraphNodebT2}
    .
    This problem can not occur in Java versions prior to 6.1 (Java 6
    using J9 r26) due to the lack of multiple compiler threads and
    the problem was inadvertently fixed in Java 7.1 (Java 7 using J9
    27) and higher in order to avoid a incompatibility with newer
    GCC compilers. The problem can only occur on 64bit platforms.
    

Local fix

  • The problem can only be avoided by disabling the JIT.
    -Xint
    

Problem summary

  • The JIT compilers memory manager could respond to allocations
    requests with 4 byte aligned memory address on 64bit platforms.
    This could cause a problem in very rare cases when a pointer is
    stored in memory and that pointer is straddling a cache line
    boundary.
    

Problem conclusion

  • The JIT memory allocation routine was modified so the it will
    always return 8byte aligned memory addresses.
    .
    This APAR will be fixed in the following Java Releases:
       6 R1 SR8 FP35  (6.1.8.35)
       7    SR9 FP60  (7.0.9.60)
    .
    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

    IV88842

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-30

  • Closed date

    2016-09-12

  • Last modified date

    2016-09-12

  • 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

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

Document Information

Modified date:
12 September 2016