VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ49047

⇱ IJ49047: JAVA JIT: REORDERING CODE WITH A CALL TO CURRENTTIMEMILLIS() CAN RESULT IN INACCURATE RESULTS


IJ49047: JAVA JIT: REORDERING CODE WITH A CALL TO CURRENTTIMEMILLIS() CAN RESULT IN INACCURATE RESULTS

APAR status

  • Closed as program error.

Error description

  • Error Message: The difference between two calls to
    currentTimeMillis() would result in impossible results.
    .
    Stack Trace: N/A
    .
    The problem can only occur when running the Java JVM under zOS.
    The issue is not possible on other platforms including zLinux.
    

Local fix

  • The problem can be avoided by using the following java command
    line parameter:
    -Xjit:disableTreeSimplification
    Using this options will have some effect on the performance of
    the application.
    

Problem summary

  • The JIT converts a call to currentTimeMillis() into a a special
    System-Z instruction, but in doing so, the internal
    representation of the code was setup in an incorrect way that
    allowed another JIT optimization to move the code around. This
    might result in a delayed execution of the Z instruction by
    moving it after other calls. This delay might cause incorrect
    and unexpected time calculations.
    

Problem conclusion

  • The JIT was modified so that a methods internal representation
    is correct after currentTimeMillis() conversion on zOS
    preventing any incorrect code motion.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM Semeru Runtimes
     11 11.0.22.0
     17 17.0.10.0
    IBM SDK, Java Technology Edition
     8 SR8 FP20 (8.0.8.20)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    maintenance can be found at:
     https://www.ibm.com/support/pages/java-sdk
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ49047

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-10-27

  • Closed date

    2023-10-28

  • Last modified date

    2023-10-28

  • 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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
30 October 2023