IZ67874: JAVA JIT COMPILATION THREAD NOT RELEASING VM CLASS TABLE LOCK CAUSING APPLICATION TO HANG.
Closed as program error.
Error Message: The application hangs in a random or intermittent manner while under heavy load with frequent GC cycles. . Stack Trace: N/A . The javacore shows: 1) That the VM class table lock is owned by the JIT Compilation Thread and a number of other threads are waiting to obtain the lock. 2LKREGMON VM class table lock (0x...): Flat locked by "JIT Compilation Thread" (0x...), entry count 1 3LKWAITERQ Waiting to enter: 3LKWAITER "ThreadName" (0x...) 2) The JIT-CompilationQueueMonitor lock is unowned. 2LKREGMON JIT-CompilationQueueMonitor lock (0x...): <unowned> 3LKNOTIFYQ Waiting to be notified: 3LKWAITNOTIFY "JIT Compilation Thread" (0x...) KEYWORDS Deadlock hang
This problem can be avoided by using the -Xjit:disableCHTable option. Note however that this option may incur a slight performance impact.
When a JIT compilation is abandoned while holding the VM class table lock, the JIT will never release the lock resulting in any future class load operations to hang waiting to obtain the VM class table lock.
This defect will be fixed in: 5.0.0 SR12 . The JIT was modified so that the VM class table lock will be released when a compilation is abandoned. . To obtain the fix: Install build 20100126 or later
Reported component name
JAVA 5 JIT
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
JAVA 5 JIT
Fixed component ID
Applicable component levels