2

我最近随机遇到这个崩溃,我不知道如何调试它。谁能指出我正确的方向。我用过的工具有,
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
4

1 回答 1

1

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

于 2020-05-28T13:09:39.573 回答