Quantcast
Channel: Common Language Runtime Internals and Architecture forum
Viewing all articles
Browse latest Browse all 1710

CLR20r3 error in WinForms application

$
0
0

We're having an issue with one particular application on one particular server. We've got dozens of installations of this application that have worked for years, it's only one customer's server that can't execute it. The application is developed in VS2005 (we can't move it up to 2010, the one and only assembly reference simply doesn't work in VS2008 or 2010 solutions and we've verified with the assembly's vendor that this is the case). The server with issues is a brand new Server 2008 R2 that is current on system updates.

 

That being said:

1) We can't capture the unhandled exception at either the application or appdomain level...it crashes before those are even involved and we can't even attach debuggers to it because the process never actually starts

2) The only message we're getting is:

Description:
  Stopped working

Problem signature:
  Problem Event Name:                        CLR20r3
  Problem Signature 01:                       routedesigner.exe
  Problem Signature 02:                       2.0.0.0
  Problem Signature 03:                       4dcd5df4
  Problem Signature 04:                       RouteDesigner
  Problem Signature 05:                       2.0.0.0
  Problem Signature 06:                       4dcd5df4
  Problem Signature 07:                       18
  Problem Signature 08:                       e9
  Problem Signature 09:                       System.InvalidOperationException
  OS Version:                                          6.1.7601.2.1.0.272.7
  Locale ID:                                             1033


Now, clearly this points out the issue is an InvalidOperationException in the RouteDesigner assembly (our .exe). It also points out that it is in methoddef 18 (converted: 0x06000024) at IL offset e9. The problem is that there is no offset e9 in in that method and the method appears to be a built-in method, it is not anywhere in our solution, even all of the generated code that is in the solution.

The methoddef 06000024 is:

Method #5 (06000024)
	-------------------------------------------------------
		MethodName: Create__Instance__ (06000024)
		Flags     : [Private] [Static] [ReuseSlot]  (00000011)
		RVA       : 0x00005dbc
		ImplFlags : [IL] [Managed]  (00000000)
		CallCnvntn: [DEFAULT]
		generic
		Type Arity:1
		ReturnType: MVar!!0
		1 Arguments
			Argument #1:  MVar!!0
		1 Generic Parameters
			(0) GenericParamToken : (2a000004) Name : T flags: 00000010 Owner: 06000024
		1 Parameters
			(1) ParamToken : (0800000e) Name : instance flags: [none] (00000000)
		CustomAttribute #1 (0c00006f)
		-------------------------------------------------------
			CustomAttribute Type: 0a00001b
			CustomAttributeName: System.Diagnostics.DebuggerHiddenAttribute :: instance void .ctor()
			Length: 4
			Value : 01 00 00 00                                      >                <
			ctor args: ()

This methoddef is inside of the following typedef:

TypeDef #5 (02000006)
-------------------------------------------------------
	TypDefName: MyWebServices  (02000006)
	Flags     : [NestedAssembly] [AutoLayout] [Class] [Sealed] [AnsiClass]  (00000105)
	Extends   : 01000005 [TypeRef] System.Object
	EnclosingClass : RouteDesigner.My.MyProject (02000004)

The actual method in the IL is:

.method private static !!T  Create__Instance__<.ctor T>(!!T 'instance') cil managed
{
  .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 )
  // Code size       32 (0x20)
  .maxstack  2
  .locals init ([0] !!T Create__Instance__,
           [1] bool VB$CG$t_bool$S0)
  IL_0000:  nop
  IL_0001:  ldarg.0
  IL_0002:  box        !!T
  IL_0007:  ldnull
  IL_0008:  ceq
  IL_000a:  stloc.1
  IL_000b:  ldloc.1
  IL_000c:  brfalse.s  IL_0018
  IL_000e:  call       !!0 [mscorlib]System.Activator::CreateInstance<!!0>()
  IL_0013:  stloc.0
  IL_0014:  br.s       IL_001e
  IL_0016:  br.s       IL_001d
  IL_0018:  nop
  IL_0019:  ldarg.0
  IL_001a:  stloc.0
  IL_001b:  br.s       IL_001e
  IL_001d:  nop
  IL_001e:  ldloc.0
  IL_001f:  ret
} // end of method MyWebServices::Create__Instance__

There is no offset e9 in that method, so I'm confused on a number of points:

1) This application does nothing with webservices

2) RouteDesigner.My.MyProject.MyWebServices must be a generated class at build time, it doesn't exist in any of the solution files, even the generated/hidden ones

3) There's no offset e9 in the method specified by the Watson dump?

4) The application works on dozens of customer systems and has done so for years...this is the only system with this issue and it's a fresh install.

 

We've run the Microsoft .Net verification tool and all of the runtimes including 2.0 verified perfectly. Just in case, we uninstalled the runtimes and reinstalled them to no avail. We've cleaned and rebuilt the solution to no avail. There is only one Administrator account on the server and we were using it. We also tried running the exe with the Run As Administrator option with the same result. We've pretty much exhausted everything that we can think of, so my question to the masses is: does anyone have any other ideas on how to figure this issue out?

 

 


Viewing all articles
Browse latest Browse all 1710

Trending Articles