Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java VM异常\u访问\u冲突的可能原因?_Java_Null_Jvm_Crash_Swt - Fatal编程技术网

Java VM异常\u访问\u冲突的可能原因?

Java VM异常\u访问\u冲突的可能原因?,java,null,jvm,crash,swt,Java,Null,Jvm,Crash,Swt,当Java虚拟机因异常访问冲突而崩溃并生成hs_err_pidXXX.log文件时,这表明了什么?错误本身基本上是一个空指针异常。它总是由JVM中的错误引起的,还是有其他原因,如硬件故障或软件冲突 编辑:有一个本机组件,这是win32上的SWT应用程序。大多数情况下,这是VM中的一个错误。 但它可能是由任何本机代码(例如JNI调用)引起的 hs_err_pidXXX.log文件应包含有关问题发生位置的一些信息 您还可以检查文件中的“Heap”部分。许多VM错误都是由垃圾收集引起的(尤其是在旧VM

当Java虚拟机因异常访问冲突而崩溃并生成hs_err_pidXXX.log文件时,这表明了什么?错误本身基本上是一个空指针异常。它总是由JVM中的错误引起的,还是有其他原因,如硬件故障或软件冲突


编辑:有一个本机组件,这是win32上的SWT应用程序。

大多数情况下,这是VM中的一个错误。 但它可能是由任何本机代码(例如JNI调用)引起的

hs_err_pidXXX.log文件应包含有关问题发生位置的一些信息

您还可以检查文件中的“Heap”部分。许多VM错误都是由垃圾收集引起的(尤其是在旧VM中)。本节将向您展示崩溃时垃圾是否正在运行。本节还显示了堆的某些部分是否已填充(百分比数字)


VM在内存不足的情况下崩溃的可能性也比其他情况大得多。

您应该做的第一件事是将JVM升级到最新版本

你能重复一下这个问题吗?或者这似乎是随机发生的?我们最近遇到了一个问题,我们的JVM在任意时间崩溃。原来是硬件问题。我们把驱动器放在一个新的服务器上,它完全消失了


总之,JVM永远不会崩溃,正如上面的海报所述,如果您没有进行任何JNI,那么我的直觉是您有硬件问题。

如果您知道要查找什么,问题的原因将记录在hs_err*文件中。看一看,如果它还不清楚,考虑发布第一个5行或10行堆栈跟踪和其他相关信息(不要张贴整个事情,那里有大量的信息,这将无济于事-但你必须找出哪1%个重要:-)< /P> < P>你是否使用浏览器小部件并在浏览器窗口中执行JavaScript?如果是这样的话,那么SWT的某些版本中存在bug,导致JVM在各种Windows库的本机代码中崩溃

(我打开的)两个例子是和。然而,这两个错误报告并不是SWT中JVM崩溃的唯一错误报告

如果您没有使用浏览器小部件,那么这些建议对您没有帮助。在这种情况下,您可以搜索一个列表。如果这些都不是您的问题,那么我强烈建议您使用SWT打开错误报告。

找到答案


我也有同样的错误,并注意到提供pid日志文件内容的其他人正在运行64位Windows。就像我一样。在日志文件的末尾,它包含PATH语句。在那里,我可以看到C:\Windows\SysWOW64错误地列在:%SystemRoot%\system32之前。一旦我纠正了它,异常就消失了

我在使用JNLP应用程序时遇到了相同的问题,我已经使用了很长时间,而且非常可靠。问题是在我从Windows7升级到Windows10后立即出现的。根据我的调查,它很可能是Win10中的一个bug

以下不是一个解决方案,而是一个丑陋的解决方法。在jre/bin目录中,有javaws.exe。如果我右键单击/Properties/Compatibility并勾选以管理员身份运行此程序,JNLP应用程序开始工作


请注意,这种方法可能会导致安全问题,只有在您没有其他选择并且100%知道自己在做什么的情况下才使用它。

您是否在做任何涉及本机代码的事情,比如Java3D或其他什么?您能描述一下确切的问题是什么吗?我正在与这种错误作斗争,思考如何检测硬件问题。检测硬件问题的一种方法是查看windows的“事件查看器”。有一个很高的变化,硬件问题将在那里报告。如何检查垃圾收集器是否在崩溃期间运行?非常感谢!事实证明,我的PATH变量中也有一个错误条目,对其进行更正修复了该问题。