DryIoc: Stackoverflow exception
Hi,
I have been investigating an issue where w3wp.exe process crashes under heavy load. I was finally able to get memory dump of crashing process and it seems to come from DryIoc.

Here are details of Thread 51.
Thread 51 - System ID 7224
Entry point clr!Thread::intermediateThreadProc
Create time 6/12/2019 8:24:29 PM
Time spent in user mode 0 Days 00:00:00.250
Time spent in kernel mode 0 Days 00:00:00.031
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
The thread has evidence of .net exceptions on the stack. Check the Previous .NET Exceptions Report (Exceptions in all .NET Thread Stacks) to view more details of the associated exception
.Net Call Stack
[[PrestubMethodFrame] (.)] DynamicClass.(ArrayClosure)
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+d3e46
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure, DryIoc.IResolverContext)+13af1
DryIoc.Container.DryIoc.IResolver.Resolve(System.Type, System.Object, DryIoc.IfUnresolved, System.Type, DryIoc.Request, System.Object[])+37a
DryIoc.Container.ResolveAndCacheFactoryDelegate(System.Type, DryIoc.IfUnresolved)+140
Severa.Rest.API.DryIocControllerActivator.Create(System.Net.Http.HttpRequestMessage, System.Web.Http.Controllers.HttpControllerDescriptor, System.Type)+52
System.Web.Http.Dispatcher.HttpControllerDispatcher+d__15.MoveNext()+12d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.Dispatcher.HttpControllerDispatcher+d__15, System.Web.Http]](d__15 ByRef)+7a
System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+257
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
DryIoc.WebApi.RegisterRequestMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+29
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
System.Web.Http.HttpServer+d__24.MoveNext()+1a0
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.HttpServer+d__24, System.Web.Http]](d__24 ByRef)+7a
System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Owin.HttpMessageHandlerAdapter+d__20.MoveNext()+25a
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.Web.Http.Owin.HttpMessageHandlerAdapter+d__20, System.Web.Http.Owin]](d__20 ByRef)+80
System.Web.Http.Owin.HttpMessageHandlerAdapter.InvokeCore(Microsoft.Owin.IOwinContext, Microsoft.Owin.IOwinRequest, Microsoft.Owin.IOwinResponse)+7b
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+d__5[[System.__Canon, mscorlib]].MoveNext()+229
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+d__5[[System.__Canon, mscorlib]], Microsoft.Owin.Security]](d__5 ByRef)+a4
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1[[System.__Canon, mscorlib]].Invoke(Microsoft.Owin.IOwinContext)+9e
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+d__7.MoveNext()+3d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+d__7, Microsoft.Owin.Host.SystemWeb]](d__7 ByRef)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.RunApp(System.Func`2,System.Threading.Tasks.Task>, System.Collections.Generic.IDictionary`2, System.Threading.Tasks.TaskCompletionSource`1, Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(System.Object, System.EventArgs, System.AsyncCallback, System.Object)+27a
System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+182
System.Web.HttpApplication+<>c__DisplayClass285_0.b__0()+25
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)+9b
System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)+83
System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+74d
System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)+83
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)+1e2
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+441
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)+7e
[[InlinedCallFrame] (System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion)] System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatusByRef)
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+504
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
[[ContextTransitionFrame]]
Full Call Stack
clr!ExecutionManager::GetCodeMethodDesc+17
clr!MethodTable::GetMethodDescForSlot+aa
clr!MethodDesc::FindOrCreateAssociatedMethodDesc+14f
clr!CEEInfo::getCallInfo+23dd
clrjit!Compiler::impImportBlockCode+4116 [f:\dd\ndp\clr\src\jit\importer.cpp @ 13107] f:\dd\ndp\clr\src\jit\importer.cpp @ 13107
clrjit!Compiler::impImportBlock+7d [f:\dd\ndp\clr\src\jit\importer.cpp @ 16079] f:\dd\ndp\clr\src\jit\importer.cpp @ 16079
clrjit!Compiler::impImport+2f7 [f:\dd\ndp\clr\src\jit\importer.cpp @ 17163] f:\dd\ndp\clr\src\jit\importer.cpp @ 17163
clrjit!Compiler::compCompile+99 [f:\dd\ndp\clr\src\jit\compiler.cpp @ 4386 + c] f:\dd\ndp\clr\src\jit\compiler.cpp @ 4386 + c
clrjit!Compiler::compCompileHelper+2a7 [f:\dd\ndp\clr\src\jit\compiler.cpp @ 6025] f:\dd\ndp\clr\src\jit\compiler.cpp @ 6025
clrjit!Compiler::compCompile+24b [f:\dd\ndp\clr\src\jit\compiler.cpp @ 5359 + 1a] f:\dd\ndp\clr\src\jit\compiler.cpp @ 5359 + 1a
clrjit!jitNativeCode+26a [f:\dd\ndp\clr\src\jit\compiler.cpp @ 6666 + 50] f:\dd\ndp\clr\src\jit\compiler.cpp @ 6666 + 50
clrjit!<lambda_1e1cefc294d1d43a093c8e94a2fac4f7>::<helper_func_cdecl>+fc [f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 22434] f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 22434
clr!CEEInfo::runWithErrorTrap+47
clrjit!Compiler::fgInvokeInlineeCompiler+165 [f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 22448] f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 22448
clrjit!Compiler::fgMorphCallInlineHelper+a9 [f:\dd\ndp\clr\src\jit\morph.cpp @ 7102] f:\dd\ndp\clr\src\jit\morph.cpp @ 7102
clrjit!Compiler::fgInline+1ae [f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 21827 + 10] f:\dd\ndp\clr\src\jit\flowgraph.cpp @ 21827 + 10
clrjit!Compiler::fgMorph+85 [f:\dd\ndp\clr\src\jit\morph.cpp @ 18063] f:\dd\ndp\clr\src\jit\morph.cpp @ 18063
clrjit!Compiler::compCompile+1cb [f:\dd\ndp\clr\src\jit\compiler.cpp @ 4480] f:\dd\ndp\clr\src\jit\compiler.cpp @ 4480
clrjit!Compiler::compCompileHelper+2a7 [f:\dd\ndp\clr\src\jit\compiler.cpp @ 6025] f:\dd\ndp\clr\src\jit\compiler.cpp @ 6025
clrjit!Compiler::compCompile+24b [f:\dd\ndp\clr\src\jit\compiler.cpp @ 5359 + 1a] f:\dd\ndp\clr\src\jit\compiler.cpp @ 5359 + 1a
clrjit!jitNativeCode+26a [f:\dd\ndp\clr\src\jit\compiler.cpp @ 6666 + 50] f:\dd\ndp\clr\src\jit\compiler.cpp @ 6666 + 50
clrjit!CILJit::compileMethod+a2 [f:\dd\ndp\clr\src\jit\ee_il_dll.cpp @ 315] f:\dd\ndp\clr\src\jit\ee_il_dll.cpp @ 315
clr!invokeCompileMethodHelper+ce
clr!invokeCompileMethod+97
clr!CallCompileMethodWithSEHWrapper+52
clr!UnsafeJitFunction+7ea
clr!MethodDesc::MakeJitWorker+498
clr!MethodDesc::DoPrestub+94c
clr!PreStubWorker+3cc
clr!ThePreStub+55
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+d3e46
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure, DryIoc.IResolverContext)+13af1
DryIoc.Container.DryIoc.IResolver.Resolve(System.Type, System.Object, DryIoc.IfUnresolved, System.Type, DryIoc.Request, System.Object[])+37a
DryIoc.Container.ResolveAndCacheFactoryDelegate(System.Type, DryIoc.IfUnresolved)+140
Severa.Rest.API.DryIocControllerActivator.Create(System.Net.Http.HttpRequestMessage, System.Web.Http.Controllers.HttpControllerDescriptor, System.Type)+52
System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15.MoveNext()+12d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15, System.Web.Http]](<SendAsync>d__15 ByRef)+7a
System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+257
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
DryIoc.WebApi.RegisterRequestMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+29
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
System.Web.Http.HttpServer+<SendAsync>d__24.MoveNext()+1a0
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.HttpServer+<SendAsync>d__24, System.Web.Http]](<SendAsync>d__24 ByRef)+7a
System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20.MoveNext()+25a
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20, System.Web.Http.Owin]](<InvokeCore>d__20 ByRef)+80
System.Web.Http.Owin.HttpMessageHandlerAdapter.InvokeCore(Microsoft.Owin.IOwinContext, Microsoft.Owin.IOwinRequest, Microsoft.Owin.IOwinResponse)+7b
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+<Invoke>d__5[[System.__Canon, mscorlib]].MoveNext()+229
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+<Invoke>d__5[[System.__Canon, mscorlib]], Microsoft.Owin.Security]](<Invoke>d__5<System.__Canon> ByRef)+a4
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1[[System.__Canon, mscorlib]].Invoke(Microsoft.Owin.IOwinContext)+9e
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7.MoveNext()+3d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7, Microsoft.Owin.Host.SystemWeb]](<RunApp>d__7 ByRef)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.RunApp(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.Threading.Tasks.Task>, System.Collections.Generic.IDictionary`2<System.String,System.Object>, System.Threading.Tasks.TaskCompletionSource`1<System.Object>, Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(System.Object, System.EventArgs, System.AsyncCallback, System.Object)+27a
System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+182
System.Web.HttpApplication+<>c__DisplayClass285_0.<ExecuteStepImpl>b__0()+25
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)+9b
System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)+83
System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+74d
System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)+83
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)+1e2
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+441
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
clr!UMThunkStub+6e
webengine4!W3_MGD_HANDLER::ProcessNotification+8e
webengine4!W3_MGD_HANDLER::DoWork+3a5
webengine4!RequestDoWork+3fc
webengine4!CMgdEngHttpModule::OnAcquireRequestState+1f
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+b9
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+19c
iiscore!NOTIFICATION_CONTEXT::CallModules+36
iiscore!NOTIFICATION_MAIN::DoWork+1cf
iiscore!W3_CONTEXT_BASE::IndicateCompletion+d6
webengine4!W3_MGD_HANDLER::IndicateCompletion+5d
webengine4!MgdIndicateCompletion+22
DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)+7e
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+504
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
clr!UM2MThunk_WrapperHelper+43
clr!UM2MThunk_Wrapper+60
clr!Thread::DoADCallBack+13d
clr!UM2MDoADCallBack+b3
clr!UMThunkStub+26d
webengine4!W3_MGD_HANDLER::ProcessNotification+8e
webengine4!ProcessNotificationCallback+42
clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+1bc
clr!ThreadpoolMgr::ExecuteWorkRequest+64
clr!ThreadpoolMgr::WorkerThreadStart+f5
clr!Thread::intermediateThreadProc+86
kernel32!BaseThreadInitThunk+14
ntdll!RtlUserThreadStart+21
Windows Server 2016 - 14393
Processor Type X64
Process Bitness 64-Bit
CLR version = 4.7.3394.0
This is blocker for us to start using DryIoc. This is really strange error, it does not seem to happen in Debug mode and performance seems better in Debug. When built in Release this error occurs and CPU spikes way more. Maybe it has something to do with Jit compiler
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 101 (98 by maintainers)
Commits related to this issue
- Test results and a bit of cleanup in LoadTest project #139 updated copyright dates for DryIoc.Web package — committed to dadhi/DryIoc by dadhi 5 years ago
- testing more cases related to #139 — committed to dadhi/DryIoc by dadhi 5 years ago
- Test results and a bit of cleanup in LoadTest project #139 updated copyright dates for DryIoc.Web package — committed to Leszek-Kowalski/DryIoc by dadhi 5 years ago
- testing more cases related to #139 — committed to Leszek-Kowalski/DryIoc by dadhi 5 years ago
- removed: requiredServiceType from keyed resolution cache fixed #139 LoadTest downgared to 2.5 min for 4th test — committed to Leszek-Kowalski/DryIoc by dadhi 5 years ago
- #139 - wrapping in a delegate did not play well — committed to dadhi/DryIoc by dadhi 5 years ago
- stop decorator caching - improves #139 a lot — committed to dadhi/DryIoc by dadhi 5 years ago
- #139 enabling the ReducedLoadTest — committed to dadhi/DryIoc by dadhi 5 years ago
- support Rules.WithUseDecorateeReuseForDecorators and added the another ReducedLoadTest for #139 — committed to dadhi/DryIoc by dadhi 5 years ago
I fixed it 👍 Stackoverflow is also gone. FEC LoadTest 17sec.
withoutFastExpressionCompiler LoadTest 21sec
Hi @Havunen
I have time Today to play with the LoadTest and wow! - this is an actual real-world usage scenario that DryIoc is needed to improve. 155 controllers - yay! So again - thanks for your work.
As of my test - 2nd and 3rd case are working for me. 1st is not and indeed throws a StackOverflow exception after a while. At the moment I am assuming the exception boils down to using FEC. Will try to track it down.
Thanks for the idea, but it didn’t work 😕
Its still crashing
Hi @havunen,
I had the typed Closure classes before with typed properties which look like that
Closure<T1, T2... T8>. The problem is variation of property count, and anyway the fallback to the ArrayClosure at the end. Another problem is complexity where I need a conditional logic all over the place to load constants from the differrent closure types.Regarding the number of instructions, it maybe solved by adding a method to access constant in ArrayClosure and emitting the method call. Will try it.
Btw, I did an experiment removing the Castclass in
TryEmitConstantand it kind of worked, so will check other places to try the same.Curryis no longer called in the branch, but SO is still here.Did you see my tweets a min ago 😄 https://twitter.com/dadhi/status/1162447342366277633?s=19
Thanks a lot! How did you set a specific stack size?
Unfortunately
CompileToMethodcan compile to static delegate only. That’s mean, no closure over non-literal values. Wich is not suitable for expressions produced by DryIoc.I am currently fixing the issue with the shared closure in FEC to return to status quo. Then I will simplify logic in the ambient scope context - which is my current top suspect why SO hapens even without thread contention in Reduced load test.
Btw @dadhi I found something interesting today. Different compilation targets give different results:
Target Debug x86 - System.OutOfMemoryException AnyCPU - System.StackOverflowException x64 - Works
Target Release x86 - System.StackOverflowException AnyCPU - System.StackOverflowException x64 - -Works - Load Test Result – 00:05:06.48
Yes, I am playing both with compiled delegate and expression (sub-expression) cache.
The cache will be partitioned by service reuse:
Conditional request dependent services and decorators won’t be cached.
I debugged this further and realized its cycling between TryInterpret and TryInterpretMany always returning true and its going into
NewExpressionbranch. I started tracking changes and noticed additional decorators were added quite same time this stackoverflow exception started occuring. I believe it has something to do with dependencies of decoratorsToday this issue started happening in our development server, even without fast expression compiler.
Here is crash dump:
| Arg 1 | Arg 2 | Arg 3 | Arg 4 | Source – | – | – | – | – | – DynamicClass.lambda_method(System.Runtime.CompilerServices.Closure)+5 | 0000001
02fdd628 | 00007fe9b1e6c18 | 000000000000000 | 00007fe99c56417 | DryIoc.Scope.TryGetOrAdd(ImTools.ImMap1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+b9 | 000000102fdd400 | 0000002002c8d98 | 0000000000000b1 | 000000205ff93e0 | DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+4f | 000000000000003 | 0000002002c8d98 | 000000102fdd628 | 00007fe9c9fb580 | DynamicClass.lambda_method(System.Runtime.CompilerServices.Closure, DryIoc.IResolverContext)+125 | 0000002003faae0 | 00007fe9b1e6cdc | 00007fe99c65d45 | 00007fef9361405 | DryIoc.Container.DryIoc.IResolver.Resolve(System.Type, System.Object, DryIoc.IfUnresolved, System.Type, DryIoc.Request, System.Object[])+245 | 0000001056a7ff8 | 00007fe9b5d914c | 0000001056e1408 | 00007fe9d53bd98 | DryIoc.Container.ResolveAndCacheFactoryDelegate(System.Type, DryIoc.IfUnresolved)+103 | 000000200185c40 | 00007fe9bcbebac | 0000001056f2a90 | 0000001056dfe28 | System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(System.Net.Http.HttpRequestMessage, System.Type, System.Func1<System.Web.Http.Controllers.IHttpController> ByRef)+26 | 0000001056dfe28 | 0000001002c5798 | 0000001056dff60 | 00007fe9d0fe2e7 | System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(System.Net.Http.HttpRequestMessage, System.Web.Http.Controllers.HttpControllerDescriptor, System.Type)+5c | 00007fe99cd0bb8 | 00007fe99c65c69 | 000000000000000 | 0000002002ce480 | System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15.MoveNext()+11d | 0000000159ddf78 | 0000001056e7098 | 0000000159ddf30 | 0000001056b7630 | System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.__Canon, mscorlib]].Start[[System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15, System.Web.Http]](<SendAsync>d__15 ByRef)+6c | 0000001056dfe28 | 0000001056e71a8 | 000000200417e58 | 00007fe9d0fcd96 | System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+7d | 0000001056f2c08 | 0000001056dff60 | 0000000159ddfe0 | 0000001056b7630 | System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+52 | 000000200187270 | 0000002002f85a0 | 0000001056dff60 | 00007fe9d0fb650 | System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+213 | 0000001056a7ff8 | 00007fe99c5dfe5 | 00007fe9d53bd28 | 0000001056dfe28 | System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31 | 0000001056dff60 | 00007fe9d0fb650 | 000000000000000 | 00007fe99c65c69 | DryIoc.WebApi.RegisterRequestMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+29 | 0000001056e10a8 | 00007fe9d53b968 | 0000002004e2d90 | 00007fe9d0fb528 | System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31 | 0000001056e1180 | 00007fe9d53b968 | 0000001056dfe28 | 0000000159de2c8 | System.Web.Http.HttpServer.<>n__0(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+9 | 0000000159de200 | 00007fe99c65c69 | 0000001056e0e30 | 0000001056dff60 | System.Web.Http.HttpServer+<SendAsync>d__24.MoveNext()+16f | 0000000159de2c8 | 0000001056dfbb0 | 000000000000000 | 0000001056a0510 | System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.__Canon, mscorlib]].Start[[System.Web.Http.HttpServer+<SendAsync>d__24, System.Web.Http]](<SendAsync>d__24 ByRef)+6c | 0000000159de3d8 | 00007fe9a0f7dc8 | 0000000159de358 | 00007fe99c65c69 | System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+7d | 000000000000001 | 00007fe9d0fa11e | 000000100866400 | 0000001056b7398 | System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+52 | 0000000159de430 | 00007fe99c66a02 | 000000000000000 | 00007fe99c65c69 | System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20.MoveNext()+253 | 0000000159de4f0 | 00007fe9d0f5fdf | 0000001056a0498 | 00007fe9b1dfa5d | System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20, System.Web.Http.Owin]](<InvokeCore>d__20 ByRef)+6c | 000000000000000 | 000000000000000 | 000000000000000 | 000000000000000 | System.Web.Http.Owin.HttpMessageHandlerAdapter.InvokeCore(Microsoft.Owin.IOwinContext, Microsoft.Owin.IOwinRequest, Microsoft.Owin.IOwinResponse)+6b | 00007fef92127ce | 00007fe99c65c69 | 0000000159de3f8 | 00000010004b4d0 | Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware1+<Invoke>d__5[[System.__Canon, mscorlib]].MoveNext()+222 | 0000000159de6e8 | 000000000000000 | 0000001056dedc8 | 00007fe9a9fe270 | System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware1+<Invoke>d__5[[System.__Canon, mscorlib]], Microsoft.Owin.Security]](<Invoke>d__5<System.__Canon> ByRef)+96 | 0000002000b89e8 | 0000001056dfbb0 | 00007fe9d0bf9e9 | 00007fe9d0bf7ea | Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware1[[System.__Canon, mscorlib]].Invoke(Microsoft.Owin.IOwinContext)+8e | 0000001056a0498 | 00007fe9b1dfa5d | 0000001056debc0 | 0000002004eee18 | Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7.MoveNext()+3c | 0000000159de880 | 0000002004eee18 | 0000000159de840 | 0000001056a50a0 | System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7, Microsoft.Owin.Host.SystemWeb]](<RunApp>d__7 ByRef)+6c | 0000001056a7ff8 | 0000002002c3770 | 00007fe9d0be9a3 | 00007fe9d0be682 | Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.RunApp(System.Func2<System.Collections.Generic.IDictionary2<System.String,System.Object>,System.Threading.Tasks.Task>, System.Collections.Generic.IDictionary2<System.String,System.Object>, System.Threading.Tasks.TaskCompletionSource1<System.Object>, Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult)+70 | 0000000159de970 | 00007feea694cba | 0000001056b7630 | 00000000da3fa20 | Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(System.Object, System.EventArgs, System.AsyncCallback, System.Object)+233 | 000000000000005 | 00007fe9d0b313a | 00000000da3faa8 | 00007fe9b2a6795 | System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+ef | 000000000000000 | 0000001056dfa38 | 0000001056dfa38 | 000000200b99328 | System.Web.HttpApplication+<>c__DisplayClass285_0.<ExecuteStepImpl>b__0()+25 | 0000001056dfa78 | 00007fe9a434db8 | 0000000159de9c0 | 00007fe9d0a7255 | System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)+a6 | 0000001055d15c0 | 00007fe9d0b304f | 000000000000000 | 00007fe9d0b3231 | System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)+83 | 000000200b95f10 | 000000200b99fe8 | 0000000159deb48 | 000000000000000 | System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+4e3 | 000000200b9ad18 | 00007fe9d0acd01 | 0000001056df348 | 0000000159dec30 | System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)+70 | 0000000159dec40 | 00007fef91a50f9 | 0000000159dec18 | 000000000000000 | System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)+177 | 0000000fffd3e60 | 000000102fceb78 | 000000102fcf0a8 | 000000000000000 | System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+33a | 000000000000018 | 00000001ce8d930 | 000000000000010 | 000000000ab2c70 | System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13 | 00050b40358798d | 0000000159def50 | 00007feea693060 | 00007fee3071d38 | DomainBoundILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52 | 000000000000000 | 000000000000000 | 000000000000000 | 000000000000000 | clr!UMThunkStub+6e | 00000001ce8d930 | 00007fe00000000 | 00000001ce8dd60 | 00000001ce8dddc | webengine4!W3_MGD_HANDLER::ProcessNotification+8e | 00007fe00000000 | 00007feea695f40 | 00000001ce8d930 | 00007feea699a22 | webengine4!W3_MGD_HANDLER::DoWork+3a5 | 00007feea695f40 | 000000000000020 | 00000001ce8d930 | 000000000000000 | webengine4!RequestDoWork+3fc | 000000000000001 | 00000000d30b5c8 | 0000000011a9b38 | 00000000da3fa20 | webengine4!CMgdEngHttpModule::OnAcquireRequestState+1f | 000000000000000 | 0000000011a9cd8 | 000000000000000 | 00000001cbea7f0 | iiscore!NOTIFICATION_CONTEXT::RequestDoWork+2a8 | 00000000da3fa28 | 0000002000b89e8 | 0000000159df0d0 | 0000002000b89e8 | iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+174 | 0000001056a5a10 | 00000000da3fa20 | 00000000da3fa28 | 000000000000000 | iiscore!NOTIFICATION_CONTEXT::CallModules+25 | 0000000159df220 | 00007fef91e6bb9 | 0000001056a5c78 | 000000000000000 | iiscore!W3_CONTEXT::DoWork+18f | 00000001ce8db90 | 00000001ce8db98 | 00000001ce8dc40 | 00000001ce8dc48 | iiscore!W3_CONTEXT::IndicateCompletion+8c | 0000000159df680 | 000000000000000 | 00007feea69a790 | 000000000000000 | webengine4!W3_MGD_HANDLER::IndicateCompletion+5d | 0000000159df790 | 0000000159df790 | 0000000159df758 | 00007fe9d0a7255 | webengine4!MgdIndicateCompletion+22 | 0000001055d2288 | 00007fe9d0acd01 | 0000000159df5c0 | 0007cbd16d67245 | DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)+7e | 0000000fffd3e60 | 0000001055d15c0 | 0000000159df760 | 00000001cbea7f0 | System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+3e2 | 000000000000000 | 00000001ce8d930 | 000000000000000 | 000000000000000 | System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13 | 000000000000000 | 00000001cbea7f0 | 000000000000000 | 000000000000000 | DomainBoundILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52 | 000000000000000 | 00007fe00000001 | 000000002933501 | 00007fef91aa568 | clr!UM2MThunk_WrapperHelper+43 | 000000000000000 | 00007fef91a5c75 | 000000000000000 | 00007fef91aa2b0 | clr!UM2MThunk_Wrapper+60 | 0000000159dfa08 | 000000000000000 | 00000001cbea7f0 | 00007fef91a67a7 | clr!Thread::DoADCallBack+13d | 0000000159dfb01 | 000000200000002 | 00050b403586e9d | 0000000159dfb40 | clr!UM2MDoADCallBack+b3 | 0000000092ab590 | 000000000000000 | 00000000000000b | 000000000000000 | clr!UMThunkStub+26d | 000000000000000 | 00000001ce8d930 | 00000000000000b | 000000000000004 | webengine4!W3_MGD_HANDLER::ProcessNotification+8e | 000000000000004 | 00000001ce8d930 | 00007fef9ae44b0 | 0000000159dfde0 | webengine4!ProcessNotificationCallback+42 | 00000001ce8d930 | 00007fee3071750 | 00007fef9ae44b0 | 000000000000000 | clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+1bc | 00007fef91a97f0 | 0000000159dfd00 | 0000000159dfd01 | 0000000001f4144 | clr!ThreadpoolMgr::ExecuteWorkRequest+64 | 0020002000c000d | 000000000000001 | 00000001cbea7f0 | 00000001cbea7f0 | clr!ThreadpoolMgr::WorkerThreadStart+f5 | 000000000000000 | 000000000000001 | 000000000000001 | 000000000000409 | clr!Thread::intermediateThreadProc+86 | 000000000000000 | 000000000000000 | 000000000000000 | 000000000000000 | kernel32!BaseThreadInitThunk+d | 000000000000000 | 000000000000000 | 000000000000000 | 0000000`00000000 | ntdll!RtlUserThreadStart+1d.Net callstack