If broken it is, fix it you should

Using the powers of the debugger to solve the problems of the world - and a bag of chips    by Tess Ferrandez, ASP.NET Escalation Engineer (Microsoft)

ASP.NET 2.0 Crash case study: Unhandled exceptions

ASP.NET 2.0 Crash case study: Unhandled exceptions

Rate This
  • Comments 84

For a long time all my case studies have been on 1.1. it’s time to venture out in 2.0 land and look at what may seem like a 2.0 specific issue.

 

I say “may seem” because this case study will only directly crash if you are using 2.0, but as you’ll learn later the problem existed in 1.1 and 1.0, it was just way harder to track down.

 

Problem description:

 

Once in a while ASP.NET crashes and we see events in the system event log like this one

 

Event Type:       Warning
Event Source:    W3SVC
Event Category: None
Event ID:          1009
Date:               
2006-04-25
Time:               
09:41:22
PM User:           N/A
Computer:        
SUBSPACE1
Description:
A process serving application pool
'ASP.NET V2.0' terminated unexpectedly. The process id was ‘1732’. The process exit code was ‘0xe0434f4d’.

 

Or this one

 

Event Type:       Warning

Event Source:    W3SVC

Event Category: None

Event ID:          1011

Date:                2006-04-25

Time:                09:41:22

User:                N/A

Computer:         SUBSPACE1

Description:

A process serving application pool 'ASP.NET V2.0' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '6256'. The data field contains the error number.

 

And in the application event log we get a pretty cryptic error message like this one

 

Event Type:       Error

Event Source:    .NET Runtime 2.0 Error Reporting

Event Category: None

Event ID:          5000

Date:                2006-04-25

Time:                09:41:20

User:                N/A

Computer:         SUBSPACE1

Description:

EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.1830, P3 42435be1, P4 app_code.pn5mfdcr, P5 0.0.0.0, P6 444dcf44, P7 5, P8 5, P9 system.dividebyzeroexception, P10 NIL.

 

 

Initial thoughts:

 

Ok, so what do we know about the issue?  We know that asp.net terminated unexpectedly, and that right before this we got a System.DivideByZeroException…. We also know that the process exit code was 0xe0434f4d whatever that means, hmm…

 

Usually when you get a stopped unexpectedly error message the exit code will be the type of exception that caused the crash.  For example a 0xC0000005 means you got a second chance access violation, 0x800703e9 means you suffered a StackOverflowException but what about 0xe0434f4d? 

 

0xe0434f4d is the exception code for CLR (.net) exceptions, so any managed exception like a NullReferenceException or InvalidOperationException or SQLException… basically all managed exception are natively referred to as 0xe0434f4d.  In this case, if we look closer at the application event log entry we can see that it is in fact a System.DivideByZero exception.

 

Trivia: Just a piece of info of no particular value that you might want to pull out of pocket on your next dateJ 0xe0434f4d or at least 43 4f 4d  are the ASCII values for the letters COM.

 

But hey now… should a .net exception cause the asp.net process to crash???  If you divide by zero in your page and don’t have a try catch block around it, surely you will get one of those “nice” white and yellow error pages saying that an exception occurred on your page, but the process doesn’t just exit. 

 

The answer is yes, you will get one of those pages because the asp.net global error handler will eventually catch your exception, format it for you and print it out on the screen.  But what happens if it is not on an asp.net request, so there is no-one to feedback the exception to? It’s the old paradox: If a tree falls in the forest and nobody is there, does it still make a sound? 

 

In 1.0 and 1.1 it didn’t.  For example if you throw an exception in a piece of code called on a timer, or use QueueUserWorkItem and throw an exception in code executing there, or otherwise throw exceptions in code that is not running inside the context of an asp.net request, the framework will swallow the exception and continue. Or rather it will stop that thread of execution but it won’t die.

 

Doesn’t sound all that bad right?  Really??? 

 

That thread could have been doing anything, and we will never be the wiser that it died.  It could have been holding a lock of some sort, or it could have been in the middle of cleaning up resources, or really a number of different things that will now never happen, but that may immediately or eventually have really bad side effects like hangs or crashes or memory issues, but the exception will be long gone so we cant figure out what it was.

 

The policy for unhandled exceptions was changed in ASP.NET 2.0 to the default for .net which is a process exit.  This can be changed back by adding the following to the aspnet.config in the frameworks directory, but I wouldn’t recommend it without putting in some preventive measures to take care of potential unhandled exceptions on non ASP.NET threads.

 

<configuration>

<runtime>

<legacyUnhandledExceptionPolicy enabled="true" />

</runtime>

</configuration>

 

Troubleshooting the issue:

 

The main task here is to find out where this DivideByZero exception is coming from and why it occurred so there are two ways to figure this out (short of complete code inspection). 

 

Strategy #1 – logging the exception

 

The first way, and this is the way I would probably recommend, is to create an UnhandledExceptionHandler to log the exception along with its stack trace in the event log as shown in this article http://support.microsoft.com/?id=911816

 

You add the handler like this to the web.config:

 

    <system.web>

      <httpModules>

        <add type="WebMonitor.UnhandledExceptionModule, <strong name>" name="UnhandledExceptionModule"/>

      </httpModules>

         

    </system.web>

 

And it hooks an eventhandler up to the UnhandledException event of the current app domain.

 

You don’t actually need to strong name it and add it to the GAC, however if you plan it in multiple applications you should to avoid for the dll being loaded multiple times.

 

Now the next time you get one of these unhandled exceptions, the process will still exit (unless you change the unhandled exception policy), but you have a very good chance of fixing the issue.

 

The event for the exception in this particular sample looks like this…

 

Event Type:       Error

Event Source:    ASP.NET 2.0.50727.0

Event Category: None

Event ID:         0

Date:                2006-04-25

Time:                09:41:20

User:                N/A

Computer:         SUBSPACE1

Description:

 

UnhandledException logged by UnhandledExceptionModule.dll:

 

appId=/LM/w3svc/1/ROOT/CrashMe

 

type=System.DivideByZeroException

 

message=Attempted to divide by zero.

 

stack=

   at MyFinalizerClass.Finalize()

 

.

 

Bingo!!! So the exception occurs in MyFinalizerClass.Finalize() in the CrashMe application.

 

In fact the code for the finalizer for this class looks like this, so it is pretty obvious what caused it, and our work here is done…

 

    ~MyFinalizerClass()

    {

        int i = 0;

        int j = 9;

        i = j / i;

    }

 

Setting up an UnhandledException handler like this is not limited to 2.0. You can absolutely do this in 1.1 as well to determine if you are throwing any unhandled exceptions. The only modification you need to do to the code outlined in the article is to choose a different dll to gather the version from. A prime candidate for this would be mscorlib.dll.

 

 

Strategy #2 – debugging with windbg

 

If you have read any of my previous posts you know I have a special place in my heart for debugging. If you don’t have an unhandledexception eventhandler you can still find out what the exception was by running adplus in crash mode to generate dumps when the process exits.

 

In this particular case  doing this will result in the following files being generated.

 

C:\debuggers\Crash_Mode__Date_04-25-2006__Time_10-11-3030>dir

 Volume in drive C has no label.

 Volume Serial Number is 30D7-F806

 

 Directory of C:\debuggers\Crash_Mode__Date_04-25-2006__Time_10-11-3030

 

2006-04-25  10:12    <DIR>          .

2006-04-25  10:12    <DIR>          ..

2006-04-25  10:11                      4 404 ADPlus_report.txt

2006-04-25  10:11    <DIR>          CDBScripts

2006-04-25  10:11                      9 420 059 PID-3368__W3WP.EXE__1st_chance_IntegerDivide__mini_12D8_2006-04-25_10-11-51-487_0D28.dmp

2006-04-25  10:12                      108 142 158 PID-3368__W3WP.EXE__1st_chance_Process_Shut_Down__full_12D8_2006-04-25_10-12-02-440_0D28.dmp

2006-04-25  10:12                      108 294 606 PID-3368__W3WP.EXE__2nd_chance_NET_CLR__full_12D8_2006-04-25_10-11-54-690_0D28.dmp

2006-04-25  10:12                      35 324 PID-3368__W3WP.EXE__Date_04-25-2006__Time_10-11-3030.log

2006-04-25  10:11                      9 014 Process_List.txt

               6 File(s)    225 905 565 bytes

               3 Dir(s)   4 592 435 200 bytes free

 

 

So at 10-11-51 a 1st chance IntegerDivide exception occurred, followed by a 2nd chance .NET exception (2nd chance meaning that it wasn’t handled), and finally this was followed by a process shutdown.

 

Concentrating on the 2nd chance exception dump and loading up sos.dll from the framework directory

 

0:020> .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll

 

We can run !threads to give us a list of the threads along with info about which thread the exception occurred on (in this case thread 20, the finalizer thread). 

 

0:020> !threads

ThreadCount: 7

UnstartedThread: 0

BackgroundThread: 7

PendingThread: 0

DeadThread: 0

Hosted Runtime: no

                                                        PreEmptive   GC Alloc                          Lock

   ID    OSID    ThreadOBJ       State        GC          Context                  Domain   Count   APT   Exception

   16    1 c20    000b9778      3808220    Enabled  00000000:00000000 000fddc0     1 Ukn (Threadpool Worker)

  20    2 16d8 000e3bd0      b220 Enabled  0242ab08:0242bf94 000caad8     0 MTA (Finalizer) System.DivideByZeroException (02428f60)

  21    3  b2c 000fa588    80a220 Enabled  00000000:00000000 000caad8     0 MTA (Threadpool Completion Port)

  22    4 16c0 000fd690      1220 Enabled  00000000:00000000 000caad8     0 Ukn

  14    6 1570 0014a970   880a220 Enabled  00000000:00000000 000caad8     0 MTA (Threadpool Completion Port)

  23    7 1b44 00145178   180b220 Enabled  00000000:00000000 000caad8     0 MTA (Threadpool Worker)

  24    5  bac 0014a5b0   880b220 Enabled  00000000:00000000 000caad8     0 MTA (Threadpool Completion Port)

 

 

So from this we know that we are looking at an exception happening during finalization.

 

Since this dump was triggered by the exception this will also be the active thread when you load up the dump.

 

If we look at the native and managed callstack it doesn’t really bring us any closer to the solution…

 

 

0:020> kb 2000

ChildEBP RetAddr  Args to Child             

01eaf9fc 79f97065 e0434f4d 00000001 00000001 kernel32!RaiseException+0x53

01eafa5c 7a05b941 02428f60 00000000 00000000 mscorwks!RaiseTheExceptionInternalOnly+0x226

01eafa70 7a05b9b2 02428f60 00000000 01eafb88 mscorwks!RaiseTheException+0x4c

01eafa98 7a05b9ea 00000000 000e3bd0 4914714b mscorwks!RaiseTheException+0xbe

01eafac4 7a05b9f5 02428f60 00000000 7a0e0701 mscorwks!RealCOMPlusThrow+0x37

01eafad0 7a0e0701 02428f60 7740e5f5 7a36a738 mscorwks!RealCOMPlusThrow+0xa

01eafc00 7a0e16e4 00000000 01eafc38 01eafca8 mscorwks!Thread::RaiseCrossContextException+0x63

01eafcb4 79f3a09c 000fddc0 79f3a0a1 01eafeb4 mscorwks!Thread::DoADCallBack+0x25a

01eafcd0 79f3581e 01eafeb4 79f3ab82 000fddc0 mscorwks!Thread::UserResumeThread+0xf3

01eafcd8 79f3ab82 000fddc0 79f3abb0 01eafd08 mscorwks!ManagedThreadBase::FinalizerAppDomain+0x26

01eafd34 79f350ea 000e3bd0 00000000 01eafd5b mscorwks!SVR::CreateGCHeap+0x163

01eafdb0 79f3500e 00000000 00000000 01eafe6c mscorwks!SVR::CreateGCHeap+0x204

01eafdc8 79ecb4a4 01eafeb4 00000000 00000001 mscorwks!SVR::GCHeap::FinalizerThreadWorker+0xe7

01eafdd8 79ecb442 01eafeb4 01eafe60 79f93fe6 mscorwks!Thread::UserResumeThread+0xfb

01eafe6c 79ecb364 01eafeb4 7740e0c9 00000000 mscorwks!Thread::DoADCallBack+0x355

01eafea8 79ed5e8b 01eafeb4 00000000 000fddc0 mscorwks!Thread::DoADCallBack+0x541

01eafed0 79ed5e56 79f34f4a 00000008 79f6fd87 mscorwks!ManagedThreadBase_NoADTransition+0x32

01eafedc 79f6fd87 79f34f4a 7740e175 00000000 mscorwks!ManagedThreadBase::FinalizerBase+0xb

01eaff14 79ecb00b 00000000 00000000 00000000 mscorwks!SVR::GCHeap::FinalizerThreadStart+0xbb

01eaffb8 77e66063 000e4390 00000000 00000000 mscorwks!Thread::intermediateThreadProc+0x49

01eaffec 00000000 79ecafc5 000e4390 00000000 kernel32!BaseThreadStart+0x34

 

 

0:020> !clrstack

OS Thread Id: 0x16d8 (20)

ESP       EIP    

01eafaac 77e55dea [GCFrame: 01eafaac]

01eafb14 77e55dea [GCFrame: 01eafb14]

01eafd14 77e55dea [GCFrame: 01eafd14]

 

But from the !threads output we get the address of the exception (02428f60) and we can take a deeper look…

 

0:020> !do 02428f60

Name: System.DivideByZeroException

MethodTable: 7915e020

EEClass: 791e97f8

Size: 72(0x48) bytes

 (C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)

Fields:

      MT    Field   Offset                 Type VT     Attr    Value Name

790fa3e0  40000b5        4        System.String  0 instance 02429e78 _className

79109208  40000b6        8 ...ection.MethodBase  0 instance 00000000 _exceptionMethod

790fa3e0  40000b7        c        System.String  0 instance 0242a18c _exceptionMethodString

790fa3e0  40000b8       10        System.String  0 instance 02429fb4 _message

79113dfc  40000b9       14 ...tions.IDictionary  0 instance 00000000 _data

790fa9e8  40000ba       18     System.Exception  0 instance 00000000 _innerException

790fa3e0  40000bb       1c        System.String  0 instance 00000000 _helpURL

790f9c18  40000bc       20        System.Object  0 instance 00000000 _stackTrace

790fa3e0  40000bd       24        System.String  0 instance 00000000 _stackTraceString

790fa3e0  40000be       28        System.String  0 instance 0242aab0 _remoteStackTraceString

790fed1c  40000bf       34         System.Int32  0 instance        0 _remoteStackIndex

790f9c18  40000c0       2c        System.Object  0 instance 00000000 _dynamicMethods

790fed1c  40000c1       38         System.Int32  0 instance -2147352558 _HResult

790fa3e0  40000c2       30        System.String  0 instance 0242a3c4 _source

790fe160  40000c3       3c        System.IntPtr  0 instance        0 _xptrs

790fed1c  40000c4       40         System.Int32  0 instance        0 _xcode

 

In particular we can dump out the _remoteStackTraceString and find out where exactly the error occurred.

 

0:020> !do 0242aab0

Name: System.String

MethodTable: 790fa3e0

EEClass: 790fa340

Size: 88(0x58) bytes

 (C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)

String:    at MyFinalizerClass.Finalize()

 

Fields:

      MT    Field   Offset                 Type VT     Attr    Value Name

790fed1c  4000096        4         System.Int32  0 instance       36 m_arrayLength

790fed1c  4000097        8         System.Int32  0 instance       35 m_stringLength

790fbefc  4000098        c          System.Char  0 instance       20 m_firstChar

790fa3e0  4000099       10        System.String  0   shared   static Empty

    >> Domain:Value  000caad8:790d6584 000fddc0:790d6584 <<

79124670  400009a       14        System.Char[]  0   shared   static WhitespaceChars

    >> Domain:Value  000caad8:023d03f0 000fddc0:023d4374 <<

 

Voila, there we have it again… our MyFinalizerClass.Finalize()

 

If you want to take away just one thing from this post, it should be to be careful with the code running on non ASP.NET threads, making sure that you have proper try / catch blocks around any code that could cause an exception.

 

Until next time…

 





  • Hi Manche,

    Try dumping out all the other members of the exception as well to see if they give any additional info.  If they don't you might want to open a request with support if you want to troubleshoot it further, but the way it looks is like this might be a problem at shutdown and if you run ~* kb and ~* e !clrstack you may see some threads sitting in a hung state.

  • Hi Tess

    Thanks for your response.

    As per the following info, it looks like the error is thrown from an unmanaged code. In our application we are using a third pary component and its that which is causing the problem....

    0:014> ~*kb

      0  Id: 558.55c Suspend: 1 Teb: 7ffdf000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0006fc7c 77e6ba42 00000154 ffffffff 00000000 ntdll!KiFastSystemCallRet

    0006fc90 5a36467a 00000154 ffffffff 00000000 kernel32!WaitForSingleObject+0x12

    0006ff0c 0100187c 00000007 00253a68 00000000 w3dt!IPM_MESSAGE_PIPE::operator=+0x1b31

    0006ff44 01001a23 00000007 00253a68 002542e0 w3wp+0x187c

    0006ffc0 77e523e5 00000000 00000000 7ffda000 w3wp+0x1a23

    0006fff0 00000000 010018f8 00000000 78746341 kernel32!IsProcessorFeaturePresent+0x9e

      1  Id: 558.5ac Suspend: 1 Teb: 7ffdd000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    009bffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    009bffec 00000000 7c81fddf 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

      2  Id: 558.5c8 Suspend: 1 Teb: 7ffdc000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    009fffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    009fffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

      3  Id: 558.5dc Suspend: 1 Teb: 7ffdb000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00a5ff84 77c5778f 00a5ffac 77c5f7dd 000a56e8 ntdll!KiFastSystemCallRet

    00a5ff8c 77c5f7dd 000a56e8 00000000 00000000 rpcrt4!NdrOleFree+0x3c5

    00a5ffac 77c5de88 0008fdc0 00a5ffec 77e6608b rpcrt4!I_RpcTransGetThreadEvent+0x188

    00a5ffb8 77e6608b 000a5990 00000000 00000000 rpcrt4!I_RpcLogEvent+0xe92

    00a5ffec 00000000 77c5de6d 000a5990 00000000 kernel32!GetModuleFileNameA+0xeb

      4  Id: 558.5e0 Suspend: 1 Teb: 7ffd8000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00c5ff54 5a30249e 00000148 00c5ff7c 00c5ff80 ntdll!KiFastSystemCallRet

    00c5ff8c 5a3026bc 00000000 00258310 5a300000 w3tp!THREAD_POOL::PostCompletion+0x89

    00c5ffa0 5a301db9 00258238 00000000 00000000 w3tp!THREAD_POOL::~THREAD_POOL+0x153

    00c5ffb8 77e6608b 00258310 00000000 00000000 w3tp+0x1db9

    00c5ffec 00000000 5a301d80 00258310 00000000 kernel32!GetModuleFileNameA+0xeb

      5  Id: 558.5e4 Suspend: 1 Teb: 7ffd7000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00c9ff54 5a30249e 00000148 00c9ff7c 00c9ff80 ntdll!KiFastSystemCallRet

    00c9ff8c 5a3026bc 00000000 00258330 5a300000 w3tp!THREAD_POOL::PostCompletion+0x89

    00c9ffa0 5a301db9 00258238 00000000 00000000 w3tp!THREAD_POOL::~THREAD_POOL+0x153

    00c9ffb8 77e6608b 00258330 00000000 00000000 w3tp+0x1db9

    00c9ffec 00000000 5a301d80 00258330 00000000 kernel32!GetModuleFileNameA+0xeb

      6  Id: 558.5e8 Suspend: 1 Teb: 7ffd6000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00cdff54 5a30249e 00000148 00cdff7c 00cdff80 ntdll!KiFastSystemCallRet

    00cdff8c 5a3026bc 00000000 00258350 5a300000 w3tp!THREAD_POOL::PostCompletion+0x89

    00cdffa0 5a301db9 00258238 00000000 00000000 w3tp!THREAD_POOL::~THREAD_POOL+0x153

    00cdffb8 77e6608b 00258350 00000000 00000000 w3tp+0x1db9

    00cdffec 00000000 5a301d80 00258350 00000000 kernel32!GetModuleFileNameA+0xeb

      7  Id: 558.5f0 Suspend: 1 Teb: 7ffd5000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00d1ff54 5a30249e 00000148 00d1ff7c 00d1ff80 ntdll!KiFastSystemCallRet

    00d1ff8c 5a3026bc 00000000 00258370 5a300000 w3tp!THREAD_POOL::PostCompletion+0x89

    00d1ffa0 5a301db9 00258238 00000000 00000000 w3tp!THREAD_POOL::~THREAD_POOL+0x153

    00d1ffb8 77e6608b 00258370 00000000 00000000 w3tp+0x1db9

    00d1ffec 00000000 5a301d80 00258370 00000000 kernel32!GetModuleFileNameA+0xeb

      8  Id: 558.5f4 Suspend: 1 Teb: 7ffd4000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    00ddffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    00ddffec 00000000 7c83abb0 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

      9  Id: 558.5fc Suspend: 1 Teb: 7ffaf000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    017bfaf8 77e6ba42 000001b4 ffffffff 00000000 ntdll!KiFastSystemCallRet

    017bfb0c 5a3b8147 000001b4 ffffffff 00000000 kernel32!WaitForSingleObject+0x12

    017bffb8 77e6608b 00000000 00000000 00000000 w3core!W3_FILE_INFO_CACHE::GetFileCache+0xd784

    017bffec 00000000 5a3b8021 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     10  Id: 558.604 Suspend: 1 Teb: 7ffae000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    017fff84 77c5778f 017fffac 77c5f7dd 000a56e8 ntdll!KiFastSystemCallRet

    017fff8c 77c5f7dd 000a56e8 00000000 00000000 rpcrt4!NdrOleFree+0x3c5

    017fffac 77c5de88 0008fdc0 017fffec 77e6608b rpcrt4!I_RpcTransGetThreadEvent+0x188

    017fffb8 77e6608b 000b6298 00000000 00000000 rpcrt4!I_RpcLogEvent+0xe92

    017fffec 00000000 77c5de6d 000b6298 00000000 kernel32!GetModuleFileNameA+0xeb

     11  Id: 558.554 Suspend: 1 Teb: 7ffad000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0183ffb8 77e6608b 000bd918 00000000 00000000 ntdll!KiFastSystemCallRet

    0183ffec 00000000 7c815228 000bd918 00000000 kernel32!GetModuleFileNameA+0xeb

     12  Id: 558.1ec Suspend: 1 Teb: 7ffac000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0195fea8 79f2f30a 00000228 0195feec 0195fee8 ntdll!KiFastSystemCallRet

    0195ff14 79f71123 00000000 00000000 00000000 mscorwks!CreateAssemblyCache+0x2125c

    00000000 00000000 00000000 00000000 00000000 mscorwks!CompareAssemblyIdentity+0xd4f4

     13  Id: 558.208 Suspend: 1 Teb: 7ffab000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0199feb0 79f2c9f3 000001f4 00000000 b4082573 ntdll!KiFastSystemCallRet

    0199fee4 79f2c9c3 000001f4 00000000 b408248f mscorwks!CreateAssemblyCache+0x1e945

    0199ff18 79f758ec 000001f4 00000000 79f2c895 mscorwks!CreateAssemblyCache+0x1e915

    0199ffb8 77e6608b 00000000 00000000 00000000 mscorwks!CompareAssemblyIdentity+0x11cbd

    0199ffec 00000000 79f2c800 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

    # 14  Id: 558.620 Suspend: 1 Teb: 7ffaa000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    019df9dc 79f97065 e0434f4d 00000001 00000001 kernel32!RaiseException+0x3c

    019dfa3c 7a05b942 1d00e1d0 00000000 00000000 mscorwks!DllCanUnloadNowInternal+0x37a9

    019dfa78 7a05b9eb 00000000 000e1f00 b59aaf96 mscorwks!GetAddrOfContractShutoffFlag+0xa7d7

    019dfaa4 7a05b9f6 1d00e1d0 00000000 7a0e0701 mscorwks!GetAddrOfContractShutoffFlag+0xa880

    019dfbc8 79f993a2 019a1000 019e0000 019dfc88 mscorwks!GetAddrOfContractShutoffFlag+0xa88b

    00000000 00000000 00000000 00000000 00000000 mscorwks!DllCanUnloadNowInternal+0x5ae6

     15  Id: 558.624 Suspend: 1 Teb: 7ffa9000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    01abfedc 77e6109d 00000003 01abff20 00000000 ntdll!KiFastSystemCallRet

    01abfef8 79ed4b06 00000003 01abff20 00000000 kernel32!WaitForMultipleObjects+0x18

    01abff58 79ed4a63 b43a241f 00000000 00000000 mscorwks!InitializeFusion+0x266e

    01abff88 79ed49a6 b43a242f 00000000 00000000 mscorwks!InitializeFusion+0x25cb

    01abffb8 77e6608b 00000000 00000000 00000000 mscorwks!InitializeFusion+0x250e

    01abffec 00000000 79ed4960 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     16  Id: 558.630 Suspend: 1 Teb: 7ffa8000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    01bbfd78 77e6109d 00000002 7a381bb8 00000000 ntdll!KiFastSystemCallRet

    01bbfd94 79f8d98a 00000002 7a381bb8 00000000 kernel32!WaitForMultipleObjects+0x18

    01bbfdb4 79ea2e68 000ee1f8 01bbfe6c 01bbfeb4 mscorwks!StrongNameFreeBuffer+0x46b2

    01bbfdc8 79ecb4a4 01bbfeb4 00000000 00000001 mscorwks!CreateAssemblyNameObject+0x7fc

    00000000 00000000 00000000 00000000 00000000 mscorwks!CreateApplicationContext+0xc940

     17  Id: 558.880 Suspend: 1 Teb: 7ffa7000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    01c6ff34 79f446b6 0000059e 00000001 01c6ffa4 ntdll!KiFastSystemCallRet

    01c6ffb0 79f44647 00000000 77e6608b 019de77c mscorwks!GetMetaDataPublicInterfaceFromInternal+0xdf7

    01c6ffec 00000000 79f445ef 019de77c 00000000 mscorwks!GetMetaDataPublicInterfaceFromInternal+0xd88

     18  Id: 558.884 Suspend: 1 Teb: 7ffa6000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    01cafd2c 79e77fd1 000002c0 ffffffff 00000000 ntdll!KiFastSystemCallRet

    01cafd70 79e77f9a 000002c0 ffffffff 00000000 mscorwks!DllUnregisterServerInternal+0x47b1

    01cafdc0 79e77f50 ffffffff 00000000 00000000 mscorwks!DllUnregisterServerInternal+0x477a

    01cafe50 79e7839d 01cafde4 01cafde4 00105810 mscorwks!DllUnregisterServerInternal+0x4730

    01cafe60 79e782dc 00000000 00000001 00000001 mscorwks!DllUnregisterServerInternal+0x4b7d

    01cafe94 79ecb00b 00105340 00000000 00000000 mscorwks!DllUnregisterServerInternal+0x4abc

    01caffb8 77e6608b 00105810 00000000 00000000 mscorwks!CreateApplicationContext+0xc4a7

    01caffec 00000000 79ecafc5 00105810 00000000 kernel32!GetModuleFileNameA+0xeb

     19  Id: 558.ce0 Suspend: 1 Teb: 7ffa4000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    061cff6c 77e6109d 00000003 769cf34c 00000000 ntdll!KiFastSystemCallRet

    061cff88 76928415 00000003 769cf34c 00000000 kernel32!WaitForMultipleObjects+0x18

    061cffb8 77e6608b 00000000 00000000 00000000 userenv!GetProfilesDirectoryW+0x1de

    061cffec 00000000 769283b9 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     20  Id: 558.7c4 Suspend: 1 Teb: 7ffa3000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    064efc7c 79e77fd1 0000021c 00009c40 00000000 ntdll!KiFastSystemCallRet

    064efcc0 79e77f9a 0000021c 00009c40 00000000 mscorwks!DllUnregisterServerInternal+0x47b1

    064efd10 79e77f50 00009c40 00000000 00000000 mscorwks!DllUnregisterServerInternal+0x477a

    064efda0 7a1121c3 000bc898 00009c40 00000000 mscorwks!DllUnregisterServerInternal+0x4730

    064efe14 79ecb00b 00000000 f72e1b10 809809f0 mscorwks!TranslateSecurityAttributes+0x277e6

    064effb8 77e6608b 059c4218 00000000 00000000 mscorwks!CreateApplicationContext+0xc4a7

    064effec 00000000 79ecafc5 059c4218 00000000 kernel32!GetModuleFileNameA+0xeb

     21  Id: 558.9c0 Suspend: 1 Teb: 7ffa2000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0710fd28 79f2f30a 00000228 0710fd6c 0710fd68 ntdll!KiFastSystemCallRet

    0710fd94 79ecb00b 00000000 00000000 00000000 mscorwks!CreateAssemblyCache+0x2125c

    00000000 00000000 00000000 00000000 00000000 mscorwks!CreateApplicationContext+0xc4a7

     22  Id: 558.2d8 Suspend: 1 Teb: 7ffa0000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0741ff34 77694ff1 0741ff58 00000000 00000000 ntdll!KiFastSystemCallRet

    0741ff74 776cf35b 00007530 77e6ba50 059ee928 ole32!GetHGlobalFromStream+0x13c3

    0741ff90 776cf2a3 0741ffb8 776b2307 77790438 ole32!OleDoAutoConvert+0x10ee

    0741ff98 776b2307 77790438 00000000 059ee928 ole32!OleDoAutoConvert+0x1036

    0741ffb8 77e6608b 059ee928 00000000 00000000 ole32!IsValidInterface+0x4db

    0741ffec 00000000 776b2354 059ee928 00000000 kernel32!GetModuleFileNameA+0xeb

     23  Id: 558.b34 Suspend: 1 Teb: 7ff3f000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    09bbfd74 77e6ba42 000009cc 00002710 00000000 ntdll!KiFastSystemCallRet

    09bbfd88 75bb22b9 000009cc 00002710 00000000 kernel32!WaitForSingleObject+0x12

    09bbffb8 77e6608b 059e3d10 00000000 00000000 comsvcs!DispManGetContext+0x24e

    09bbffec 00000000 75bb21f1 059e3d10 00000000 kernel32!GetModuleFileNameA+0xeb

     24  Id: 558.390 Suspend: 1 Teb: 7ffa5000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    0faefef4 7739cd08 00000002 0faeff1c 00000000 ntdll!KiFastSystemCallRet

    0faeff50 7738e381 00000001 0faeffb0 ffffffff user32!PeekMessageW+0x244

    0faeff6c 4dda6ad4 00000001 0faeffb0 00000000 user32!MsgWaitForMultipleObjects+0x1f

    0faeffb8 77e6608b 00000000 00000000 00000000 GdiPlus!GdipCreateSolidFill+0x1fea

    0faeffec 00000000 4dda6a7b 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     25  Id: 558.e6c Suspend: 1 Teb: 7ff3a000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1056e198 7c8302e7 05570748 1056e3cc 7c82fadf ntdll!ExpInterlockedPopEntrySListEnd+0x5

    1056e1a4 7c82fadf 05570748 12ffc218 00000014 ntdll!RtlInitUnicodeStringEx+0xa0

    1056e3cc 7c3416b3 05570000 00000000 00000014 ntdll!RtlAllocateHeap+0xe2

    1056e40c 7c3416db 00000014 7c360947 00000014 msvcr71!_crtLCMapStringA+0x305

    1056e44c 1200789d 00000014 0ebb0b68 1202d96c msvcr71!_crtLCMapStringA+0x32d

    1056e474 12038153 00000001 215b9958 12ffca20 xerces_c_2_6!xercesc_2_6::XMemory::operator new+0x14

    1056e5ec 12033a59 0ed76a58 00000003 12ffca20 xerces_c_2_6!xercesc_2_6::IGXMLScanner::buildAttList+0x4f0

    1056e68c 12034595 1056e6b3 14f968f4 14f96878 xerces_c_2_6!xercesc_2_6::IGXMLScanner::scanStartTagNS+0xa9d

    1056e6c4 12034800 0f626520 14f96878 00000000 xerces_c_2_6!xercesc_2_6::IGXMLScanner::scanContent+0xbf

    1056e6f0 12045dfb 0f626520 14f96878 0ea936b0 xerces_c_2_6!xercesc_2_6::IGXMLScanner::scanDocument+0x5b

    1056e76c 12045f01 0f626520 13539238 0eadbef8 xerces_c_2_6!xercesc_2_6::XMLScanner::scanDocument+0x143

    1056e794 1205192b 0f6264d0 13539238 0000003e xerces_c_2_6!xercesc_2_6::XMLScanner::scanDocument+0x36

    1056e7d8 05c0fe73 0f6264d0 1056ebbc 13539238 xerces_c_2_6!xercesc_2_6::AbstractDOMParser::parse+0x53

    1056eb5c 05c1726d 1056eb98 01ce330e 1cfa8d70 GeoCalc!GeoCalc::DB::CDataSource::LoadDOM+0x163

    1056eba8 79f98584 1e3b6415 00000010 b59aaf96 GeoCalc!GeoCalc::DB::CDataSource::LoadFile+0x1d

    1056ec34 1e3b51d8 00000000 1056ecb8 1e3b511c mscorwks!DllCanUnloadNowInternal+0x4cc8

    1056ec60 1e3b511c 155cec40 1cfa8670 1c91b07c 0x1e3b51d8

    1056ecb8 1e3b278c 032ddc40 1c918904 1c918900 0x1e3b511c

    1056ed6c 1930c442 155cec40 00000000 1c88e2d0 0x1e3b278c

    1056edb4 1930c248 1556d8c0 155cec40 00000000 0x1930c442

     26  Id: 558.78c Suspend: 1 Teb: 7ff36000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    197efba8 79f2f30a 00000228 197efbec 197efbe8 ntdll!KiFastSystemCallRet

    197efc14 79ecb00b 00000000 00000000 197efcb8 mscorwks!CreateAssemblyCache+0x2125c

    00000000 00000000 00000000 00000000 00000000 mscorwks!CreateApplicationContext+0xc4a7

     27  Id: 558.d0 Suspend: 1 Teb: 7ff38000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1954ff84 77c5778f 1954ffac 77c5f7dd 000a56e8 ntdll!KiFastSystemCallRet

    1954ff8c 77c5f7dd 000a56e8 00000000 00000000 rpcrt4!NdrOleFree+0x3c5

    1954ffac 77c5de88 0008fdc0 1954ffec 77e6608b rpcrt4!I_RpcTransGetThreadEvent+0x188

    1954ffb8 77e6608b 00162c38 00000000 00000000 rpcrt4!I_RpcLogEvent+0xe92

    1954ffec 00000000 77c5de6d 00162c38 00000000 kernel32!GetModuleFileNameA+0xeb

     28  Id: 558.f38 Suspend: 1 Teb: 7ff3d000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1b6eec94 01ce7d2f 1c9bae8c 00000000 00000000 ntdll!KiFastSystemCallRet

    1b6eecbc 1d870428 1c9bae54 1c9bae88 00000000 0x1ce7d2f

    1b6eecdc 1d870428 00000000 00000000 1b6eed2c vjslib_ni+0x20428

    1b6eecf8 1d97a03e 00000000 00000000 1c9bae54 vjslib_ni+0x20428

    1b6eed2c 1d8ea1d0 01ce7022 1b6ef19c b59aaf96 vjslib_ni+0x12a03e

    1b6eed48 793d7a7b 00000000 1c9b8a7c 1b6eedac vjslib_ni+0x9a1d0

    1b6eed80 79e88f63 00000000 00000000 1b6eee10 mscorlib_ni+0x317a7b

    1b6eed90 79e88ee4 1b6eee60 00000000 1b6eee30 mscorwks!LogHelp_TerminateOnAssert+0x2f13

    1b6eee10 79e88e31 1b6eee60 00000000 1b6eee30 mscorwks!LogHelp_TerminateOnAssert+0x2e94

    1b6eef50 79e88d19 796902ac 1b6ef094 1b6eef9c mscorwks!LogHelp_TerminateOnAssert+0x2de1

    1b6ef044 79e88805 79e816f7 1b6ef094 79e88888 mscorwks!LogHelp_TerminateOnAssert+0x2cc9

    1b6ef048 79e816f7 1b6ef094 79e88888 1b6ef094 mscorwks!LogHelp_TerminateOnAssert+0x27b5

    1b6ef050 79e88888 1b6ef094 79e88a0d 00000004 mscorwks!InstallCustomModule+0x2187

    1b6ef148 79ef7fde 1b6ef1dc aeff2a6f 1b85100c mscorwks!LogHelp_TerminateOnAssert+0x2838

    1b6ef190 79ef7f1e b59aaf96 79e72048 1b6ef454 mscorwks!IEE+0x20a92

    1b6ef1f8 793684fb 1b6ef19c 1c9b8a7c 02932c28 mscorwks!IEE+0x209d2

    1b6ef210 793683ee 153629bc 1b6ef240 1b6ef26c mscorlib_ni+0x2a84fb

    1b6ef228 793d7b5c 1c9b8a7c 00000000 108e8770 mscorlib_ni+0x2a83ee

    1b6ef240 79e88f63 00000000 00000000 1b6ef2d0 mscorlib_ni+0x317b5c

    1b6ef250 79e88ee4 1b6ef320 00000000 1b6ef2f0 mscorwks!LogHelp_TerminateOnAssert+0x2f13

     29  Id: 558.904 Suspend: 1 Teb: 7ff37000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1b79fb14 71b23a52 000014f0 000014f4 00000000 ntdll!KiFastSystemCallRet

    1b79fc04 71c0470c 00000001 1b79fe84 1b79fc7c mswsock+0x3a52

    1b79fc54 77215d7a 00000001 1b79fe84 1b79fc7c ws2_32!select+0xa1

    1b79ffb0 7721d925 1b79ffec 77e6608b 10ac89d0 wininet!InternetCanonicalizeUrlW+0x191

    1b79ffb8 77e6608b 10ac89d0 00000000 00000000 wininet!UnlockUrlCacheEntryFileA+0x31c

    1b79ffec 00000000 7721d918 10ac89d0 00000000 kernel32!GetModuleFileNameA+0xeb

     30  Id: 558.f48 Suspend: 1 Teb: 7ff35000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1b7dffb8 77e6608b 71b268c0 00000000 00000000 ntdll!KiFastSystemCallRet

    1b7dffec 00000000 71b23e4b 10adebc8 00000000 kernel32!GetModuleFileNameA+0xeb

     31  Id: 558.de8 Suspend: 1 Teb: 7ff34000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e1affb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e1affec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     32  Id: 558.b60 Suspend: 1 Teb: 7ffa1000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    192aff7c 77e424c1 0000ea60 00000000 192affb8 ntdll!KiFastSystemCallRet

    192aff8c 776b22a0 0000ea60 10adb0d8 776b2307 kernel32!Sleep+0xf

    192affb8 77e6608b 10adb0d8 00000000 00000000 ole32!IsValidInterface+0x474

    192affec 00000000 776b2354 10adb0d8 00000000 kernel32!GetModuleFileNameA+0xeb

     33  Id: 558.348 Suspend: 1 Teb: 7ffde000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e20ff90 761ba048 00000001 10b88190 00000000 ntdll!KiFastSystemCallRet

    1e20ffb8 77e6608b 00000001 00000000 00000000 crypt32!RegSetValueExU+0x2b9

    1e20ffec 00000000 761ba01d 10b88188 00000000 kernel32!GetModuleFileNameA+0xeb

     34  Id: 558.d24 Suspend: 1 Teb: 7ffd9000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e42ffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e42ffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     35  Id: 558.fc4 Suspend: 1 Teb: 7ff3e000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e46ffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e46ffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     36  Id: 558.fcc Suspend: 1 Teb: 7ff3c000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e4affb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e4affec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     37  Id: 558.470 Suspend: 1 Teb: 7ff3b000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e4effb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e4effec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     38  Id: 558.c64 Suspend: 1 Teb: 7ff39000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e52ffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e52ffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     39  Id: 558.12c Suspend: 1 Teb: 7ff33000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    1e56ffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    1e56ffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

     40  Id: 558.27c Suspend: 1 Teb: 7ff32000 Unfrozen

    ChildEBP RetAddr  Args to Child              

    WARNING: Stack unwind information not available. Following frames may be wrong.

    23b4ffb8 77e6608b 00000000 00000000 00000000 ntdll!KiFastSystemCallRet

    23b4ffec 00000000 7c83ad38 00000000 00000000 kernel32!GetModuleFileNameA+0xeb

    0:014> ~* e !clrstack

    OS Thread Id: 0x55c (0)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5ac (1)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5c8 (2)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5dc (3)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5e0 (4)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5e4 (5)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5e8 (6)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5f0 (7)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5f4 (8)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x5fc (9)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x604 (10)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x554 (11)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x1ec (12)

    Failed to start stack walk: 80004005

    OS Thread Id: 0x208 (13)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x620 (14)

    ESP       EIP    

    019dfa8c 77e55e02 [GCFrame: 019dfa8c]

    019dfaf4 77e55e02 [GCFrame: 019dfaf4]

    OS Thread Id: 0x624 (15)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x630 (16)

    Failed to start stack walk: 80004005

    OS Thread Id: 0x880 (17)

    Failed to start stack walk: 80004005

    OS Thread Id: 0x884 (18)

    Failed to start stack walk: 80004005

    OS Thread Id: 0xce0 (19)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x7c4 (20)

    Failed to start stack walk: 80004005

    OS Thread Id: 0x9c0 (21)

    Failed to start stack walk: 80004005

    OS Thread Id: 0x2d8 (22)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xb34 (23)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x390 (24)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xe6c (25)

    ESP       EIP    

    1056eb98 7c8224b9 [NDirectMethodFrameStandalone: 1056eb98] <Module>.GeoCalc.DB.CDataSource.LoadFile(GeoCalc.DB.CDataSource*, UInt16*)

    1056eba8 1e3b645c GeoCalcNET.DataSourceComponent.LoadFile(System.String)

    1056ec3c 1e3b51d8 BMGCoordinateTransformerProvider.BMGCoordinateTransformer.LoadDataSource(System.String, LoggingFramework.ILog)

    1056ec6c 1e3b511c BMGCoordinateTransformerProvider.BMGCoordinateTransformer.Initialize(CoreFramework.IPropertySet, System.String, LoggingFramework.ILog)

    1056ec80 1e3b2d58 MappingFramework.Utils.MFUtils.LoadProjectionSystem(System.String, System.Xml.XmlNode, XMLFramework.DocParser, LoggingFramework.ILog, Boolean, Boolean, MappingFramework.Projections.CoordSysLookup ByRef, MappingFramework.Projections.DatumTransformationLookup ByRef, MappingFramework.Projections.ICoordinateTransformer ByRef)

    1056ecdc 1e3b278c OnPointFramework.Application.Component.MapComponent.LoadProjectionSystem(OnPointFramework.Application.AppConfiguration, LicenseUtils.LicenseContext, Boolean)

    1056ed14 1e3b2530 OnPointFramework.Application.Component.MapComponent.Configure(System.Xml.XmlNode, LicenseUtils.LicenseContext, OnPointFramework.Application.AppConfiguration)

    1056ed30 1930df1e OnPointFramework.Application.AppManager.LoadComponent(System.Xml.XmlNode, System.Xml.XmlNode, XMLFramework.DocParser, System.Xml.XmlNode, OnPointFramework.Application.AppConfiguration, Boolean, LoggingFramework.ILog)

    1056ed88 1930c442 OnPointFramework.Application.AppManager.LoadComponents(OnPointFramework.Application.AppConfiguration ByRef, XMLFramework.DocParser, XMLFramework.DocParser, Boolean, LoggingFramework.ILog, System.Web.Security.MembershipProvider)

    1056edcc 1930c248 OnPointFramework.Application.AppManager.LoadComponents(OnPointFramework.Application.AppConfiguration ByRef, System.String, System.String, LoggingFramework.ILog, System.Web.Security.MembershipProvider)

    1056edec 19309480 AppUtils.GetNewConfiguration(System.Web.HttpContext, System.Web.Security.MembershipProvider)

    1056eeb4 193000d8 ASP.global_asax.Application_Start(System.Object, System.EventArgs)

    1056f188 79e88f63 [CustomGCFrame: 1056f188]

    1056f16c 79e88f63 [GCFrame: 1056f16c]

    1056f150 79e88f63 [GCFrame: 1056f150]

    1056f358 79e88f63 [HelperMethodFrame_1OBJ: 1056f358] System.RuntimeMethodHandle._InvokeMethodFast(System.Object, System.Object[], System.SignatureStruct ByRef, System.Reflection.MethodAttributes, System.RuntimeTypeHandle)

    1056f3c8 793cf629 System.RuntimeMethodHandle.InvokeMethodFast(System.Object, System.Object[], System.Signature, System.Reflection.MethodAttributes, System.RuntimeTypeHandle)

    1056f414 794012bf System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, Boolean)

    1056f450 7940114a System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)

    1056f470 65fe8494 System.Web.HttpApplication.ProcessSpecialRequest(System.Web.HttpContext, System.Reflection.MethodInfo, Int32, System.Object, System.EventArgs, System.Web.SessionState.HttpSessionState)

    1056f4c0 66306638 System.Web.HttpApplicationFactory.FireApplicationOnStart(System.Web.HttpContext)

    1056f4d0 65fc3f76 System.Web.HttpApplicationFactory.EnsureAppStartCalled(System.Web.HttpContext)

    1056f504 65fc3d38 System.Web.HttpApplicationFactory.GetApplicationInstance(System.Web.HttpContext)

    1056f510 65fbe1ee System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)

    1056f544 65fbde92 System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)

    1056f550 65fbc567 System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)

    1056f700 79f1ef33 [ContextTransitionFrame: 1056f700]

    1056f750 79f1ef33 [GCFrame: 1056f750]

    1056f8a8 79f1ef33 [ComMethodFrame: 1056f8a8]

    OS Thread Id: 0x78c (26)

    Failed to start stack walk: 80004005

    OS Thread Id: 0xd0 (27)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xf38 (28)

    ESP       EIP    

    1b6eecd4 7c82ed54 [NDirectMethodFrameStandalone: 1b6eecd4] com.ms.vjsharp.windowing.win32.UnsafeWin32Calls.intGetMessage<PInvokeHelper>vjsnativ(MSGHelper, Int32, Int32, Int32)

    1b6eecec 1d870428 com.ms.vjsharp.windowing.win32.UnsafeWin32Calls.intGetMessage(com.ms.vjsharp.win32.MSG, Int32, Int32, Int32)

    1b6eed08 1d97a03e com.ms.vjsharp.windowing.win32.Win32Toolkit.run()

    1b6eed34 1d8ea1d0 java.lang.Thread.run()

    1b6eed60 01ce7022 [MulticastFrame: 1b6eed60] System.Threading.ThreadStart.Invoke()

    1b6eed70 793d7a7b System.Threading.ThreadHelper.ThreadStart_Context(System.Object)

    1b6eed78 793685af System.Threading.ExecutionContext.runTryCode(System.Object)

    1b6ef19c 79e88f63 [HelperMethodFrame_PROTECTOBJ: 1b6ef19c] System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)

    1b6ef204 793684fb System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

    1b6ef21c 793683ee System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

    1b6ef234 793d7b5c System.Threading.ThreadHelper.ThreadStart()

    1b6ef454 79e88f63 [GCFrame: 1b6ef454]

    1b6ef758 79e88f63 [ContextTransitionFrame: 1b6ef758]

    OS Thread Id: 0x904 (29)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xf48 (30)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xde8 (31)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xb60 (32)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x348 (33)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xd24 (34)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xfc4 (35)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xfcc (36)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x470 (37)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0xc64 (38)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x12c (39)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    OS Thread Id: 0x27c (40)

    Unable to walk the managed stack. The current thread is likely not a

    managed thread. You can run !threads to get a list of managed threads in

    the process

    Do correct if i am wrong? If yes, then i can report the error to third party component provider.

    In between where can i find the list of command which can be run of Windbg ( i tried googling and going thru the help but was not successful)?

    Thanks in advance

    -Manche

  • Unhandled exceptions cause ASP.NET-based applications to unexpectedly quit in the .NET Framework 2.0

  • Very instructive post, thank you!

    I have a crash to Manche's (don't worry, I won't post a comment that size here :)). It's also related to a third-party component, developed in J#. The presence of com.ms.vjsharp.windowing.win32.Win32Toolkit.run() in the call stack is the part that scares me.

    There might be some problem related to VJ# exception handling. Looks like it's trying to report the exception to a win32 window, or something like that.

    I'm debugging the crash. In Visual Studio, it shows, on the call stack of the offending thread:

    [Managed to Native Transition]

    > vjslib.dll!com.ms.vjsharp.windowing.win32.Win32Toolkit.run() + 0x52 bytes

    vjslib.dll!java.lang.Thread.run() + 0x10 bytes

    [Native to Managed Transition]

    [Managed to Native Transition]

    mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x3b bytes

    mscorlib.dll!System.Threading.ExecutionContext.runTryCode(object userData) + 0x43 bytes

    [Native to Managed Transition]

    [Managed to Native Transition]

    mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0xa7 bytes

    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x92 bytes

    mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x40 bytes

    [Appdomain Transition]

  • These are the articles (in no particular order) that I felt best showed a thorough use of the windbg

  • I cannot use a debugger to troubleshoot the issue in this case. The HttpModule you referred to works for a ASP.NET app.

  • Hi Tess,

    Was hoping if you can give us some direction to look towards based on this  output we got from windbg.

    This dump file has an exception of interest stored in it.

    The stored exception information can be accessed via .ecxr.

    (ec.117c): CLR exception - code e0434f4d (first/second chance not available)

    eax=1bd7f64c ebx=1b1352d8 ecx=00000000 edx=00000024 esi=1bd7f6d8 edi=e0434f4d

    eip=77e4bee7 esp=1bd7f648 ebp=1bd7f69c iopl=0         nv up ei pl nz na po nc

    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202

    kernel32!RaiseException+0x53:

    77e4bee7 5e              pop     esi

    0:033> !anlyze -v

    No export anlyze found

    0:033> !analyze -v

    *******************************************************************************

    *                                                                             *

    *                        Exception Analysis                                   *

    *                                                                             *

    *******************************************************************************

    *** WARNING: Unable to verify checksum for System.Web.ni.dll

    *** WARNING: Unable to verify checksum for mscorlib.ni.dll

    *** WARNING: Unable to verify checksum for System.ni.dll

    FAULTING_IP:

    kernel32!RaiseException+53

    77e4bee7 5e              pop     esi

    EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)

    ExceptionAddress: 77e4bee7 (kernel32!RaiseException+0x00000053)

      ExceptionCode: e0434f4d (CLR exception)

     ExceptionFlags: 00000001

    NumberParameters: 1

      Parameter[0]: 80131509

    DEFAULT_BUCKET_ID:  CLR_EXCEPTION

    PROCESS_NAME:  w3wp.exe

    ERROR_CODE: (NTSTATUS) 0xe0434f4d - <Unable to get error code text>

    NTGLOBALFLAG:  0

    APPLICATION_VERIFIER_FLAGS:  0

    MANAGED_STACK:

    ChildEBP RetAddr  Caller,Callee

    EXCEPTION_OBJECT: !pe 28098d0

    Exception object: 028098d0

    Exception type: System.Net.WebException

    Message: The operation has timed out

    InnerException: <none>

    StackTrace (generated):

    <none>

    StackTraceString: <none>

    HResult: 80131509

    MANAGED_OBJECT: !dumpobj 280c0d00280aba4

    Name: System.String

    MethodTable: 790f9244

    EEClass: 790f91a4

    Size: 72(0x48) bytes

    (C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)

    String: The operation has timed out

    Fields:

         MT    Field   Offset                 Type VT     Attr    Value Name

    790fdb60  4000096        4         System.Int32  0 instance       28 m_arrayLength

    790fdb60  4000097        8         System.Int32  0 instance       27 m_stringLength

    790fad38  4000098        c          System.Char  0 instance       54 m_firstChar

    790f9244  4000099       10        System.String  0   shared   static Empty

       >> Domain:Value  000dfa00:790d57b4 00117138:790d57b4 <<

    79122994  400009a       14        System.Char[]  0   shared   static WhitespaceChars

       >> Domain:Value  000dfa00:027203f0 00117138:027244a4 <<

    EXCEPTION_MESSAGE:  The operation has timed out

    LAST_CONTROL_TRANSFER:  from 79f55b05 to 77e4bee7

    STACK_TEXT:  

    1bd7f69c 79f55b05 e0434f4d 00000001 00000001 kernel32!RaiseException+0x53

    1bd7f6fc 7a056a79 028098d0 00000000 00000000 mscorwks!RaiseTheExceptionInternalOnly+0x226

    1bd7f710 7a056af2 028098d0 00000000 1bd7f828 mscorwks!RaiseTheException+0x4d

    1bd7f738 7a056b30 00000000 1b1352d8 db9b9274 mscorwks!RaiseTheException+0xbf

    1bd7f764 7a056b41 028098d0 00000000 7a0e38fa mscorwks!RealCOMPlusThrow+0x38

    1bd7f770 7a0e38fa 028098d0 1e66c88c 7a36f194 mscorwks!RealCOMPlusThrow+0xb

    1bd7f8a0 7a0e4b97 00000000 1bd7f8d8 1bd7f948 mscorwks!Thread::RaiseCrossContextException+0x3ac

    1bd7f954 7a0e5a07 00000002 79f5e3aa 1bd7fa48 mscorwks!Thread::DoADCallBack+0x26c

    1bd7f96c 79ed89ca 1bd7fa48 1bd7f9f4 79f55262 mscorwks!Thread::UserResumeThread+0xe1

    1bd7fa00 79ed88f1 1bd7fa48 1e66ca84 00000001 mscorwks!Thread::DoADCallBack+0x355

    1bd7fa3c 7a0e4d96 1bd7fa48 00000002 00000000 mscorwks!Thread::DoADCallBack+0x541

    1bd7fa64 7a0e4dad 00000002 7a078575 1bd7fad0 mscorwks!Thread::DoADCallBack+0x575

    1bd7fa78 7a07a99e 00000002 7a078575 1bd7fad0 mscorwks!ManagedThreadBase::KickOff+0x13

    1bd7fb14 79ed8e36 1b174e60 1bd7fb50 00000000 mscorwks!ThreadNative::KickOffThread+0x230

    1bd7ffb8 77e64829 1b16d2a0 00000000 00000000 mscorwks!Thread::intermediateThreadProc+0x49

    1bd7ffec 00000000 79ed8df0 1b16d2a0 00000000 kernel32!BaseThreadStart+0x34

    FOLLOWUP_IP:

    mscorwks!RaiseTheExceptionInternalOnly+226

    79f55b05 c745fcfeffffff  mov     dword ptr [ebp-4],0FFFFFFFEh

    SYMBOL_STACK_INDEX:  1

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: mscorwks

    IMAGE_NAME:  mscorwks.dll

    DEBUG_FLR_IMAGE_TIMESTAMP:  461f2e2a

    FAULTING_THREAD:  0000117c

    PRIMARY_PROBLEM_CLASS:  CLR_EXCEPTION

    BUGCHECK_STR:  APPLICATION_FAULT_CLR_EXCEPTION

    SYMBOL_NAME:  mscorwks!RaiseTheExceptionInternalOnly+226

    STACK_COMMAND:  ~33s; .ecxr ; kb

    FAILURE_BUCKET_ID:  APPLICATION_FAULT_CLR_EXCEPTION_System.Net.WebException_mscorwks!RaiseTheExceptionInternalOnly+226

    BUCKET_ID:  APPLICATION_FAULT_CLR_EXCEPTION_System.Net.WebException_mscorwks!RaiseTheExceptionInternalOnly+226

    Followup: MachineOwner

    ---------

    Thanks,

    Neil

  • I would start of with !clrstack on the current thread (the one that throws the exception) and ~* e !clrstack to see what all threads are doing to get an idea of why its timing out.

  • Hi Tess,

    Great article! Just one thing - you mention the following when creating Microsoft's UnhandledExceptionModule.dll from their KB article:

    "You don’t actually need to strong name it and add it to the GAC, however if you plan it in multiple applications you should to avoid for the dll being loaded multiple times."

    I've produced this DLL and using the instructions on Microsoft's article, it installs correctly in the GAC via my development PC, but in our UAT and Production systems here, we don't have these tools to complete it. I can add it successfully to the GAC for .NET 2.0 components, but the web.config reference throws an error saying that the "codebase cannot be found".

    My question is, how would I install this DLL into my web app to enable unhandled exceptions to be caught?

    Thanks in advance,

    Ben

  • Hi Ben,

    Sounds like it is not matching up the right version/key in the GAC.  Is that the exact message you get (i.e. "codebase cannot be found")?  

    You might want to read through this regarding how the probing is done as it might help you figure out why it fails.

    http://en.csharp-online.net/.NET_CLR_Components%E2%80%94Resolving_Names_to_Locations

    On a separate note, although it is best practice to store it in the GAC and i wouldn't recommend creating copies in the bin directory for all dlls, this dll is extremely small so removing the strong name and storing this one in the GAC wont really cause any noticeable memory changes, assuming that you dont have hundreds of different applications.

  • Thanks Tess - you're right, the "codebase cannot be found" message is the one I see.

    How could I add this to the GAC (without a strong name) and reference it in my web.config file, inside the httpModules tag? This entry appears to require a strong name and this is where my error message originates from.

    Apologies for all the questions - although I've been coding in .NET for a while, I've had little experience in deploying these apps.

    Thanks again,

    Ben

  • To my knowledge you cant add an assembly that is not strongnamed to the GAC so if it is not strong named it would have to reside in the bin.

    If someone knows differently, please correct me:)

  • This has been a busy month for blogging for me, I'm up to a whopping 8 posts this month including this

  • Hi misters,

    is it possible use AppDomain.Currentdomain. UnhandledException event en ASP.NET 2.0 ??

    I have this code:

    protected override void OnInit(EventArgs e)

           {

               base.OnInit(e);

               PantallaControlIULogging.TrazarDebug("Principal. OnInit.");

               PantallaControlIULogging.TrazarWarning("Principal. CurrentDomain_UnhandledException. ");

               AppDomain.CurrentDomain.UnhandledException -= new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

               AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

           }

    and

    protected void Page_Load(object sender, EventArgs e)

           {

               PantallaControlIULogging.TrazarWarning("Principal. CurrentDomain_UnhandledException. ");

               AppDomain.CurrentDomain.UnhandledException -= new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

               AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

    ...

    I don't get fire that event when throw an error

           protected void b2click(object sender, EventArgs e)

           {

                   // Forzar error

                   throw new

    Excepciones.BloqueoTareaExcepcion("ERROR BloqueoTareaExcepcion!!!");

    I want to get the error and show it using javascript (alert).

    By other reasons, I cannot access to global.asax and I cannot use HttpApplication_Error event.

    Any help will be appreciated, and I'll be very grateful. Thanks in advance.

    Greetings, regards.

  • Thank you, thank you, thank you, thank you. This helped me solve a major roadblock at work.

Page 4 of 6 (84 items) «23456
Leave a Comment
  • Please add 8 and 2 and type the answer here:
  • Post