Net Runtime Bug : .NET Runtime 2.0 Error - Event I

2019-08-09 04:39发布

问题:

I have a new program which has been running 24/7 for over 2 weeks now but last night it crash/went down with no Fatal log exception in my log4net file ...the process appears to have been killed by someting .... and when I looked in the Windows Event Viewer Application log it contained an error for the programs process saying '.NET Runtime 2.0 Error' Type: Error EventID: 1000.

This appears to be a .Net runtime failure/bug and has nothing to do with my code.

Does anyone know what caused this? Is there a .Net runtime fix?

/I'm running .Net 3.5 on a Window Server 2003 vm slice.

Thanks in advance.

Edit:

Full event description below. There's were no events around it for hours and there were Info level not Error like this one.

Source: .NET Runtime 2.0 Error Type: Error Event Id: 1000

Event log description: Faulting application CompanyName.AppName.exe, version 0.0.0.0, stamp 4ca5d33d, faulting module mscorwks.dll, version 2.0.50727.3607, stamp 4add5446, debug? 0, fault address 0x0010724e.

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

回答1:

As you are not getting any useful information at the time of the crash, an alternative approach is to attach a debugger to the crashing EXE. There are two ways I suggest:

Using Visual Studio

If you have Visual Studio installed on the same PC/server as the crashing app, attach Visual Studio to the EXE whilst it's running. Here's an intro on how to do this:

http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx

Using WinDbg

This is a very low-level, and powerful, debugger for Windows. This could certainly help you with your problem. However, there is a steep learning curve in how to get started in using it. The .NET framework comes with a DLL named SOS.DLL (found in the C:\Windows\...... system folder) which contains many commands that you can use in WinDbg to analyse a .NET application. These include listing thread stack and displaying exception information.

A very good source of information on how to debug .NET issues with WinDbg is

http://blogs.msdn.com/b/tess/

There are many great examples of how to debug issues, such as

http://blogs.msdn.com/b/tess/archive/2008/02/11/net-debugging-demos-lab-2-crash-review.aspx

You can download WinDbg from:

  • 32bit version http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#E3
  • 64bit version http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx-

I would highly recommend the Visual Studio approach, due to its simplicity. However, by far the most powerful way to debug your app is to use WinDbg, but it can be intimidating for first time users.

EDIT: Here's another link that might be of use:

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ebd10d1f-902b-4a95-ba42-e87c4f817097



回答2:

The error looks like a .NET Runtime 2.0 error due to null reference is in the user policy cache. Make sure that you have all the latest .NET service pack installed. Also take a look at this Microsoft answer.