gpt4 book ai didi

java - Oracle Jre 上的 GtkLookAndFeel 致命崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:50 25 4
gpt4 key购买 nike

我遇到一个问题,每当我检查是否支持 GtkLookAndFeel 时,JRE 就会崩溃。令人惊讶的是,这个错误似乎只出现在 Oracle JRE 上。

到目前为止,我已经在三个 JRE 上测试了行为:

(我使用的是所有这些的 64 位版本)

  • OpenJDK 运行时环境 (IcedTea 2.5.1) (7u65-2.5.1-4) -> 运行良好
  • Java(TM) SE 运行时环境(build 1.7.0_67-b01)-> 崩溃
  • Java(TM) SE 运行时环境(build 1.8.0_20-b26)-> 崩溃

这是触发此错误的代码:

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");
}
}

这是结果输出:

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
#

请注意,程序只有在退出 main 后才会崩溃。

作为引用,我正在 64 位 debian 测试机上进行开发,并且我已验证其他 GTK+ 应用程序可以正常工作。

我应该向 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

来自上面的链接:

On the Linux operating system, unhandled signals such as segmentation violation, illegal instruction, and so forth, result in a core dump. By default, the core dump is created in the current working directory of the process and the name of the core dump file is core.pid, where pid is the process id of the crashed Java process.

The ulimit utility is used to get or set the limitations on the system resources available to the current shell and its descendants. Use the ulimit -c command to check or set the core file size limit. Make sure that the limit is set to unlimited; otherwise the core file could be truncated.

这是 Java Oracle 错误报告站点的链接:https://bugreport.java.com/

关于java - Oracle Jre 上的 GtkLookAndFeel 致命崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25568685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com