一次win10系统运行项目崩溃问题的解决
2023-05-18

今天新创建一个springboot项目,使用某脚手架创建的,项目搭建好之后报错:

1
2
3
4
5
6
7
8
9
10
11
# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [sigar-amd64-winnt.dll+0x14ed4]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# 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.

起初以为是JVM的问题,在JVM的配置上折腾了半天 ,还是不见好。

然后我重点去查了一下这个错误,Failed to write core dump. Minidumps are not enabled by default on client versions of Windows造成这个报错的问题会有很多种情况,诸如:操作系统不支持核心转储、转储文件路径不存在、转储文件路径不合法、磁盘空间不足等都有可能造成这个错误。

基本都是windows系统的问题,但是我同样的其他项目是可以正常启动的,那就排除了是系统原因。

那我把目光又放在这句话前面这块内容:

1
2
# Problematic frame:
# C [sigar-amd64-winnt.dll+0x14ed4]

sigar-amd64-winnt.dll是一个用于获取系统信息的动态链接库,它提供了一组函数和数据结构,可以帮助程序员获取有关操作系统、CPU、内存、磁盘、网络等方面的信息。这个文件通常被用于开发各种系统工具、监控软件、性能测试程序等。

猜想或许是我引用到的sigar jar包没法正常工作,去掉sigar-1.6.4.jar的依赖,启动测试,可以正常使用了。

最后查询到原来是我使用的jdk版本和sigar一起使用就会出现这种问题,最后通过降低jdk小版本解决。

不过网上也有修复的sigar-amd64-winnt.dll文件,替换掉C:\Windows\System32下的文件可能也可以解决。