Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JVM crash in constant pool lookup while loading class #107861

Open
rjernst opened this issue Apr 24, 2024 · 1 comment
Open

JVM crash in constant pool lookup while loading class #107861

rjernst opened this issue Apr 24, 2024 · 1 comment
Labels
>bug :Core/Infra/Core Core issues without another label medium-risk An open issue or test failure that is a medium risk to future releases Team:Core/Infra Meta label for core/infra team

Comments

@rjernst
Copy link
Member

rjernst commented Apr 24, 2024

Elasticsearch Version

main

Installed Plugins

No response

Java Version

21.0.2+13

OS Version

Ubuntu 20.04 (aarch64)

Problem Description

A CI run of a java rest test caused a JVM segfault.

Excerpt from hs_err:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000ffff8a171220, pid=44806, tid=47376
#
# JRE version: OpenJDK Runtime Environment (21.0.2+13) (build 21.0.2+13-58)
# Java VM: OpenJDK 64-Bit Server VM (21.0.2+13-58, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V  [libjvm.so+0xccf220]  SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, JavaThread*)+0x20
...
---------------  T H R E A D  ---------------

Current thread (0x0000fffe3c002e00):  JavaThread "elasticsearch[javaRestTest-0][management][T#3]" daemon [_thread_in_vm, id=47376, stack(0x0000fffe37f00000,0x0000fffe38000000) (1024K)]

Stack: [0x0000fffe37f00000,0x0000fffe38000000],  sp=0x0000fffe37ffa910,  free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xccf220]  SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, JavaThread*)+0x20
V  [libjvm.so+0x5c5870]  ConstantPool::klass_at_impl(constantPoolHandle const&, int, JavaThread*)+0x150
V  [libjvm.so+0x5c65c4]  ConstantPool::klass_ref_at(int, Bytecodes::Code, JavaThread*)+0x80
V  [libjvm.so+0xa31468]  LinkInfo::LinkInfo(constantPoolHandle const&, int, methodHandle const&, Bytecodes::Code, JavaThread*)+0x48
V  [libjvm.so+0xa33efc]  LinkResolver::resolve_method_statically(Bytecodes::Code, constantPoolHandle const&, int, JavaThread*)+0x4c
V  [libjvm.so+0x42d108]  Bytecode_invoke::static_target(JavaThread*)+0x84
V  [libjvm.so+0xc2b720]  SharedRuntime::find_callee_info_helper(vframeStream&, Bytecodes::Code&, CallInfo&, JavaThread*)+0x400
V  [libjvm.so+0xc2b88c]  SharedRuntime::find_callee_info(Bytecodes::Code&, CallInfo&, JavaThread*)+0x68
V  [libjvm.so+0xc2b9b4]  SharedRuntime::resolve_sub_helper(bool, bool, JavaThread*)+0xd0
V  [libjvm.so+0xc2bb8c]  SharedRuntime::resolve_helper(bool, bool, JavaThread*)+0x3c
V  [libjvm.so+0xc2c07c]  SharedRuntime::resolve_opt_virtual_call_C(JavaThread*)+0x3c
v  ~RuntimeStub::resolve_opt_virtual_call 0x0000ffff73f61210
C  0x0000fffe3c002e00
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v  ~RuntimeStub::resolve_opt_virtual_call 0x0000ffff73f61210
J 8588 c2 java.net.FactoryURLClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; java.base@21.0.2 (40 bytes) @ 0x0000ffff74ec1230 [0x0000ffff74ebba80+0x00000000000057b0]
J 5436 c2 java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; java.base@21.0.2 (7 bytes) @ 0x0000ffff74a475c8 [0x0000ffff74a47580+0x0000000000000048]
v  ~StubRoutines::call_stub 0x0000ffff73f25140
j  org.elasticsearch.ingest.attachment.AttachmentProcessor$Factory.create(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lorg/elasticsearch/ingest/attachment/AttachmentProcessor;+7
j  org.elasticsearch.ingest.attachment.AttachmentProcessor$Factory.create(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lorg/elasticsearch/ingest/Processor;+6
j  org.elasticsearch.ingest.ConfigurationUtils.readProcessor(Ljava/util/Map;Lorg/elasticsearch/script/ScriptService;Ljava/lang/String;Ljava/util/Map;)Lorg/elasticsearch/ingest/Processor;+117 org.elasticsearch.server@8.15.0-SNAPSHOT
j  org.elasticsearch.ingest.ConfigurationUtils.readProcessor(Ljava/util/Map;Lorg/elasticsearch/script/ScriptService;Ljava/lang/String;Ljava/lang/Object;)Lorg/elasticsearch/ingest/Processor;+14 org.elasticsearch.server@8.15.0-SNAPSHOT
j  org.elasticsearch.ingest.ConfigurationUtils.readProcessorConfigs(Ljava/util/List;Lorg/elasticsearch/script/ScriptService;Ljava/util/Map;)Ljava/util/List;+130 org.elasticsearch.server@8.15.0-SNAPSHOT
j  org.elasticsearch.ingest.Pipeline.create(Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Lorg/elasticsearch/script/ScriptService;)Lorg/elasticsearch/ingest/Pipeline;+55 org.elasticsearch.server@8.15.0-SNAPSHOT
...

Log files
hs_err_pid44806.log
gc.log
javaRestTest_server.json

Gradle build
https://gradle-enterprise.elastic.co/s/hoyucrcwdbnei

Steps to Reproduce

No reproduction yet

Logs (if relevant)

No response

@rjernst rjernst added >bug needs:triage Requires assignment of a team area label labels Apr 24, 2024
@rjernst rjernst added medium-risk An open issue or test failure that is a medium risk to future releases and removed needs:triage Requires assignment of a team area label labels Apr 24, 2024
@elasticsearchmachine elasticsearchmachine added the needs:triage Requires assignment of a team area label label Apr 24, 2024
@tvernum tvernum added :Core/Infra/Core Core issues without another label and removed needs:triage Requires assignment of a team area label labels Apr 25, 2024
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

@elasticsearchmachine elasticsearchmachine added the Team:Core/Infra Meta label for core/infra team label Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Core/Infra/Core Core issues without another label medium-risk An open issue or test failure that is a medium risk to future releases Team:Core/Infra Meta label for core/infra team
Projects
None yet
Development

No branches or pull requests

3 participants