linq查询导致System.AccessViolationException

Hog*_*eed 6 vb.net exception linq-to-sql

我有一个奇怪的异常执行简单的linq查询,查询用VB.NET表示(抱歉..).例外情况是,如标题所示:"System.AccessViolationException",完整的异常消息链是

"System.Web.HttpUnhandledException:抛出了类型'System.Web.HttpUnhandledException'的异常.---> System.AccessViolationException:尝试读取或写入受保护的内存.这通常表明其他内存已损坏."

奇怪的行为是:

  1. 异常是随机抛出的
  2. 该异常仅在生产服务器上抛出,而不是在同一测试服务器上抛出
  3. 使用LinqPad对生产数据库执行的查询工作正常

这是完整的异常堆栈跟踪: 异常完整堆栈跟踪

在堆栈跟踪中,已擦除的方法调用使用Single()linq方法进行查询.

我们认为这个问题与使用Windows更新安装在生产服务器上的KB有关,但很明显,我们不知道它到底是什么

知道什么可能是真正的问题吗?提前致谢

Dru*_*key 0

所有症状都表明服务器上的内存条损坏,或其他硬件问题(过热/超频)。它也可能是由病毒引起的。当内存中的指针损坏并最终引用受保护的内存区域时,就会发生访问冲突。我建议您将映像完全传输到另一台物理机,并在服务器上运行完整的 MEMTEST86,并对外壳进行彻底清洁,更换旧风扇等...如果通过这种方式无法隔离问题,则重新安装生产环境服务器在新驱动器上从头开始。