一次线上多线程程序问题排查-阿里云开发者社区

开发者社区> 科技小先锋> 正文

一次线上多线程程序问题排查

简介:
+关注继续查看

问题描述:

周一发现线上的一个程序从上周日一直运行“卡住”了十多个小时,本来是10MIN一次更新数据的,导致现在数据一直停留在过去,并且由于程序一直“卡住”不报错,使得我们收不到报警短信通知。


问题分析与定位:


根据报错日志来看,是一个类A的static区域发生了异常,由于在static区域并没有catch住这个异常,导致类A无法加载成功,JAVA异常打印如下:

java.lang.NoClassDefFoundError: Could not initialize class

可是,为什么程序会“卡住”呢?



接下来,分析了下,程序的运行结构,发现:

程序会开启N个线程去并发请求数据,然后利用JOIN的方式,合并线程,待所有线程都请求完后,再去执行其他步骤。在线程任务类中的run方法利用到了那个类A!更加重要的是,在对类A方法调用也没有任何异常的处理!

也就是说这N个线程运行run方法,就会抛出异常,线程就会终结!

线程已经死掉了,可是JOIN还在等待着线程进行合并,一直等待着他们活过来!

这就是程序为什么一直卡住的根本原因!



可见,我们在对待线程的异常处理上,应该小心,如果我们不处理,那么这个线程可能死掉,我们还不知道!那么处理线程异常的方式有哪些呢?


线程内解决:

线程是一段独立的代码,有问题,应该让它自己来CATCH住处理,即应该注意在run方法中处理异常。


线程外解决:

Thread方法提供了一个方法:setUncaughtExceptionHandler

可以通过这个方法来实现线程代码之外处理未捕获异常!


本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1704416,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
千人千面线上问题回放技术
闲鱼技术--殷诗壮(geneyin) 导语 发布app后,开发者最头疼的问题就是如何解决交付后的用户侧问题的还原和定位,是业界缺乏一整套系统的解决方案的空白领域,闲鱼技术团队结合自己业务痛点提出一套全新的技术思路解决这个问题并在线上取得了比较满意的实践效果。
3032 0
Linux下多线程编程遇到的一些问题
今天在学习了Linux的多线程编程的基础的知识点。于是就试着做了一个简单的Demo。本以为会得到预期的结果。不成想却遇到了意想不到的问题。 代码展示 我的C 代码很简单,就是一个简单的示例程序,如下: #include #include #include i...
694 0
MySQL|主从延迟问题排查(一)
大查询长时间执行无法释放DML读锁,后续同步主库的DDL操作获取DML写锁资源被阻塞等待,导致后续同步主库的操作堆积,主从延迟增长严重。从同步延迟的监控来看,延迟从17:11开始,17:51:59进行kill大查询操作,直到17:53建议业务方将大查询kill掉后才结束。
1547 0
记录一次 CLOSE_WAIT 问题排查和梳理
本文记录了一次排查CLOSE_WAIT过多问题的经历和事后梳理学习的过程
5775 0
【Redis】线上7000w+ keys && 16G内存100%的排查修复经历
起因 我们使用的一直是阿里云的redis, 我们并非高并发应用, 主要也就是拿来做分布式锁和少量的缓存, 基本不怎么需要维护, 昨天下午突然收到一封告警邮件, 线上redis内存使用100%, 瞬间神经绷紧感觉上控台确认.
3510 0
Dev 日志 | 一次 Segmentation Fault 和 GCC Illegal Instruction 编译问题排查
本文记录了 Segmentation fault (core dumped) 和 internal compiler error: Illegal instruction 两个错误信息的 Debug 过程
1338 0
一次性搞清楚线上CPU100%,频繁FullGC排查套路
“ 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及 Full GC 次数过多的问题。 当然,这些问题最终导致的直观现象就是系统运行缓慢,并且有大量的报警。 本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。
1699 0
4571
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载