Description
Java -version output
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.4+11)
Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.15.1, JRE 11 Linux amd64-64-Bit Compressed References 20190717_286 (JIT enabled, AOT enabled)
OpenJ9 - 0f66c64
OMR - ec782f26
JCL - fa49279450 based on jdk-11.0.4+11)
Summary of problem
Java crashed with "gpf" error when running our liberty application. And it caused by VM class table lock. This happens inside docker container and standalone liberty. This crash will happen every time with openj9 but no error with openjdk with version like 11, 11.0.6 and 13.0.2. For docker container environment, the os is:
Linux 2e6aaa8a2cd2 3.10.0-862.14.4.el7.x86_64 #1 SMP Fri Sep 21 09:07:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
For standalone environment, the os is:
3.10.0-862.14.4.el7.x86_64 #1 SMP Fri Sep 21 09:07:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Diagnostic files
Below are logs extracted from javacore.txt which shows the VM class lock when such problem happens every time.
2LKREGMON VM class table lock (0x00007F271C006948): Flat locked by "Default Executor-thread-13" (J9VMThread:0x0000000002DAA600), entry count 1
3LKWAITERQ Waiting to enter:
3LKWAITER "JIT Compilation Thread-0" (J9VMThread:0x000000000226C600)
3LKWAITER "JIT Compilation Thread-1" (J9VMThread:0x0000000002270200)
3LKWAITER "JIT-SamplerThread" (J9VMThread:0x000000000228A500)
3LKWAITER "Active Thread: Equinox Container: 9c152571-8e06-46b5-9f41-5b57d1100206" (J9VMThread:0x00000000029BF300)
3LKWAITER "Config-Thread-12" (J9VMThread:0x0000000002BAF100)
3LKWAITER "Executor Service Control Timer" (J9VMThread:0x0000000002C04200)
3LKWAITER "Default Executor-thread-2" (J9VMThread:0x0000000002C47600)
3LKWAITER "Default Executor-thread-7" (J9VMThread:0x0000000002CA2600)
3LKWAITER "ITCAM_GPE_Pooled_Thread : 3" (J9VMThread:0x0000000002CCE400)
3LKWAITER "Default Executor-thread-10" (J9VMThread:0x0000000002D30400)
3LKWAITER "Default Executor-thread-11" (J9VMThread:0x0000000002D6CB00)
3LKWAITER "Default Executor-thread-16" (J9VMThread:0x0000000002E1FA00)
3LKWAITER "Default Executor-thread-20" (J9VMThread:0x0000000003721600)
VM monitor table lock (0x00007F271C0A3588): Flat locked by "Default Executor-thread-13" (J9VMThread:0x0000000002DAA600), entry count 1
3XMTHREADINFO "Default Executor-thread-13" J9VMThread:0x0000000002DAA600, omrthread_t:0x00007F261809D8C8, java/lang/Thread:0x00000000D1F2F760, state:R, prio=5
3XMJAVALTHREAD (java/lang/Thread getId:0x4E, isDaemon:true)
3XMTHREADINFO1 (native thread ID:0x235F, native priority:0x5, native policy:UNKNOWN, vmstate:R, vm thread flags:0x00000020)
3XMTHREADINFO2 (native stack address range from:0x00007F26F56BA000, to:0x00007F26F56FA000, size:0x40000)
3XMCPUTIME CPU usage total: 1.116342349 secs, current category="Application"
3XMHEAPALLOC Heap bytes allocated since last GC cycle=66160 (0x10270)
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at java/lang/ClassLoader.defineClassImpl(Native Method)
4XESTACKTRACE at java/lang/ClassLoader.defineClassInternal(Bytecode PC:107(Compiled Code))
4XESTACKTRACE at java/lang/ClassLoader.defineClass(Bytecode PC:9(Compiled Code))
4XESTACKTRACE at com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl$TransletClassLoader.defineClass(Bytecode PC:7)
4XESTACKTRACE at com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.defineTransletClasses(Bytecode PC:262)
4XESTACKTRACE at com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.getTransletInstance(Bytecode PC:17)
4XESTACKTRACE at com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.newTransformer(Bytecode PC:5)
5XESTACKTRACE (entered lock: com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl@0x00000000FF54E510, entry count: 1)
4XESTACKTRACE at com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.newTransformer(Bytecode PC:9)
4XESTACKTRACE at com/ibm/ws/webcontainer/osgi/mbeans/PluginGenerator.generateXML(PluginGenerator.java:783)
5XESTACKTRACE (entered lock: com/ibm/ws/webcontainer/osgi/mbeans/PluginGenerator@0x00000000FF4E4FF0, entry count: 1)
4XESTACKTRACE at com/ibm/ws/webcontainer/osgi/mbeans/GeneratePluginConfigMBean.generatePluginConfig(GeneratePluginConfigMBean.java:160)
5XESTACKTRACE (entered lock: com/ibm/ws/webcontainer/osgi/mbeans/GeneratePluginConfigMBean@0x00000000D25676E8, entry count: 1)
4XESTACKTRACE at com/ibm/ws/webcontainer/osgi/mbeans/GeneratePluginConfigMBean.generatePluginConfig(GeneratePluginConfigMBean.java:262)
4XESTACKTRACE at com/ibm/ws/webserver/plugin/runtime/listeners/GeneratePluginConfigListener$1.run(GeneratePluginConfigListener.java:281)
4XESTACKTRACE at com/ibm/ws/threading/internal/ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:239)
4XESTACKTRACE at java/util/concurrent/Executors$RunnableAdapter.call(Bytecode PC:6(Compiled Code))
4XESTACKTRACE at java/util/concurrent/FutureTask.run(Bytecode PC:41(Compiled Code))
4XESTACKTRACE at java/util/concurrent/ThreadPoolExecutor.runWorker(Bytecode PC:94(Compiled Code))
4XESTACKTRACE at java/util/concurrent/ThreadPoolExecutor$Worker.run(Bytecode PC:5)
4XESTACKTRACE at java/lang/Thread.run(Bytecode PC:13)
3XMTHREADINFO3 Native callstack:
4XENATIVESTACK (0x00007F271BBD09D2 [libj9prt29.so+0x3a9d2])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F271BBD0A4E [libj9prt29.so+0x3aa4e])
4XENATIVESTACK (0x00007F271BBD0B44 [libj9prt29.so+0x3ab44])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F271BBD08AB [libj9prt29.so+0x3a8ab])
4XENATIVESTACK (0x00007F271BBCCF32 [libj9prt29.so+0x36f32])
4XENATIVESTACK (0x00007F271BBCDCD4 [libj9prt29.so+0x37cd4])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F271523CFF6 [libj9dmp29.so+0x19ff6])
4XENATIVESTACK (0x00007F271523D18D [libj9dmp29.so+0x1a18d])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F27152398DD [libj9dmp29.so+0x168dd])
4XENATIVESTACK (0x00007F27152353BD [libj9dmp29.so+0x123bd])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F27152361DE [libj9dmp29.so+0x131de])
4XENATIVESTACK (0x00007F271523F53C [libj9dmp29.so+0x1c53c])
4XENATIVESTACK (0x00007F2715227C8D [libj9dmp29.so+0x4c8d])
4XENATIVESTACK (0x00007F27152272A5 [libj9dmp29.so+0x42a5])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F271522A89B [libj9dmp29.so+0x789b])
4XENATIVESTACK (0x00007F271522AA1C [libj9dmp29.so+0x7a1c])
4XENATIVESTACK (0x00007F271524115B [libj9dmp29.so+0x1e15b])
4XENATIVESTACK (0x00007F2720312ED2 [libj9vm29.so+0x9eed2])
4XENATIVESTACK (0x00007F271BBB5283 [libj9prt29.so+0x1f283])
4XENATIVESTACK (0x00007F27203130C8 [libj9vm29.so+0x9f0c8])
4XENATIVESTACK (0x00007F271BBB474A [libj9prt29.so+0x1e74a])
4XENATIVESTACK (0x00007F2721F7C5D0 [libpthread.so.0+0xf5d0])
4XENATIVESTACK (0x00007F27218E68B0 [libc.so.6+0x15b8b0])
4XENATIVESTACK (0x00007F27202F14A5 [libj9vm29.so+0x7d4a5])
4XENATIVESTACK (0x00007F272036F6AD [libj9vm29.so+0xfb6ad])
4XENATIVESTACK (0x00007F27203702BE [libj9vm29.so+0xfc2be])
4XENATIVESTACK (0x00007F2712E55A7D [libjclse29.so+0x1da7d])
4XENATIVESTACK Java_java_lang_ClassLoader_defineClassImpl+0x187 (0x00007F2712E491B7 [libjclse29.so+0x111b7])
4XENATIVESTACK (0x00007F26FD3D049B [<unknown>+0x0])
NULL
NULL