SpringBoot openJ9 Kubernetes 崩溃 InterpreterEmulator.cpp:208

SpringBoot openJ9 Kubernetes Crash InterpreterEmulator.cpp:208

我最近随机遇到此崩溃,我不确定如何调试它。谁能给我指出正确的方向。 我用过的工具是,
Spring Boot 2 + Kubernetes + 采用openj9 jdk13

Assertion failed at /home/jenkins/workspace/build-scripts/jobs/jdk13u/jdk13u-linux-x64-openj9/workspace/build/src/build/linux-x86_64-server-release/vm/compiler/../compiler/optimizer/InterpreterEmulator.cpp:208: 0
VMState: 0x000501ff
        unexpected bytecode in thunk archetype 0x7f98f6483ee0 at bcIndex 40 JBdload2 (41)
compiling java/lang/invoke/AsTypeHandle.invokeExact_thunkArchetype_X(Ljava/lang/Object;Ljava/lang/Object;)V at level: warm
0:/opt/java/openjdk/lib/compressedrefs/libj9jit29.so(+0x798015) [0x7f9962316015]
1: /opt/java/openjdk/lib/compressedrefs/libj9jit29.so(+0x7a2dc0) [0x7f9962320dc0]
JVMDUMP039I Processing dump event “abort”, detail “” at 2020/05/12 16:35:10 - please wait.
JVMDUMP032I JVM requested System dump using ‘/home/springboot/core.20200512.163510.1.0001.dmp’ in response to an event

TLDR:这已在 OpenJ9 的 v.0.20.0 版本(2020 年 4 月)中修复。 AdoptOpenJDK 针对 JDK 8、11 和 14 的最新版本二进制文件包含修复程序。

断言失败是编译 MethodHandle (MH) 代码的断言 JIT。添加了一个新的抽象解释器,使 JIT 可以更好地查看 MH "thunkArchetype" 代码,它遗漏了一些可能出现在 MH thunkArchetypes 中的字节码。

有关修复的更多详细信息,请参阅 https://github.com/eclipse/openj9/pull/8598