JVM Crash 报错 SIGSEGV (0xb) 的根源:JIT 编译漏洞还是业务代码问题?

jvm crash 报错 sigsegv (0xb) 的根源:jit 编译漏洞还是业务代码问题?

JVM Crash 报错 SIGSEGV (0xb) 的根源分析

问题背景:

线上运行的数台实例在同一时间段内陆续出现 JVM Crash,拿到 hs_err_pidxxx.log 文件进行分析。

日志分析:

从日志中可以看到,出现的是 SIGSEGV (0xb) 信号,表明发生了段错误。报错信息指向 IfNode::up_one_dom(Node*, bool)+0x97,这是一个 JIT 编译器内部函数。

原因分析:

根据经验和网上查阅相关资料,发现此报错可能是由于 JIT 编译过程中出现的漏洞导致。该漏洞与特定版本的 JDK 相关,升级 JDK 版本通常可以解决此问题。

解决方案:

将 JDK 版本升级至 1.8.191,该版本已修复了相关漏洞。

与业务代码的关系:

日志最后一行 com.j.m.s.e.m.AbstractBaseExceptionInfoMessage 是业务代码,但其与本次 JVM Crash 无关。崩溃的根本原因是 JIT 编译漏洞,与业务代码本身无关。

以上就是JVM Crash 报错 SIGSEGV (0xb) 的根源:JIT 编译漏洞还是业务代码问题?的详细内容,更多请关注其它相关文章!