我正在使用 Java 编码的桌面应用程序来跟踪我在项目上的时间。
我一直使用它,直到 IT 在我的工作站上进行了新设置。现在我无法启动此应用程序。
启动时我得到一个日志文件说:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8fd8f5, pid=616, tid=4072
#
# JRE version: 6.0_15-b03
# Java VM: Java HotSpot(TM) Client VM (14.1-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# V [jvm.dll+0xfd8f5]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
谷歌搜索了一段时间后,我去了 Troubleshooting guide由 Sun 制作并再次启动带有 -Xcheck:jni
参数的应用程序。结果是我得到了这个新错误:
FATAL ERROR in native method: Wrong object class or methodID passed to JNI call
at org.jdesktop.jdic.tray.internal.impl.DisplayThread.initTray(Native Method)
at org.jdesktop.jdic.tray.internal.impl.DisplayThread.run(Unknown Source)
- locked <0x2801e4e0> (a java.lang.Class for org.jdesktop.jdic.tray.internal.impl.DisplayThread)
我试图下载 JDIC 的最新版本,但即使启动他们自己的示例也会出现同样的错误。我想问题出在错误消息中的 locked 但我不知道从现在开始该去哪里......
你能帮帮我吗?
我的盒子:
Windows XP SP3
Java 6 (1.6.0_15)
更新
不幸的是,它现在已经修复了,我不知道如何修复。从昨天开始,我唯一能说的就是我至少重新启动了一次,此外我没有安装新的 Java 安装程序或其他任何东西...如果有人遇到同样的问题,我很抱歉。
最佳答案
啊 JNI 的乐趣!
我认为这是在说您的应用程序尝试使用的 native 代码库的 API 与 Java 端不兼容。我的猜测是 IT 人员所做的更改包括更改库/DLL/Java 应用程序尝试使用的任何内容。
关于java-native-interface - JNI 代码中的 fatal error - 可能在 JDIC 库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1264869/