JVM致命错误在Ventura 13.3.1 (a)更新后发生。

huangapple go评论73阅读模式
英文:

JVM Fatal Error After Ventura 13.3.1 (a) Update

问题

最近我将我的MacBook从Big Sur升级到Ventura,从Eclipse启动Java 8项目时出现JVM错误。在Big Sur上运行正常。更新后出现以下问题。

# 由Java运行时环境检测到致命错误:
#
#  pc=0x00007ff811489d8b的SIGSEGV (0xb),pid=20099,tid=0x0000000000000103
#
# JRE版本:Java(TM) SE Runtime Environment (8.0_371) (build 1.8.0_371-b11)
# Java VM:Java HotSpot(TM) 64-Bit Server VM (25.371-b11 mixed mode bsd-amd64 compressed oops)
# 有问题的帧:
# C  [libobjc.A.dylib+0x1ad8b]  -[NSObject superclass]+0x11
#
# 未能写入核心转储。已禁用核心转储。要启用核心转储,请在重新启动Java之前尝试“ulimit -c unlimited”
#
# 包含更多信息的错误报告文件已保存为:
# /Applications/Eclipse.app/Contents/MacOS/hs_err_pid20099.log
#
# 如果要提交bug报告,请访问:
#   http://bugreport.java.com/bugreport/crash.jsp
# 崩溃发生在Java虚拟机外部的本机代码中。
# 请参见有问题的帧以报告bug的位置。
#

Oracle的文档得知,帧前的C表示这是本机代码错误。

添加了**-Xcheck:jni** VM参数后,日志中开始出现以下警告

WARNING: JNI local refs: 385, exceeds capacity: 33
WARNING: JNI local refs: 385, exceeds capacity: 33
WARNING: JNI local refs: 385, exceeds capacity: 33

我不知道这是否很关键,但我尝试了不同类型的JDK 8,问题仍然存在。

在此崩溃后,系统会自动提交给Apple的工单,包含此信息

Java quit unexpectedly

这是由Eclipse创建的hs_err_pid20099.log日志

Logs

提前致谢。

英文:

Recently i updated my MacBook to Ventura coming from Big Sur and i'm having an error with the JVM when trying to start a java 8 project from eclipse. It was working fine on Big Sur. These problems below started showing up after the update.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ff811489d8b, pid=20099, tid=0x0000000000000103
#
# JRE version: Java(TM) SE Runtime Environment (8.0_371) (build 1.8.0_371-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.371-b11 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libobjc.A.dylib+0x1ad8b]  -[NSObject superclass]+0x11
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Applications/Eclipse.app/Contents/MacOS/hs_err_pid20099.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

From oracle's documentation i found out that the C before the frame [libobjc.A.dylib+0x1ad8b] -[NSObject superclass]+0x11 indicates it is a native code error.

And when i added the -Xcheck:jni VM argument i started seeing these warnings in the logs

WARNING: JNI local refs: 385, exceeds capacity: 33
WARNING: JNI local refs: 385, exceeds capacity: 33
WARNING: JNI local refs: 385, exceeds capacity: 33

I don't know if this something critical or not. But i tried different types of JDK 8 and the problem still persists.

Right after this crash a ticket to Apple is automatically submitted including this information

Java quit unexpectedly

Here is the hs_err_pid20099.log log created by eclipse

Logs

Thanks in advance.

答案1

得分: 0

问题已通过在启动配置的程序参数中添加命令 -nosplash 来解决,正如Till Brychcy在这个 eclipse bug thread 中建议的那样。

英文:

The issue was resolved by adding the command -nosplash to the program arguments in the launch configuration as suggested by Till Brychcy on this eclipse bug thread.

huangapple
  • 本文由 发表于 2023年5月10日 22:54:50
  • 转载请务必保留本文链接:https://go.coder-hub.com/76219898.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定