我最近随机遇到此崩溃,并且不确定如何调试它。谁能指出我正确的方向。
我使用的工具是
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的最新发行版二进制文件包含此修复程序。
断言失败是由断言JIT编译的MethodHandle(MH)代码。添加了新的抽象解释器,以使JIT更好地了解MH“thunkArchetype”代码,并且错过了MH thunkArchetypes中可能出现的某些字节码。
有关修复程序的更多详细信息,请参见https://github.com/eclipse/openj9/pull/8598。
关于java - SpringBoot openJ9 Kubernetes崩溃InterpreterEmulator.cpp:208,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61828780/