很多年以前了,那时tester发现一个server crash,通过测试pager功能很多次,可以把server搞崩溃。

一般来说,能再现的bug都不难改,不过这次因为要跑很多次test,才能再现crash,所以测得也不容易。

记得当时为了再现这个bug,我还写了个pager的模拟器,来模拟对应的功能。

当时从tester的测试看,这个crash发生在连接刚开始阶段,但因为不能保证之后没有问题,所以就写了对应的模拟功能,虽然最后证明问题确实出在线程启动阶段,不过通过模拟器证明之后的代码没问题,也算了了心事。

最后发现的bug是,thread handle在线程内部关闭所致,虽然我从没这样处理过thread handle,不过从写代码的角度,我不会认为这有什么问题,直到这次bug fix。