IBM Support

IJ54756: UNEXPECTED BEHAVIOUR WITH VERY LARGE ARRAYS

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: In the only reported case the problem surfaced as
    an unexpected java.lang.NegativeArraySizeException resulting
    from calling ArrayList.addAll for two very large ArrayList
    objects. However it is possible that other errors could arise
    when dealing with very large arrays.
    .
    Stack Trace: N/A
    .
    

Local fix

  • The problem stems from incorrect behaviour of the globalVP
    optimisation. If a specific method can be identified then the
    optimisation can be disabled for just that method, e.g.
    -Xjit:'dontInline={java/util/ArrayList.newCapacity(I)I},{java/ut
    il/ArrayList.newCapacity(I)I}(disableGlobalVP)'
    Otherwise it can be disabled globally, but at a greater impact
    to performance:
    -Xjit:disableGlobalVP
    

Problem summary

  • The globalVP optimisation incorrectly used too small a value for
    the upper limit of an array size. When this incorrect value was
    used to check if code paths could be executed it came to the
    wrong conclusion and removed a conditional and part of the code
    block that it guarded. As a result an integer used as an array
    index wrapped negative and triggered the exception.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IJ54756

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    270

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-05-14

  • Closed date

    2025-05-14

  • Last modified date

    2025-05-14

  • 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

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"270","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
14 May 2025