1.jstack pid抓取jvm线程状态
2.查看结果,发现很多线程在等待waiting to lock <0x0000000716821260> (a org.hibernate.util.SoftLimitMRUCache)锁;
3.其中有一个是加锁线程:- locked <0x0000000716821260> (a org.hibernate.util.SoftLimitMRUCache);
4.查询waiting to lock <0x0000000716821260> (a org.hibernate.util.SoftLimitMRUCache),发现此问题为hibernate3.1.X的bug,多线程不安全,可能出现死循环。
本文通过使用jstack工具捕获JVM线程状态,发现了Hibernate3.1.X版本中存在的多线程安全问题。具体表现为多个线程在尝试获取同一锁资源时出现等待状态,进一步分析确认此为Hibernate的已知bug,可能导致应用程序出现死循环。

629

被折叠的 条评论
为什么被折叠?



