Failed to write core dump. Minidumps are not enabled by default on client versions of Windows_王小新..的博客-CSDN博客_failed to write core dump. minidumps are not enabl

`

  1. A fatal error has been detected by the Java Runtime Environment:

  2. EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000001800156c4, pid=1376, tid=0x0000000000002b40

  3. JRE version: OpenJDK Runtime Environment (8.0_242-b08) (build 1.8.0_242-b08)

  4. Java VM: OpenJDK 64-Bit Server VM (25.242-b08 mixed mode windows-amd64 compressed oops)

  5. Problematic frame:

  6. C [sigar-amd64-winnt.dll+0x156c4]

  7. Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

  8. If you would like to submit a bug report, please visit:

  9. The crash happened outside the Java Virtual Machine in native code.

  10. See problematic frame for where to report the bug.

  11. --------------- T H R E A D ---------------
  12. Current thread (0x0000017a90c2e000): JavaThread "agent-host-metrics-poller" daemon [_thread_in_native, id=11072, stack(0x0000004916f00000,0x0000004917000000)]
  13. siginfo: ExceptionCode=0xc0000005, reading address 0xffffffff92c80d90
  14. Registers:
  15. RAX=0xffffffff92c80c40, RBX=0x0000017a93310c50, RCX=0x0000017a90c2e1e0, RDX=0x0000004916ffec58
  16. RSP=0x0000004916ffeae0, RBP=0x0000004916ffec38, RSI=0x0000000000200021, RDI=0x00000000000004ab
  17. R8 =0x0000000000000032, R9 =0x00000000f3657458, R10=0x00000000000002a8, R11=0x000000006aa0ecf4
  18. R12=0x0000000000000000, R13=0x0000017a93310c48, R14=0x0000004916ffec60, R15=0x00000
  19. 17a90c2e000

`

大概就是这样的错把。

 

 我的场景是这样的,我们是做的一个压力测试项目,网上拉取了一个Ngrider开源项目,然后整合了一下,我们自己开发性能测试系统, 有个 代理服务安装程序 ,点击下载,下载后是一个tar格式的压缩包看下面图:

看里面的文件:

 

大概是这样的,我刚来公司的第一天,经理丢给了我这个任务,让我去解决,我一头雾水,说是我们这边开发完了,然后丢给客户使用的时候,说报错,点击bat启动直接闪退,还打了log日志文件,可能是java版本导致的。我可以说,整个csdn、博客园、github看遍了最后找到了问题所在, 接下来贴上我自己的解错流程:

1.首先排除堆、jdk、tomcat大小内存问题,错误日志中显示内存足够,点击后缀名是bat的文件启动的时候,闪退,会生成一个文件,
   log文件,其中有一个heap开头的,是堆的意思,看下是否内存问题。
2.Failed to write core dump. Minidumps are not enabled by default on client versions of Windows,
  无法写入核心转储。默认情况下,在客户端版本的Windows上不启用小型转储,自己可以在百度上看看这个文件如何打开,或者如何创建,问题排除,已开启。
3.IDEA所有的子项目编译全部改为1.8
4.tomcat换成8代    
5.在tomcat的配置文件中更改指定的jre   

6.Problematic frame:C  [sigar-amd64-winnt.dll+0x14ed4],sigar-amd64-winnt.dll+0x14edll文件,JDK1.8.0_131 到 1.8.0_241 都没问题,
   jdk官方和sigar就这个问题讨论过,并不是jdk的bug,只是代码责任边界的问题,请使用1.8.0_101,不要使用1.8.0_261之后的版本

7.下载sigar-amd64-winnt.dll+0x14edll文件,放到jdk的bin目录下             无效
8.将sigar-amd64-winnt.dll+0x14edll放在C:\Windows\System32目录下    无效
9.报这个sigar-amd64-winnt.dll+0x14edll错的代表sigar4.1版本不匹配,自行网上下载替换。

大概是以上了,相信如果有同样错误的老哥们,肯定也发现了,1.8.0_241之前都是可以使用的,网上给的方案也是说明白了,让你换版本,但是客户那边就一直说,为啥要换,不能找方法解决吗?

最后的正解,地址:https://github.com/hyperic/sigar/issues/141,英语不行的可直接翻译,在最下面可以看到

,点击下载,下载完后,你需要看一下,右键属性查看版本信息,如果是比你目前的版本低一个版本,我好像记得是6.4.0的把,我也忘了,我们之前勇的是6.4.1的好像,就是低了一个版本,我也不清楚这个老外是否把这个dll重构了,我不知道我说的各位老哥是否能看懂,如果能看懂的老哥,到这里也就知道怎么做了,把这个dll文件重新覆盖之前的dll文件,应该是在Ngrider文件下还是哪里,我忘记了,老哥们可以找一下,好像是需要把dll文件注册到windows中,或许不需要,直接替换直接启动试一下,时间久了忘记了。还有一个问题,就是比如说你打包了项目后,你是使用的jdk8打包的,然后上传了,部署了,然后你点击下载到本地一个一个tar包,你点击bat启动,此时你的jdk版本是11都可以启动(狗头)。大概就是这些了,如果有问题可以一起探讨


原网址: 访问
创建于: 2023-02-13 09:25:18
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论