【问题标题】:Fatal SIGSEGV error in Java Runtime EnvironmentJava 运行时环境中的致命 SIGSEGV 错误
【发布时间】:2011-04-18 17:15:44
【问题描述】:

在 linux 上运行 java 应用程序时收到以下错误,导致 jvm 崩溃:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000000000003a, pid=7629, tid=140107993413376
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  0x000000000000003a
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

完整的错误日志见http://pastebin.com/NghPkCpx

不知道从哪里开始,通常我会检查 Java 框架:

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0
j  java.lang.UNIXProcess.access$500(Ljava/lang/UNIXProcess;[B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+18
j  java.lang.UNIXProcess$1$1.run()V+93
v  ~StubRoutines::call_stub

虽然不知道从中做什么,但有什么想法可以进行调试吗?

【问题讨论】:

    标签: linux java jvm-hotspot segmentation-fault


    【解决方案1】:

    除非您有自己的 JNI 代码,否则您遇到了 Java 本身的错误,没有必要“调试”它。您能做的最好的事情就是寻找更新版本的 JRE。

    【讨论】:

    • 感谢您的建议,可以分享/扩展您的推理/结论吗?由于之前的分段错误,我们已经能够调试 java 帧信息,例如 forums.oracle.com/forums/message.jspa?messageID=9525779 是否值得将此问题移至 oracle 论坛?
    • 这么说吧:作为一名 Java 程序员,您是否应该注意(“调试”)JVM 本机代码、平台本机库、内核代码、硬件 ROM 代码和处理器接线中的问题?如果您认为自己应该这样做,那么如果从 Java 转向更接近硬件的工作,您可能会感到更快乐。
    • 报告给Oracle,同时尝试寻找解决方法。等他们修好。睡个好觉。
    • 您引用的 oracle 页面正在讨论 your jni 的问题。您的回溯是他们的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多