.NET 4.0 : First-chance exception 0x04242420


  • I see a 0x4242420 first-chance exception fly by my Output window in the debugger and I wanted to check if this exception was benign. 

    The call stack when the exception occurs is as follows:

    >	kernel32.dll!_RaiseException@16() + 0x52 bytes 
    	clr.dll!Debugger::SendRawEvent() + 0x2f9adc bytes	
    	clr.dll!Debugger::RaiseStartupNotification() + 0x48 bytes	
     	clr.dll!Debugger::Startup() + 0x73 bytes	
     	clr.dll!DoAdditionalPEChecks() - 0x439b bytes	
     	clr.dll!EEStartupHelper() + 0x4a9 bytes	
     	clr.dll!EEStartup() + 0x1c bytes	
     	clr.dll!EnsureEEStarted() + 0xa7 bytes	
     	clr.dll!_ClrCreateManagedInstance@12() + 0x41 bytes	
     	webengine4.dll!LegacyActivationShim::ClrCreateManagedInstance() + 0x55 bytes	
     	webengine4.dll!CreateAppDomainFactory() + 0x34 bytes	
     	webengine4.dll!GetAppDomain() + 0x16d3 bytes	
     	webengine4.dll!GetAppDomainIndirect() + 0x15 bytes	
     	aspnet_wp.exe!CAsyncPipeManager::ProcessMessage() + 0x270 bytes	
     	aspnet_wp.exe!CAsyncPipeManager::ProcessCompletion() + 0x2b4 bytes	
     	webengine4.dll!CorThreadPoolCompletionCallback() + 0x2d bytes	
     	clr.dll!ThreadpoolMgr::CompletionPortThreadStart() + 0x18d bytes	
     	clr.dll!ThreadpoolMgr::intermediateThreadProc() + 0x48 byteskernel32.dll!_BaseThreadStart@8() + 0x37 bytes	

    Based on the following snippit I believe this should only be thrown when a debugger is attached.

    792A724E FF 15 04 13 14 79 call dword ptr [__imp__IsDebuggerPresent@0 (79141304h)] 
    792A7254 85 C0 test eax,eax
    792A7256 0F 85 41 9A 2F 00 jne Debugger::SendRawEvent+30h (795A0C9Dh)


    My guess is that this is some startup exception that is new to .NET 4.0?  I just wanted to check that this was safe to ignore since I the internet didn't have the answer yet. :)


    • Edited by Jeffrey__ Wednesday, November 21, 2012 2:09 PM
    Friday, October 29, 2010 3:39 PM


  • Hi Jeffery,

    Is it's being handled, I think it's safe to say you can ignore it. :-)

    Out of curiosity I did a little digging and found that this is actually an undocumented exception (CLRDBG_NOTIFICATION_EXCEPTION_CODE) that is apparently an addition to the IPC protocol used by the managed debugger in the 4.0 CLR. It should be entirely safe to ignore.


    Ed Dore
    Tuesday, November 02, 2010 4:29 PM