反思
其实这个问题并不复杂,但由于自己的思路不对、网上并没有此现象的对应解释,导致耗费的时间较长。为了避免后人采坑,故分享。
现象
Jenkins(2.89.4)的pipeline偶现stuck。
调查过程
可能原因
内存?并发?IO load过高? slave磁盘吃紧?sessionTimeout?pipeline使用姿势不对?GC?
执拗于上述可能原因一段时间无果后,只能threadDump了
threadDump
jstack pid > threadDump.txt
借助thread分析工具(PS: 居然还有火焰图),可以很清晰的看到线程处于RUNNABLE(死循环/狂吃CPU)
其实,有了这个图也就差不多了:blueocean所调用的WeakHashMap有问题。
根本原因
blueocean(1.5.0)的代码bug,下图是其changeLog
