记一次.NET某工控 宇宙射线 导致崩溃分析
原文中文,约5600字,阅读约需14分钟。发表于: 。一:背景 1. 讲故事为什么要提 宇宙射线, 太阳耀斑 导致的程序崩溃呢?主要是昨天在知乎上看了这篇文章:莫非我遇到了传说中的bug?,由于 rip 中的0x41变成了0x61出现了bit位翻转导致程序崩溃,截图如下:下面的评论大多是说由于 宇宙射线,这个太玄乎了,说实话看到这个 传说bug 的提法,我还是挺兴奋的,毕竟在我的分析旅程中,我也是真的遇到过,这篇就拿出来给大家分享吧,当时百思不得其解...
作者遇到程序崩溃问题,使用Windbg分析发现是宇宙射线导致的。通过验证托管堆上的对象和方法表的数据发现bit位翻转问题。可能的原因包括宇宙射线、太阳耀斑、地磁暴、电离辐射、硬件故障、杀毒软件和内存超频。内存超频引发的程序不稳定概率最大。