记一次 .NET 某SaaS版CRM系统 崩溃分析
💡
原文中文,约6100字,阅读约需15分钟。
📝
内容提要
一名学员在K8s中遇到程序崩溃,分析发现是微软MemoryCache类的空引用异常导致。终结器线程处理未捕获异常时再次抛出异常,最终导致程序崩溃。建议升级MemoryCache版本以解决该问题。
🎯
关键要点
- 一名学员在K8s中遇到程序崩溃,日志未记录,抓取了dump进行分析。
- 崩溃原因是终结器线程抛出空引用异常,导致程序崩溃。
- 通过分析发现是微软的MemoryCache类导致的空引用异常。
- OnUnhandledException方法中存在空引用异常,可能是由于eventArgs为null。
- 建议升级MemoryCache版本以解决该问题,升级后发现问题已解决。
- 终结器线程处理未捕获异常时再次抛出异常,导致程序崩溃。
- 此次事故揭示了MemoryCache类中的新手级bug,令人震惊。
➡️