英文:
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的工单,包含此信息
这是由Eclipse创建的hs_err_pid20099.log日志
提前致谢。
英文:
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
Here is the hs_err_pid20099.log log created by eclipse
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论