首页 > 系统相关 >【问题记录】JVM进程崩溃(hs_err_pid.log致命错误日志)

【问题记录】JVM进程崩溃(hs_err_pid.log致命错误日志)

时间:2025-01-23 11:43:50浏览次数:1  
标签:err Java log thread hs 线程 JVM 崩溃 日志

一个使用kafka的Java项目,在Windows环境启动后不久出现进程崩溃的情况,反复验证偶发的能得到hs_err_pid.log致命错误日志,始终没有生成coredump。

通过错误日志确实看到了导致崩溃的线程堆栈跟kafka客户端有关,但栈顶显示当前在执行native本地代码,我们分别替换了kafka-clients的历史版本,问题依然存在。

查询了一下winncap364.dll文件:C:\Windows\System32\winncap364.dll,更新时间是2024-07-12,抱着侥幸心理从网上下载了一个该文件的历史版本并替换验证,jvm进程崩溃的问题消失了。

 

image

hs_err_pid.log文件包含信息如下:

  • 崩溃事件简要分析
  • 崩溃时刻正在运行的线程
  • jvm里面的所有线程
  • 内存的使用情况
  • GC日志
  • JVM内存映射
  • jvm参数
  • 服务器信息

栈帧的类型包括:

  • C: 本地 C 帧
  • j:  解释的 Java 帧
  • V: 虚拟机帧
  • v: 虚拟机生成的存根栈帧
  • J:  其他帧类型,包括编译后的 Java 帧

线程类型包括:

  • JavaThread   java线程 代表正在执行java代码
  • VMThread    JVM线程
  • CompilerThread  用来调用JITing,实时编译装卸class 。 通常,jvm会启动多个线程来处理这部分工作,线程名称后面的数字也会累加,例如:CompilerThread1
  • GCTaskThread  GC线程
  • WatcherThread  JVM 周期性任务调度的线程,是一个单例对象
  • ConcurrentMarkSweepThread 表示一个并行GC的线程

线程状态说明:

  • _thread_uninitialized:线程还没有创建,它只在内存原因崩溃的时候才出现
  • _thread_new:线程已经被创建,但是还没有启动
  • _thread_in_native:线程正在执行本地代码,一般这种情况很可能是本地代码有问题
  • _thread_in_vm:线程正在执行虚拟机代码
  • _thread_in_Java:线程正在执行解释或者编译后的 Java 代码
  • _thread_blocked:线程处于阻塞状态
  • …_trans:以_trans 结尾,线程正处于要切换到其它状态的中间状态

 

搜索winncap364.dll文件时,在网上也看到其他软件反馈该dll的类似兼容性问题:

https://blog.csdn.net/BOXonline1396529/article/details/133926665

标签:err,Java,log,thread,hs,线程,JVM,崩溃,日志
From: https://www.cnblogs.com/zhaoguan_wang/p/18687441

相关文章

  • 【Linux日志】syslog协议的Linux系统日志服务程序使用
    一、什么是syslog协议syslog协议为网络设备间传输日志信息提供了标准化解决方案。借助该协议,服务器、路由器、防火墙等各类设备能够将日志消息发送至中央日志服务器,实现日志的集中管理与分析。下面为您详细介绍syslog协议的关键概念和组成部分:1.协议版本RFC3164:早期的s......
  • 如何在织梦CMS中修改网站logo?
    织梦CMS是一种功能强大的内容管理系统,修改网站logo相对简单。以下是详细的步骤:备份文件: 在进行任何修改之前,确保备份网站的logo文件。准备新logo: 准备一个新的logo图片,确保图片格式为PNG或JPEG,并且大小适合网站的需求。上传新logo: 使用FTP工具(如FileZilla)连接到服务器,将新l......
  • 请问如何在织梦CMS中修改网站logo?
    织梦CMS是一种功能强大的内容管理系统,修改网站logo相对简单。以下是详细的步骤:备份文件: 在进行任何修改之前,确保备份网站的logo文件。准备新logo: 准备一个新的logo图片,确保图片格式为PNG或JPEG,并且大小适合网站的需求。上传新logo: 使用FTP工具(如FileZilla)连接到服务器,将新l......
  • Weblogic - V10.0.2 ~V10.3.6 - uddi 组件 SSRF 漏洞 - CVE-2014-4210
    0x01:漏洞简介Weblogic的uddi组件存在一个SSRF漏洞。利用该漏洞,攻击者可发送任意HTTP请求,进而对内网中的脆弱组件(redis、fastcgi)进行进一步的攻击。漏洞点:/uddiexplorer/(无需登录即可访问)0x02:影响版本Weblogic10.0.2~Weblogic10.3.60x03:环境搭建环境准备......
  • logrus使用方法
    目录1.安装logrus2.基本用法输出示例3.日志级别设置日志级别记录不同级别的日志4.添加字段输出示例5.自定义日志格式输出示例6.使用钩子(Hooks)输出示例7.日志输出到文件8.使用日志实例9.日志轮转安装lumberjack使用lumberjack10.性能优化总结logrus是Go语言中......
  • spring-boot-starter-data-redis OutOfDirectMemoryError 堆外内存泄漏
    一、现象  起因:应用经常重启,JVM内存是比较稳定,查看错误日志发现是堆外内存泄漏,而且观看相关的trace,只有这个用户会导致OutOfDirectMemoryError继续排查现象查看redis出口流量远没有这么大查看对应堆栈的数据的key,也木有这么大。900KB左右(这个很大,也是促成现象的原......
  • 【Mysql日志介绍】一般查询日志、慢查询日志、错误日志、二进制日志、Redo Log 、Undo
    一、日志简介 MySQLServer有以下几种日志,可以记录服务器正在发生的活动。日志类型日志信息错误日志(Errorlog)mysqld在启动、运行或停止时遇到的问题一般查询日志(Generalquerylog)已建立的客户端连接和从客户端接收到的语句慢查询日志(Slowquerylog)执行时间超......
  • 请问如何在帝国CMS中修改网站logo?
     帝国CMS是一种功能强大的内容管理系统,修改网站logo相对简单。以下是详细的步骤:备份文件: 在开始修改之前,确保备份网站的logo文件。准备新logo: 准备一个新的logo图片,确保图片格式为PNG或JPEG,并且大小适合网站的需求。上传新logo: 使用FTP工具(如FileZilla)连接到服务器,将新log......
  • MySQL--为什么有了redo log还需要double write buffer机制?
      我们知道,数据页被加载到内存中,经过增删改一系列的操作后,并不会立即落盘,而是由后台线程选择某个合适的时机写入磁盘。在数据页尚未落盘时,如果这时MySQL突然崩溃或者断电,内存中的数据将全部丢失。这时,redolog就可以发挥其作用了,只要重放redolog就可以恢复事务。  但......
  • Spring AI SimpleLoggerAdvisor
    SpringAI中的SimpleLoggerAdvisor是一个用于日志打印的工具,它在SpringAI的Advisor系统中扮演着重要的角色。以下是对SpringAISimpleLoggerAdvisor的详细解析:一、SpringAIAdvisor系统概述SpringAIAdvisor的核心功能在于拦截并可能修改AI应用程序中聊天请求和响应流......