JavaFX EXCEPTION_ACCESS_VIOLATION

2023-12-10

我对 JavaFX 桌面应用程序有疑问,特别是 3D 渲染功能。 每次我尝试构建和启动 JavaFX 应用程序时,JVM 都会崩溃,并且会收到类似于以下错误的错误:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=8440, tid=9008
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000000000
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# D:\apps\desktop\hs_err_pid8440.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/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/FC6NfVjF

我尝试了不同的java版本(1.7_51、1.7_60以及1.8_5),我尝试更新显卡驱动程序。 有些项目确实启动了,但是一旦我想显示一些“更复杂”的效果(即悬停按钮),我就会得到同样的异常。

从堆栈跟踪来看,我相信这与 directX 有关。

j  com.sun.prism.d3d.D3DVertexBuffer.nDrawIndexedQuads(J[F[BI)I+0
j  com.sun.prism.d3d.D3DVertexBuffer.drawQuads(I)V+13
j  com.sun.prism.impl.VertexBuffer.flush()V+12

我正在使用 Windows 8.1 和 DirectX 11 的计算机上工作。可能这不会有帮助,但在这里我还粘贴了 DirectX 诊断工具日志:http://pastebin.com/giN4AFv4

感谢您的任何意见。


事故发生在内部C:\Windows\system32\igdumdim64.dll偏移处0xe5fe9.
该库是英特尔高清显卡驱动程序的一部分。

以下是如何从崩溃日志中查找此内容的快速提示。

# Problematic frame:
# C  0x0000000000000000

指令指针为零意味着存在间接调用,并且目标地址恰好是NULL。此调用的返回地址可能位于堆栈顶部。

Top of Stack: (sp=0x000000000ef4d398)
0x000000000ef4d398:   00007ffb308b5fe9 000000000e979800

00007ffb308b5fe9是保存的返回地址。我们来找出它所属的范围。

Dynamic libraries:
...
0x00007ffb307d0000 - 0x00007ffb31019000      C:\Windows\system32\igdumdim64.dll

通过减去基地址找到库中的偏移量:
0x00007ffb308b5fe9 - 0x00007ffb307d0000 = 0xe5fe9

接下来,有了 dll,我们就可以反汇编它并找出给定偏移量处的确切函数。

P.S.
还有一个 Windows 特定的 Java 标志-XX:+CreateMinidumpOnCrash这有助于生成更有意义的故障转储以供分析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaFX EXCEPTION_ACCESS_VIOLATION 的相关文章

随机推荐