当前位置: 首页 > 知识库问答 >
问题:

致命错误:遇到非法线程状态:4。。。如何防止这种情况?

潘琪
2023-03-14

我是编程初学者,我对Java有问题。从2-3个月前开始,我的程序偶尔会因为这个错误而崩溃:

A fatal error has been detected by the Java Runtime Environment:
Internal Error (safepoint.cpp:712), pid=14516, tid=0x0000000000009f0b
fatal error: Illegal threadstate encountered: 4
JRE version: Java(TM) SE Runtime Environment (8.0_111-b14) (build 1.8.0_111-b14)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.111-b14 mixed mode bsd-amd64 compressed oops)
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:
/Users/John/NetBeansProjects/Lab15/hs_err_pid14516.log

If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

如果有人能帮助我了解如何防止这种情况,我将不胜感激。几年来,我一直在用Java编程,但我从未遇到过这个问题。我正在使用Netbeans 8.2和Java 1.8.0\u 333。我的操作系统是Monterey 12.3.1。

非常感谢你!

共有2个答案

谢骏奇
2023-03-14

虽然您说您使用的是Java 1.8.0\u 333,但错误消息说它来自更旧的Java 1.8.0\u 111-b14。

人们的计算机上有多个JDK是很常见的。MacOS附带一个古老的JDK:-(并且它不能被删除:-)(但有一个解决方法:-)

听起来您安装了一个较新的JDK。为了确保它实际被使用,请在您的shell配置文件中定义JAVA_HOME环境变量(可能在. zshrc中)。许多Web文章都展示了如何使用,例如来自Baeldung的这篇文章。

我希望这有帮助。

谷出野
2023-03-14

这种现象通常意味着你的程序不能分配足够的内存,正如我们所知,Java程序运行在JVM上,JVM需要从操作系统中分配内存空间,对于更详细的错误原因,需要查看hs_err_pidxxx.log文件的内容

 类似资料:
  • 我正在使用jdb dubugger,它的问题是在每个捕获到的异常上都会停止,尽管我没有执行任何捕获。。。。声明。在类加载过程中,有数百个: 发生异常:java。io。FileNotFoundException(uncaught)“thread=thread-2-EmulatorEngine”,sun。其他。URLClassPath$JarLoader。ensureOpen(),行=634 bci=

  • 问题内容: 我正在Jenkins管道中以代码形式编写Android构建过程。脚本的相关部分是: 运行构建时,出现以下错误: 我相信该问题与get_current_time_date函数有关,但我不确定如何处理。 我已经在互联网上阅读了有关该错误的信息,发现可以去Jenkins-> Manage Jenkins->进程内脚本批准并批准某些代码运行,但是如何防止这种情况发生?我不确定应该批准哪个代码(

  • 我最近读了Tweag的帖子。关于线性类型是表达参数的有用工具,只(准确地)使用一次。他们提出了以下例子: 现在,也许我误解了这个想法,但为什么不能用以下方法来规避呢: 这篇文章特别提到了论点。这是否也扩展到了函数中的所有绑定?

  • 本文向大家介绍防止Node.js中错误导致进程阻塞的办法,包括了防止Node.js中错误导致进程阻塞的办法的使用技巧和注意事项,需要的朋友参考一下 前言 在Node.js中,当某个回调函数发生了错误,整个进程都会崩溃,影响后面的代码执行。 Node.js这样处理,是因为在发生未被捕获的错误时,进程的状态就不确定。之后也就无法正常工作了。如果错误始终不处理的话,就回一直抛出意料之外的错误,这样不利于

  • 打开页面 https://github.com/fatedier/frp/releases 用浏览器,下载frp_0.33.0_linux_amd64.tar.gz 解压后, cd /home/debian/Downloads/frp_0.51.3_linux_amd64 ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICE

  • 问题内容: 您好,我是angularJS的新手,并一直在尝试阻止根据用户critera访问某些状态。 这是从ui-router的FAQ中准确描述的,但是我无法使其正常工作。我需要什么,但要在数据对象中准确地完成此操作? (我看到有人在某些博客文章教程中投入“ true”,并像我一样使用它,但这似乎不起作用,因为我收到一条错误消息,指出needAdmin未定义) 这是我的代码: 问题答案: 如果状态