IV19697: APPLICATION HANG WITH HIGH CPU UTILIZATION
Closed as program error.
Error Message: The Java application stops making progress while still using CPU resources (livelock) . Stack Trace: The native stack trace will most likely contain functions related to allocation and freeing of optimization plans used by the JIT .
This rare problem needs all of the following conditions to occur: (1) Two compilation requests for the same method occur in parallel. (2) GC has requested all threads to stop because it wants to proceed exclusively (3) The application uses Compiler.disable() interface to disable JIT operation (4) The requested compilation is a synchronous one which is a rare event in itself These conditions can lead to a situation where one compilation request has just started, but stopped because of the GC request. The GC is blocked because of another Java thread not yielding. The other Java thread continuously tries to compile the same method, but cannot because JIT is disabled (due to Compiler.disable call) and at the same time cannot abort the compilation because another attempt is already in progress
This defect will be fixed in: 6.0.1 SR2 7.0.0 SR1 . The situation described in the "Problem Summary" has been addressed by forcing the second Java thread to yield to GC and wait for the compilation result (despite the Compiler.disable directive). This allows GC to continue which then unblocks the compilation thread which unblocks the two Java threads waiting for the compilation result
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels