I've inspected changes in ClassProxyGenerator and my guess is that new SlimReaderWriterLock.EnterWriteLock() is not equivalent to what ReaderWriterLock.UpgradeToWriterLock(-1) used to do.
Thanks On Jan 7, 2:01 pm, Yuriy Ostapenko <[email protected]> wrote: > All Cassini worker threads end up looking this way: > > ~22e!clrstack > OS Thread Id: 0x348 (22) > ESP EIP > 096fcb54 7c90e4f4 [HelperMethodFrame_1OBJ: 096fcb54] > System.Threading.WaitHandle.WaitOneNative > (Microsoft.Win32.SafeHandles.SafeWaitHandle, UInt32, Boolean, Boolean) > 096fcc00 792b687f System.Threading.WaitHandle.WaitOne(Int64, Boolean) > 096fcc1c 792b6835 System.Threading.WaitHandle.WaitOne(Int32, Boolean) > 096fcc30 6c3544fc System.Threading.ReaderWriterLockSlim.WaitOnEvent > (System.Threading.EventWaitHandle, UInt32 ByRef, Int32) > 096fcc68 6c353eaf > System.Threading.ReaderWriterLockSlim.TryEnterUpgradeableReadLock > (Int32) > 096fcc84 6c353f48 > System.Threading.ReaderWriterLockSlim.EnterUpgradeableReadLock() > 096fcc88 042ce104 > Castle.Core.Internal.SlimReaderWriterLock.EnterReadLock() > 096fcc8c 06977f98 > Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode > (System.Type[], Castle.DynamicProxy.ProxyGenerationOptions) > 096fce7c 06977f19 > Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxy(System.Type, > System.Type[], Castle.DynamicProxy.ProxyGenerationOptions) > 096fce98 06977dab Castle.DynamicProxy.ProxyGenerator.CreateClassProxy > (System.Type, System.Type[], > Castle.DynamicProxy.ProxyGenerationOptions, System.Object[], > Castle.Core.Interceptor.IInterceptor[]) > 096fcec0 06977d36 Castle.DynamicProxy.ProxyGenerator.CreateClassProxy > (System.Type, System.Type[], Castle.Core.Interceptor.IInterceptor[]) > 096fcecc 06977a7d NHibernate.ByteCode.Castle.ProxyFactory.GetProxy > (System.Object, NHibernate.Engine.ISessionImplementor) > 096fcf1c 0697790b > NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy > (System.Object, NHibernate.Engine.ISessionImplementor) > 096fcf2c 069778d6 > NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy > (System.Object, NHibernate.Engine.ISessionImplementor) > 096fcf44 0697698b > NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType, > NHibernate.Engine.IPersistenceContext) > 096fcf68 06974a89 > NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType) > 096fcf98 0697485b > NHibernate.Event.Default.DefaultLoadEventListener.OnLoad > (NHibernate.Event.LoadEvent, NHibernate.Event.LoadType) > 096fcfd4 069746da NHibernate.Impl.SessionImpl.FireLoad > (NHibernate.Event.LoadEvent, NHibernate.Event.LoadType) > 096fcfec 06974185 NHibernate.Impl.SessionImpl.InternalLoad > (System.String, System.Object, Boolean, Boolean) > 096fd010 0697405b NHibernate.Type.EntityType.ResolveIdentifier > (System.Object, NHibernate.Engine.ISessionImplementor) > 096fd038 06973f65 NHibernate.Type.EntityType.ResolveIdentifier > (System.Object, NHibernate.Engine.ISessionImplementor, System.Object) > 096fd054 0697646b NHibernate.Engine.TwoPhaseLoad.InitializeEntity > (System.Object, Boolean, NHibernate.Engine.ISessionImplementor, > NHibernate.Event.PreLoadEvent, NHibernate.Event.PostLoadEvent) > 096fd0d0 06976272 > NHibernate.Loader.Loader.InitializeEntitiesAndCollections > (System.Collections.IList, System.Object, > NHibernate.Engine.ISessionImplementor, Boolean) > 096fd104 064ccfe1 NHibernate.Loader.Loader.DoQuery > (NHibernate.Engine.ISessionImplementor, > NHibernate.Engine.QueryParameters, Boolean) > 096fd174 064ccc17 > NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections > (NHibernate.Engine.ISessionImplementor, > NHibernate.Engine.QueryParameters, Boolean) > 096fd1ac 06dc8c17 NHibernate.Loader.Loader.LoadEntity > (NHibernate.Engine.ISessionImplementor, System.Object, > NHibernate.Type.IType, System.Object, System.String, System.Object, > NHibernate.Persister.Entity.IEntityPersister) > 096fd1f8 06dc8a5a NHibernate.Loader.Entity.AbstractEntityLoader.Load > (NHibernate.Engine.ISessionImplementor, System.Object, System.Object, > System.Object) > 096fd218 06dc8a23 NHibernate.Loader.Entity.AbstractEntityLoader.Load > (System.Object, System.Object, NHibernate.Engine.ISessionImplementor) > 096fd228 06dc88d0 > NHibernate.Persister.Entity.AbstractEntityPersister.Load > (System.Object, System.Object, NHibernate.LockMode, > NHibernate.Engine.ISessionImplementor) > 096fd24c 06dc87de > NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType) > 096fd27c 06974e9d > NHibernate.Event.Default.DefaultLoadEventListener.DoLoad > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType) > 096fd2b4 06974b77 > NHibernate.Event.Default.DefaultLoadEventListener.Load > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType) > 096fd2dc 06974a9b > NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad > (NHibernate.Event.LoadEvent, > NHibernate.Persister.Entity.IEntityPersister, > NHibernate.Engine.EntityKey, NHibernate.Event.LoadType) > 096fd30c 0697485b > NHibernate.Event.Default.DefaultLoadEventListener.OnLoad > (NHibernate.Event.LoadEvent, NHibernate.Event.LoadType) > 096fd348 069746da NHibernate.Impl.SessionImpl.FireLoad > (NHibernate.Event.LoadEvent, NHibernate.Event.LoadType) > 096fd360 06dc8500 NHibernate.Impl.SessionImpl.Get(System.String, > System.Object) > 096fd398 06dc848d NHibernate.Impl.SessionImpl.Get(System.Type, > System.Object) > 096fd3a8 06dc7d9f Castle.ActiveRecord.ActiveRecordBase.FindByPrimaryKey > (System.Type, System.Object, Boolean) > 096fd3f8 06dc7cfe Castle.ActiveRecord.ActiveRecordMediator`1 > [[System.__Canon, mscorlib]].FindByPrimaryKey(System.Object, Boolean) > ...my code here... > 096fd76c 06980981 DynamicClass.lambda_method > (System.Runtime.CompilerServices.ExecutionScope, > System.Web.Mvc.ControllerBase, System.Object[]) > 096fd778 036cad22 System.Web.Mvc.ActionMethodDispatcher.Execute > (System.Web.Mvc.ControllerBase, System.Object[]) > 096fd784 036ca8c0 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod > (System.Reflection.MethodInfo, > System.Collections.Generic.IDictionary`2<System.String,System.Object>) > 096fd7a4 036ca7d8 System.Web.Mvc.ControllerActionInvoker > +<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() > 096fd7b8 036ca6c0 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter > (System.Web.Mvc.IActionFilter, System.Web.Mvc.ActionExecutingContext, > System.Func`1<System.Web.Mvc.ActionExecutedContext>) > 096fd7f4 036ca62d System.Web.Mvc.ControllerActionInvoker > +<>c__DisplayClassc > +<>c__DisplayClasse.<InvokeActionMethodWithFilters>b__b() > 096fd7fc 036ca6c0 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter > (System.Web.Mvc.IActionFilter, System.Web.Mvc.ActionExecutingContext, > System.Func`1<System.Web.Mvc.ActionExecutedContext>) > 096fd838 036ca62d System.Web.Mvc.ControllerActionInvoker > +<>c__DisplayClassc > +<>c__DisplayClasse.<InvokeActionMethodWithFilters>b__b() > 096fd840 036ca6c0 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter > (System.Web.Mvc.IActionFilter, System.Web.Mvc.ActionExecutingContext, > System.Func`1<System.Web.Mvc.ActionExecutedContext>) > 096fd87c 036ca62d System.Web.Mvc.ControllerActionInvoker > +<>c__DisplayClassc > +<>c__DisplayClasse.<InvokeActionMethodWithFilters>b__b() > 096fd884 036ca6c0 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter > (System.Web.Mvc.IActionFilter, System.Web.Mvc.ActionExecutingContext, > System.Func`1<System.Web.Mvc.ActionExecutedContext>) > 096fd8c0 036ca62d System.Web.Mvc.ControllerActionInvoker > +<>c__DisplayClassc > +<>c__DisplayClasse.<InvokeActionMethodWithFilters>b__b() > 096fd8c8 036ca4b2 > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters > (System.Reflection.MethodInfo, > System.Collections.Generic.IDictionary`2<System.String,System.Object>, > System.Collections.Generic.IList`1<System.Web.Mvc.IActionFilter>) > 096fd8e8 036c9401 System.Web.Mvc.ControllerActionInvoker.InvokeAction > (System.Web.Mvc.ControllerContext, System.String) > 096fd92c 036c8e91 System.Web.Mvc.Controller.ExecuteCore() > 096fd958 036c8be8 System.Web.Mvc.ControllerBase.Execute > (System.Web.Routing.RequestContext) > 096fd964 036c8bb8 > System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute > (System.Web.Routing.RequestContext) > 096fd96c 036c7fac System.Web.Mvc.MvcHandler.ProcessRequest > (System.Web.HttpContextBase) > 096fd9ac 036c7f28 System.Web.Mvc.MvcHandler.ProcessRequest > (System.Web.HttpContext) > 096fd9c0 036c7ee8 > System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest > (System.Web.HttpContext) > 096fd9c8 660ad8f6 System.Web.HttpApplication > +CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute > () > 096fd9fc 6608132c System.Web.HttpApplication.ExecuteStep > (IExecutionStep, Boolean ByRef) > 096fda3c 6608c3a3 System.Web.HttpApplication > +ApplicationStepManager.ResumeSteps(System.Exception) > 096fda8c 660808ac > System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest > (System.Web.HttpContext, System.AsyncCallback, System.Object) > 096fdaa8 66083e1c System.Web.HttpRuntime.ProcessRequestInternal > (System.Web.HttpWorkerRequest) > 096fdadc 66083ac3 System.Web.HttpRuntime.ProcessRequestNoDemand > (System.Web.HttpWorkerRequest) > 096fdaec 66654d17 System.Web.HttpRuntime.ProcessRequest > (System.Web.HttpWorkerRequest) > 096fdb00 036c37a9 Microsoft.VisualStudio.WebHost.Request.Process() > 096fdb18 036c344e Microsoft.VisualStudio.WebHost.Host.ProcessRequest > (Microsoft.VisualStudio.WebHost.Connection) > 096fdd64 79e71b4c [GCFrame: 096fdd64] > 096fdd80 79e71b4c [GCFrame: 096fdd80] > 096fdef4 79e71b4c [ContextTransitionFrame: 096fdef4] > 096fdfe8 79e71b4c [GCFrame: 096fdfe8] > 096fdfcc 79e71b4c [GCFrame: 096fdfcc] > 096ff24c 79e71b4c [CustomGCFrame: 096ff24c] > 096ff260 79e71b4c [CustomGCFrame: 096ff260] > 096ff274 79e71b4c ... > > read more » --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Development List" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en -~----------~----~----~----~------~----~------~--~---
