最近在使用IDEA时,打开项目莫名其妙的就崩溃了,重启了电脑,重启了IDEA依然无效。

仔细回顾这两天做了什么操作,除了从GitHub上clone了一个项目,并用IDEA打开过该项目之外,并无其他操作。

于是只好分析错误日志,IDEA每次崩溃都会在特定的目录下生成一个错误日志,崩溃的时候也会弹框显示错误原因。崩溃日志可在Help->Edit Custom VM Options中进行查看:

-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Xbootclasspath/a:../lib/boot.jar

我这里找到的IDEA崩溃信息如下:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (safepoint.cpp:917), pid=2771, tid=138023
# fatal error: Illegal threadstate encountered: 4
#
# JRE version: OpenJDK Runtime Environment (11.0.6+8) (build 11.0.6+8-b765.25)
# Java VM: OpenJDK 64-Bit Server VM (11.0.6+8-b765.25, mixed mode, tiered, compressed oops, concurrent mark sweep gc, bsd-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# 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 8,为什么描述信息中显示的是OpenJDK 11呢?检查了所有的项目,把项目所使用的JDK均修改为Java 8,但依旧崩溃~真有点冰块。

后来想到,是不是在构建项目的时候用了其他版本的JDK?于是在Preferences中逐项查找,还真找到了与日志中一直的JDK版本。

对应路径为:Build->Build Tools->Maven->importing。

JDK for importer

在上述路径的配置项中有一项:JDK for importer,可以看出,这里使用了java 11.0.6+8。基本确定是这里导致了崩溃。于是,将其修改为Java 8,重启IDEA,问题得到解决。



IDEA崩溃:A fatal error has been detected by the Java Runtime Environment解决方案插图1

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://choupangxia.com/2022/07/05/idea/