title: Ninject deadlock issue
body: <p>We have  asp.net MVC 4 application and once in 2 weeks IIS requests are hanging because of a deadlock issue in nInject. Any suggestion on how to debug this issue further?  We are using Ninject 3.0.1.10. Planning to update to recent release.  I got this stack from windbg !clrstack and same from Debugdiag tool also.</p>
  
  <p>Is there a way I can get from windbg tool, what concrete type Ninject is failing on.</p>
  
  <pre><code>OS Thread Id: 0x169c (42)
          Child SP               IP Call Site
  000000001e9cc908 0000000077c1e18a [GCFrame: 000000001e9cc908] 
  000000001e9cca48 0000000077c1e18a [GCFrame: 000000001e9cca48] 
  000000001e9cca88 0000000077c1e18a [HelperMethodFrame_1OBJ: 000000001e9cca88] System.Threading.Monitor.Enter(System.Object)
  000000001e9ccb80 000007fed9d5fecb Ninject.Activation.Context.Resolve()
  000000001e9ccbf0 000007fef1fd02b8 System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()
  000000001e9ccc40 000007fef1fd5a0c System.Linq.Enumerable.SingleOrDefault[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;)
  000000001e9cccb0 000007fed9d5cdaa Ninject.Activation.Strategies.PropertyInjectionStrategy.Activate(Ninject.Activation.IContext, Ninject.Activation.InstanceReference)
  000000001e9ccd40 000007fed9d5b6b8 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;, System.Action`1&lt;System.__Canon&gt;)
  000000001e9ccd90 000007fed9d6017b Ninject.Activation.Context.Resolve()
  000000001e9cce00 000007fef1fd02b8 System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()
  000000001e9cce50 000007fef1fd5a0c System.Linq.Enumerable.SingleOrDefault[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;)
  000000001e9ccec0 000007fed9d5cdaa Ninject.Activation.Strategies.PropertyInjectionStrategy.Activate(Ninject.Activation.IContext, Ninject.Activation.InstanceReference)
  000000001e9ccf50 000007fed9d5b6b8 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;, System.Action`1&lt;System.__Canon&gt;)
  000000001e9ccfa0 000007fed9d6017b Ninject.Activation.Context.Resolve()
  000000001e9cd010 000007fef1fd02b8 System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()
  000000001e9cd060 000007fef1fd5a0c System.Linq.Enumerable.SingleOrDefault[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;)
  000000001e9cd0d0 000007fed9d5cdaa Ninject.Activation.Strategies.PropertyInjectionStrategy.Activate(Ninject.Activation.IContext, Ninject.Activation.InstanceReference)
  000000001e9cd160 000007fed9d5b6b8 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;, System.Action`1&lt;System.__Canon&gt;)
  000000001e9cd1b0 000007fed9d6017b Ninject.Activation.Context.Resolve()
  000000001e9cd220 000007fef1fd02b8 System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()
  000000001e9cd270 000007fef1fd5a0c System.Linq.Enumerable.SingleOrDefault[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;)
  000000001e9cd2e0 000007fed9d5cdaa Ninject.Activation.Strategies.PropertyInjectionStrategy.Activate(Ninject.Activation.IContext, Ninject.Activation.InstanceReference)
  000000001e9cd370 000007fed9d5b6b8 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;, System.Action`1&lt;System.__Canon&gt;)
  000000001e9cd3c0 000007fed9d6017b Ninject.Activation.Context.Resolve()
  000000001e9cd430 000007fef1fd02b8 System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()
  000000001e9cd480 000007fef1fd5a0c System.Linq.Enumerable.SingleOrDefault[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1&lt;System.__Canon&gt;)
  000000001e9cd4f0 000007fee8adfa2e System.Web.Mvc.DefaultControllerFactory+DefaultControllerActivator.Create(System.Web.Routing.RequestContext, System.Type)
  000000001e9cd550 000007fee8adf7e9 System.Web.Mvc.DefaultControllerFactory.CreateController(System.Web.Routing.RequestContext, System.String)
  000000001e9cd590 000007fee8ac1421 System.Web.Mvc.MvcHandler.ProcessRequestInit(System.Web.HttpContextBase, System.Web.Mvc.IController ByRef, System.Web.Mvc.IControllerFactory ByRef)
  000000001e9cd600 000007fee8ac0fe7 System.Web.Mvc.MvcHandler.BeginProcessRequest(System.Web.HttpContextBase, System.AsyncCallback, System.Object)
  000000001e9cd680 000007feedcd7502 System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
  000000001e9cd760 000007feedc9d380 System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)
  000000001e9cd800 000007feedcbb31a System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)
  000000001e9cd950 000007feedc9d523 System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)
  000000001e9cd9a0 000007feedc9727e System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)
  000000001e9cda40 000007feedca04e1 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
  000000001e9cdc50 000007feedc9fea2 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
  000000001e9cdca0 000007feee40aa21 DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)
  000000001e9ce488 000007fef374a9ce [InlinedCallFrame: 000000001e9ce488] System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus ByRef)
  000000001e9ce488 000007feedd4d84b [InlinedCallFrame: 000000001e9ce488] System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus ByRef)
  000000001e9ce460 000007feedd4d84b DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)
  000000001e9ce530 000007feedca06cf System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
  000000001e9ce740 000007feedc9fea2 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
  000000001e9ce790 000007feee40aa21 DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)
  000000001e9ce9d8 000007fef374ac23 [ContextTransitionFrame: 000000001e9ce9d8] 
  </code></pre>