JBOSS Crash with DXAPM 20.6 agent when using Z GC option

book

Article ID: 223921

calendar_today

Updated On:

Products

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

Issue/Introduction

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  [libjvm.so+0x4b9bf8]  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:
#   https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&component=java-11-openjdk
#
*** JBossAS process (1892218) received ABRT signal ***

Cause

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  [libjvm.so+0x4b9bf8]  OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)+0x108
V  [libjvm.so+0x4ba1f7]  OopFlow::compute_reach(PhaseRegAlloc*, int, Dict*)+0x237
V  [libjvm.so+0x4bb301]  Compile::BuildOopMaps()+0x10e1
V  [libjvm.so+0xc19e92]  Compile::Output()+0x702
V  [libjvm.so+0x6480d5]  Compile::Code_Gen()+0x525
V  [libjvm.so+0x64b895]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xfb5
V  [libjvm.so+0x56ed24]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xd4
V  [libjvm.so+0x654e13]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x563
V  [libjvm.so+0x656298]  CompileBroker::compiler_thread_loop()+0x468
V  [libjvm.so+0xe51449]  JavaThread::thread_main_inner()+0x1e9
V  [libjvm.so+0xe4cfec]  Thread::call_run()+0x15c
V  [libjvm.so+0xc03256]  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

 

 

Environment

Release : 20.2

Component :

Resolution

 
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

https://bugs.openjdk.java.net/browse/JDK-8230386?attachmentOrder=asc