Skip to content

JVM SIGSEGV crash in C1 JIT compiler while compiling DefaultEscaping.escape() #145

Description

@MaksymKokora

Title: JVM SIGSEGV crash in C1 JIT compiler while compiling DefaultEscaping.escape()

Body:

We are experiencing periodic JVM crashesn production on:

HAPI HL7v2: 2.6.0
JVM: OpenJDK Temurin 21.0.10+7 (build 21.0.10+7-LTS)
OS: Linux amd64, Kubernetes (GKE)

Problematic frame from hs_err_pid.log:

J 23521 c1 ca.uhn.hl7v2.parser.DefaultEscaping.escape(Ljava/lang/String;Lca/uhn/hl7v2/parser/EncodingCharacters;)Ljava/lang/String; (315 bytes) @ 0x00007916ce3a3f34

[0x00007916ce3a3ce0+0x0000000000000254]

Signal:
SIGSEGV (0xb) at pc=0x00007916ce3a3f34

The crash occurs in the C1 JIT compiled version of DefaultEscaping.escape(). The method is 315 bytes of bytecode which appears to trigger a JIT compiler bug in Temurin 21.0.10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions