ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

JBOSS Crash with DXAPM 20.6 agent when using Z GC option


Article ID: 223921


Updated On:


CA Application Performance Management (APM / Wily / Introscope) DX APM SaaS CA Application Performance Management Agent (APM / Wily / Introscope) CA Application Performance Management SaaS DX Application Performance Management


Using an installation of JBOSS EAP 7.2.6 Liferay Portal using Java OpenJDK 11.0.9+11 with garbage collector Z GC.


If the DX APM agent release 20.6 is active the portal crashes after some time

Console log shows the following


# A fatal error has been detected by the Java Runtime Environment:
#  SIGSEGV (0xb) at pc=0x00007f58bf60abf8, pid=1892218, tid=1892314
# JRE version: OpenJDK Runtime Environment 18.9 (11.0.9+11) (build 11.0.9+11-LTS)
# Java VM: OpenJDK 64-Bit Server VM 18.9 (11.0.9+11-LTS, mixed mode, tiered, z gc, linux-amd64)
# Problematic frame:
# V  []  OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)+0x108
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e" (or dumping to /prod/jboss-eap-7.2/core.1892218)
# An error report file with more information is saved as:
# /prod/jboss-eap-7.2/hs_err_pid1892218.log
# Compiler replay data is saved as:
# /prod/jboss-eap-7.2/replay_pid1892218.log
# If you would like to submit a bug report, please visit:
*** JBossAS process (1892218) received ABRT signal ***


The hs_err_pid file shows

failure occurs when compiling an agent class

Current thread (0x000055a0c3c88150):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=1123284, stack(0x00007fd3df66f000,0x00007fd3df770000)]

Current CompileTask:
C2:   9947 4484   !   4       com.wily.introscope.autoprobe.dynamic.DeepInheritanceHelper::addInheritanceMatchRequest (369 bytes)

Stack: [0x00007fd3df66f000,0x00007fd3df770000],  sp=0x00007fd3df76b3f0,  free space=1008k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  []  OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)+0x108
V  []  OopFlow::compute_reach(PhaseRegAlloc*, int, Dict*)+0x237
V  []  Compile::BuildOopMaps()+0x10e1
V  []  Compile::Output()+0x702
V  []  Compile::Code_Gen()+0x525
V  []  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xfb5
V  []  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xd4
V  []  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x563
V  []  CompileBroker::compiler_thread_loop()+0x468
V  []  JavaThread::thread_main_inner()+0x1e9
V  []  Thread::call_run()+0x15c
V  []  thread_native_entry(Thread*)+0xf6

however the agent class is not the true cause - the issue is in the JVM compiler / Z GC option and the fact that it is an agent class compilation that fails is not significant




Release : 20.2

Component :


Background research and found evidence of a few bugs reported causing JVM crashes during code compilation whilst Z GC is enabled.
Using the following JVM argument  -XX:-SplitIfBlocks prevented the crash

Additional Information