C# – Suddenly application crash – Fatal Execution Engine Error (7A0BC59E) (80131506)

.net-3.5cnetwindows-xp

Completely random and suddenly our application crashes on its production environment. The application runs on Windows XP and .net framework 3.5 sp1. In the application we provide a WCF service and we use the serial port.

When the application crashes it leaves messages in the application log:

.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.

and

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.

On our test environment we do have similar problems.

On the internet I find several identical problems, all mention hot fixes or reinstalls. But I want to know what happens and do not want happens. Does anyone knows what happens and how we can fix it?

[edit]
Besides the application also Sophos antivirus and MySql is installed.

[edit 2]
In our application we use a C-library wrapped in a .net package. We use the library in more applications and in those it does not give the exceptions.

[edit 3] Cannot answer my own question
Well I found something:

http://support.microsoft.com/kb/959209/en-us
958481 List of the issues that are addressed by the Application Compatibility Update for the .NET Framework 2.0 Service Pack 2

In the .NET Framework 3.5 SP1, because of the changes that are made in
checking a NULL value to support address space layout randomization
(ASLR), a failure case causes an access violation in the runtime. This
access violation manifests as an ExecutionEngineException exception.
Additionally, the process is terminated.

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

Best Answer

i suggest you use MS Debugging tools for windows's AdPlus utility to take a full dump of the process when it crashes and then use WinDBG to see what happend. (using !threads , !clrstack ,!PrintException).

Related Topic