Kris
Kris

Reputation: 241

Ninject deadlock issue

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.

Is there a way I can get from windbg tool, what concrete type Ninject is failing on.

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<System.__Canon>)
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<System.__Canon>, System.Action`1<System.__Canon>)
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<System.__Canon>)
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<System.__Canon>, System.Action`1<System.__Canon>)
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<System.__Canon>)
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<System.__Canon>, System.Action`1<System.__Canon>)
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<System.__Canon>)
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<System.__Canon>, System.Action`1<System.__Canon>)
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<System.__Canon>)
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] 

Upvotes: 2

Views: 464

Answers (1)

Kris
Kris

Reputation: 241

After upgrading to nInject latest version, solved the issue

Upvotes: 1

Related Questions