【问题标题】:.Net 4.0 Windows Application crashes in clr.dll under Windows Server 2008.Net 4.0 Windows 应用程序在 Windows Server 2008 下的 clr.dll 中崩溃
【发布时间】:2011-07-08 10:58:08
【问题描述】:

我有一个计划每天运行的 Windows 应用程序,并且根据 EventViewer 中的以下日志间歇性地失败。

Faulting application name: MyApplication.exe, version: 1.0.0.0, time stamp: 0x4d54829a
Faulting module name: clr.dll, version: 4.0.30319.1, time stamp: 0x4ba21eeb
Exception code: 0xc0000005
Fault offset: 0x00000000000029e1
Faulting process id: 0xbb1c
Faulting application start time: 0x01cbd99223d8b4eb
Faulting application path: E:\MyApplication\MyApplication.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: 7e74ec7e-45a5-11e0-a95d-003048de380d

在第二个 EventViewer 日志中显示:

The process was terminated due to an internal error in the .NET Runtime at IP 000007FEF97329E1 (000007FEF9730000) with exit code 80131506.

服务器是 Win Server 2008 R2,应用程序使用 .Net 4.0(您也可以在错误日志中看到)。

应用程序密集使用多线程,从远程数据库读取并写入本地硬盘。

对导致此问题的原因有任何猜测以及有关如何调查的任何建议?我不知道它在大约 5-10 小时的应用程序生命周期中哪里失败了。

【问题讨论】:

  • “致命的执行引擎错误”,垃圾收集堆已损坏。祝你好运。
  • 联系 Microsoft 支持并为他们提供您的进程的故障转储...
  • 您使用 COM 组件或其他任何您应该告诉我们的东西?您是否四处搜索过您消息中的各种代码,看看是否有其他人已经发布过类似的内容?

标签: windows .net-4.0 crash clr


【解决方案1】:

我也有同样的问题。在大约 8-10 小时的应用寿命中,CLR 错误会上升。我怀疑我的非托管代码在后台线程中生成异常。但是我无法真正找出原因。但是,您可以尝试以下方法:

如果您已经找到解决方案,请告诉我。

【讨论】:

  • 感谢您发布此信息。实际上,不是为了解决这个问题,而是为了提高应用程序的性能,我们用一个非常快的硬盘替换了硬盘,所有这些奇怪的东西都消失了,应用程序现在运行得如此之快,没有任何问题。以前应用程序会使用过多的资源(主要是内存),因为它一次只允许一个线程写入磁盘,所有数据都会累积在内存中;这可能是导致此问题的原因。 Windows 操作系统在妥善处理此类棘手案件方面并不出名,不是吗? ;)
【解决方案2】:

我有类似的问题,所以这可以帮助未来的用户找到解决方案:

我们使用 Apache log4net 来记录应用程序日志。

更新到 DLL 版本 1.2.15 后,对于 dotnet Framwork 4.5,一旦日志文件达到最大大小 (10MB),它就会开始触发这个确切的异常

【讨论】:

    【解决方案3】:

    热修复大部分都消失了,我遇到了类似的问题,所以我会在这里分享我的答案。

    我的解决方案围绕着我将 Lamda 传递给 P/Invoke 的事实:

    https://stackoverflow.com/a/52360307/4700841

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多