Lal*_*and 8 java gtk swing look-and-feel fatal-error
每当我检查是否支持GtkLookAndFeel时,我遇到了JRE崩溃的问题.令人惊讶的是,这个错误似乎只出现在Oracle JRE上.
到目前为止,我已经测试了三个JRE的行为:
(我正在使用所有这些的64位版本)
以下是触发此错误的代码:
import javax.swing.LookAndFeel;
public class Test
{
public static void main(String[] args)
{
LookAndFeel currLAF = new com.sun.java.swing.plaf.gtk.GTKLookAndFeel();
currLAF.isSupportedLookAndFeel();
System.out.println("I am exiting main");
}
}
Run Code Online (Sandbox Code Playgroud)
以下是结果输出:
I am exiting main
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f91fe0fdbe0, pid=332, tid=140265730119424
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C 0x00007f91fe0fdbe0
#
# 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:
# /home/ethan/fail/hs_err_pid332.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
Run Code Online (Sandbox Code Playgroud)
请注意,程序退出main后才会崩溃.
作为参考,我正在使用64位debian测试机进行开发,并且我已经验证了其他GTK + apptications的工作原理.
我应该向Oracle报告这个问题,还是我做错了什么?
我肯定会向 Oracle 提交错误报告。我记得很多年前,类似的事情也发生在我身上。您已经完成了尽职调查并在多个运行时环境中进行了测试,并且已经确定(至少在上层)发生错误的位置。我会告诉他们您所做的一切(如此处所列),并且为了安全起见,如果可以的话,请在几台不同的机器上运行相同的代码。我知道 Java 应该以同样的方式运行,它就是这样设计的,但无论如何都要这样做,这样你至少可以在错误报告中说你是这样做的。
确保遵循此处的这些指南来收集正确的信息、故障转储、系统信息、运行时信息等:https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/bugreports.html
如果可以的话,获取核心转储。核心转储对于 Oracle 人员调试实际发生的情况非常有帮助(几乎达到所需的程度)。以下是 Oracle 页面的链接,但您可能需要找到适合您的计算机的具体信息: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/bugreports004.html#CHDJJAJE
从上面的链接:
在 Linux 操作系统上,未处理的信号(例如分段违规、非法指令等)会导致核心转储。默认情况下,核心转储创建在进程的当前工作目录中,核心转储文件的名称为 core.pid,其中 pid 是崩溃的 Java 进程的进程 ID。
ulimit 实用程序用于获取或设置当前 shell 及其后代可用的系统资源的限制。使用 ulimit -c 命令检查或设置核心文件大小限制。确保限制设置为无限制;否则核心文件可能会被截断。
这是 Java Oracle Bug 报告站点的链接: https: //bugreport.java.com/