应用程序突然崩溃 - 致命的执行引擎错误 (7A0BC59E) (80131506)

Posted

技术标签:

【中文标题】应用程序突然崩溃 - 致命的执行引擎错误 (7A0BC59E) (80131506)【英文标题】:Suddenly application crash - Fatal Execution Engine Error (7A0BC59E) (80131506) 【发布时间】:2012-03-17 17:55:51 【问题描述】:

完全随机,我们的应用程序突然在其生产环境中崩溃。该应用程序在 Windows XP 和 .net framework 3.5 sp1 上运行。在应用程序中,我们提供 WCF 服务,并使用串行端口。

当应用程序崩溃时,它会在应用程序日志中留下消息:

.NET Runtime version 2.0.50727.3625 - Fatal Execution Engine Error (7A0BC59E) (80131506)

 For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Faulting application ***.exe, version 1.0.0.0, stamp 4f48b8fc, faulting module  mscorwks.dll, version 2.0.50727.3625, stamp 4e154c98, debug? 0, fault address 0x000a03ea.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

在我们的测试环境中,我们确实有类似的问题。

在互联网上我发现了几个相同的问题,都提到了热修复或重新安装。但我想知道会发生什么,不想发生什么。有谁知道发生了什么以及我们如何解决它?

[编辑] 除了应用程序之外,还安装了 Sophos 防病毒软件和 mysql

[编辑 2] 在我们的应用程序中,我们使用包装在 .net 包中的 C 库。我们在更多的应用程序中使用该库,并且在那些它没有给出例外的应用程序中。

[编辑 3] 无法回答我自己的问题 好吧,我发现了一些东西:

http://support.microsoft.com/kb/959209/en-us 958481 .NET Framework 2.0 Service Pack 2 的应用程序兼容性更新解决的问题列表

在 .NET Framework 3.5 SP1 中,由于在 检查 NULL 值以支持地址空间布局随机化 (ASLR),失败案例会导致运行时中的访问冲突。这 访问冲突表现为 ExecutionEngineException 异常。 此外,该进程被终止。

http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=10006

【问题讨论】:

您是否在捕获未处理的异常?这可能会提供有关问题的一些额外信息 不幸的是,这个异常超出了我所有的捕获并关闭了应用程序。异常确实会立即发生,但会在数小时/数天后发生(最后一次异常发生在将近 2 天后)。 Try catching the unhandled ones,它可能会帮助您或至少为您提供有关此问题的更多信息 Application Crashes With "Internal Error In The .NET Runtime"的可能重复 我已经编辑了我的问题,并提供了一个可能的解决方案。 @Hans Passant,确实他也得到了一个 ExecutionEngineException,只有他使用 .net 4.0。 【参考方案1】:

我建议您使用 Windows 的 AdPlus 实用程序的 MS 调试工具在进程崩溃时对进程进行完整转储,然后使用 WinDBG 查看发生了什么。 (使用 !threads 、 !clrstack 、!PrintException)。

【讨论】:

感谢您的建议,我不知道该工具。不幸的是,该问题仅发生在我们的生产环境中,我们无法重现该异常。除此之外,我们不知道它何时发生,大多数时候我们会在早上注意到未处理的异常弹出窗口。我将在我的工作站上试用该工具。 @Bojo:我完全理解,我们过去也遇到过类似的问题。至于你的观点:你可以运行该工具,它只会在服务器出现故障时进行转储。您可以在为此目的而设计的 prod 环境中安全地执行此操作。 我会试一试的。如果我不知道它有效,它不会受到伤害。所以下一个奇怪的事件我会使用它。 我刚刚使用上述更新更新了 .net 框架(开始发布)。现在等待异常不再发生。 看起来框架更新解决了异常和应用程序崩溃问题。

以上是关于应用程序突然崩溃 - 致命的执行引擎错误 (7A0BC59E) (80131506)的主要内容,如果未能解决你的问题,请参考以下文章

AppDomain 程序集加载导致致命的执行引擎错误 (6B3979C6) (80131506)

错误不断崩溃 E/AndroidRuntime:致命异常:主要 [重复]

我的应用程序不断崩溃(致命异常)

使用致命错误刷新tableview时应用程序崩溃:索引超出范围Swift3

phpMyAdmin 应用程序因“致命错误:未捕获的 ValueError:mysqli_result::data_seek()”而崩溃

突然出现Apache错误?致命错误:未捕获错误