IBM Support

IV88620: JAVA 7 MULTI-TYPE EXCEPTION CATCH FAILS TO EXECUTE THE FINALLY B LOCK

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 a JIT-compiled Java method, a finally block is
    not executed when:
    1. A multi-type catch block is used to catch more than one type
    of exceptions.
    2. An exception is thrown from the try block that matches
    anything but the first type in the multi-type catch.
    3. An exception is thrown from the catch block. It can be a new
    exception, or the caught (re-thrown) exception.
    4. Some sort of control flow (i.e. if/else blocks) exist in the
    catcher.
    .
    Stack Trace: N/A
    .
    This APAR is very similar to APAR IV68110, but in this case the
    catch block must be more complex resulting in more then one
    block of code existing in the catcher and at least one of those
    bocks must be only conditionally executed.
    

Local fix

  • The issue can be avoided by rewriting the multi-type catch block
    into traditional single-type catch blocks. If it is not feasible
    to rewrite the code, the JIT compiler can be disabled with the
    -Xint option.
    

Problem summary

  • The JIT compiler incorrectly processes multi-catch blocks that
    are themselves inside a try region (or have finally clauses,
    which are the same internally). An internal data structure
    neglects to record the proper control flow information for all
    bocks of code within the second and subsequent catch types
    listed
    

Problem conclusion

  • The JIT compiler has been fixed to generate correct control flow
    for all blocks of code within multi-type catch blocks.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR9 FP60  (7.0.9.60)
       7 R1 SR3 FP60  (7.1.3.60)
       8    SR3 FP12  (8.0.3.12)
    .
    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

    IV88620

  • 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-23

  • 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

  • R130 PSY

       UP



Document information

More support for: Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version: 260

Reference #: IV88620

Modified date: 12 September 2016