IBM Support

IJ34933: JAVA/LANG/STRING.INDEXOF(STRING) MIGHT RETURN INCORRECT RESULT WHEN RUNNING ON A Z15 PROCESSOR

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: The java/lang/String.indexOf(String) API returns
    an index when it should return -1.
    .
    Stack Trace: N/A
    .
    The problem only occurs in the following circumstances:
    1. The application is running on a z15 processor with IBM Java
    8.0.6.0 or newer (SR6 or newer).
    2. The search string length is smaller than the underlying
    character array backing the string.
    3. The tail end of the pattern string contains characters which
    are found in the underlying character array past the end of the
    search string. For example if the search string is ?123456? of
    length 6, and is backed by an underlying character array
    <OSB>?1?, ?2?, ?3?, ?4?, ?5?, ?6?, ?7?, ?8?, ?9?<CSB> of length
    9, and the pattern we are looking for is ?5678". The pattern
    string should not be found in the search string, however the
    pattern string is found in the underlying character array.
    4. The pattern string must be greater than 8 characters.
    

Local fix

  • This issue can be worked around using the -Xjit:disableZ15
    option. Note however that specifying this option will disable
    all JIT z15 exploitation which may affect performance.
    

Problem summary

  • A logic error in the z15 exploitation of the SIMD Vector String
    Search instruction used to accelerate the
    java/lang/String.indexOf(String) API has been identified. The
    problem can only occur under a specific set of circumstances
    outlined previously.
    

Problem conclusion

  • The JIT compiler has been updated to generate a correct assembly
    sequence to handle the problematic situation.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR7       (8.0.7.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

    IJ34933

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-09-10

  • Closed date

    2021-09-13

  • Last modified date

    2021-09-23

  • 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

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130"}]

Document Information

Modified date:
24 September 2021