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
[{"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:
12 September 2016