IBM Support

IV49719: JAVA CRASHES WITH SIGILL ON POWER7 HARDWARE RUNNING AIX AFTER APPLYING JAVA 7 SR2, JAVA 601 SR3

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: An illegal instruction exception (SIGILL) is
    raised in __arrayTranslateTRTO255() when it is called from a
    JIT-compiled method.
    .
    Stack Trace: __arrayTranslateTRTO255()
    .
    The problem can only occur on Java 6.0.1 and Java 7, and only
    when running on AIX on a POWER7 processor. (This problem does
    not affect Linux.) The OS setting for "allow_vmx" must be set
    to "0" for this problem to occur.
    
    To view the setting: schedo -o allow_vmx
    

Local fix

  • There are two ways to work around this issue:
    
    (1) Change the setting of "allow_vmx" to "1":
    
    schedo -o -p allow_vmx=1
    
    This setting will cause malloc to use 16-byte alignment causing
    some wasted memory. This setting is the default.
    
    (2) Prevent the JIT compiler from using VMX instructions by
    exporting/setting the following environment variable:
    
    TR_noVsxArrayTranslate=1
    
    Setting this environment variable disables the optimized array
    translate routines which might case a small performance penalty.
    

Problem summary

  • Starting with Java 6.0.1 SR3 and Java 7 SR2, the JIT compiler
    uses VMX instructions to handle some array translation tasks.
    If the AIX setting "allow_vmx" is set to "0", the use of VMX
    instructions will cause a SIGILL.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR7
    7.0.0 SR6
    .
    The JIT has been modified so that it detects when allow_vmx is
    set to "0" and disables the use of VMX instructions during array
    translate.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV49719

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-09-19

  • Closed date

    2013-09-25

  • Last modified date

    2013-10-22

  • 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:
22 October 2013