title: Having a hard time tracking down a process that is crashing my app pool
body: <p>So I have an app that keeps crashing out and it's not leaving any application logs. When I finally went and looked in the event viewer for that server (a server 2003 box), I found this error (The even source was ASP.NET 4.0.30319.0)</p>
  
  <blockquote>
    <p>An unhandled exception occurred and the process was terminated.</p>
    
    <p>Application ID: /LM/W3SVC/2053196604/Root</p>
    
    <p>Process ID: 24428</p>
    
    <p>Exception: System.IO.FileLoadException</p>
    
    <p>Message: Could not load file or assembly
    'Microsoft.Practices.EnterpriseLibrary.Validation, Version=5.0.505.0,
    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its
    dependencies. The located assembly's manifest definition does not
    match the assembly reference. (Exception from HRESULT: 0x80131040)</p>
    
    <p>StackTrace:  Server stack trace:     at
    System.RuntimeTypeHandle.GetTypeByName(String name, Boolean
    throwOnError, Boolean ignoreCase, Boolean reflectionOnly,
    StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName,
    ObjectHandleOnStack type)    at
    System.RuntimeTypeHandle.GetTypeByName(String name, Boolean
    throwOnError, Boolean ignoreCase, Boolean reflectionOnly,
    StackCrawlMark&amp; stackMark, Boolean loadTypeFromPartialName)    at
    System.RuntimeType.GetType(String typeName, Boolean throwOnError,
    Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark&amp; stackMark)
    at System.Type.GetType(String typeName)    at
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.Unity.UnityContainerConfigurator.AddValidationExtension()
    at
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.Unity.UnityContainerConfigurator..ctor(IUnityContainer
    container)    at
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.CreateDefaultContainer(IConfigurationSource
    configurationSource)    at
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.SetCurrentContainerIfNotSet()
    at Microsoft.Practices.EnterpriseLibrary.Logging.Logger.get_Writer()<br>
    at Apriva.WebApi.Shared.Logging.DefaultLogWriter.Log(Object message,
    TraceEventType severity, LogEntry&amp; entry, String category, HttpContext
    context)    at
    Apriva.WebApi.Shared.Logging.DefaultLogWriter.Info(Object message,
    String category, HttpContext context)    at
    System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
    md, Object[] args, Object server, Int32 methodPtr, Boolean
    fExecuteInContext, Object[]&amp; outArgs)    at
    System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage
    msg, IMessageSink replySink)</p>
    
    <p>Exception rethrown at [0]:     at
    System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message
    reqMsg, Boolean bProxyCase)    at
    System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed,
    MessageData&amp; msgData)    at
    Apriva.WebApi.Shared.Logging.Logger.LogDelegate.EndInvoke(IAsyncResult
    result)    at
    Apriva.WebApi.Shared.Logging.Logger.LogAsyncComplete(IAsyncResult ar) 
    at
    System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessage
    msg)    at
    System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage
    msg, IMessageSink replySink)    at
    System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()<br>
    at
    System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object
    o)    at
    System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object
    state)    at System.Threading.ExecutionContext.Run(ExecutionContext
    executionContext, ContextCallback callback, Object state, Boolean
    ignoreSyncCtx)    at
    System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    at System.Threading.ThreadPoolWorkQueue.Dispatch()    at
    System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</p>
    
    <p>For more information, see Help and Support Center at</p>
  </blockquote>
  
  <p>When I check the processes in the task manager, this PID isn't present. I figure it's because it is a w3wp process. So I go to command prompt and run iisapp.vbs and it returns a single process with a different PID.</p>
  
  <p>The error seems to imply that there is a config reference to a different version of the enterprise library for validation when the version that was found was v5.0.505.0 and while my projects have plenty of references to the enterprise library, none refer to the validation package.</p>
  
  <p>So my question is -- does anyone have any insight into where I should look next? I was trying to use the PID to at least see which application was causing the error, but that doesn't seem to be getting me anywhere.</p>