线上故障排查之异常的堆栈信息怎么突然就不见了

上周四,线上环境突然疯狂告警,我手机一直滴滴滴滴响个不停

这是一开始看到的告警信息,目测能看出可能是依赖的产品服务出问题了

等我打开电脑一看时,发现告警邮件又变成下面的样子

就只有一个空指针,啥堆栈都没有了(这我就有点懵逼了,大晚上12点,要是不是别人的问题把别人喊起来这不太好)

今天又发过版本,先镜像回滚吧,这样稳妥点(前提得确定新发布的代码,确认回滚不会出问题)

回滚完之后发现告警还在,那么就只能找产品的同学起来看了,结果已联系发现产品那边已经发现自己出问题了

后来服务是恢复了,但是这个没堆栈的问题我一直记着,不把这玩意原因找到,下次再这样我岂不是凉了

因为实例已经重启过了,我只能去日志服务器下载下来排查,6个压缩文件,几十个G

打开error日志的文件一看,全是null,一点堆栈信息都没有,我只能随便拉了一条,用traceId去info文件查全链路的日志,结果还是看不出来任何玩意

我第一反应肯定是因为自己日志打的有问题,但是反复确认了百分之百没错,而且最开始的一些是有堆栈的

第二个猜测,我整个流程中是不是对捕获的异常做了处理,我一行行debug进去,也没发现相关有问题的操作

第三个猜测,这TMD就不是我这边抛出的异常,这是不是就是外部服务抛给我的错误信息,所以没有堆栈信息,然而这全流程就只涉及两个外部调用,入口都塞了特殊的前缀,所以也不可能

最后我只从日志工具本身的问题排查原因了,偶然间看到的一篇文章给我解惑了:

java5之后的一个优化,频繁抛出的异常,JIT会重新编译后抛出没有堆栈的异常信息

备注:我很庆幸我一直没有放弃排查这个问题,虽然花了好几个小时,但是真相大白后真的很开心,哈哈哈哈

不要放过任何一个小的问题点,因为它真的能延伸出很多知识点,那都是你没办法从书本上,没办法让别人手把手交给你的。继续加油!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值