Did the resolution based on the GP work?



2013/10/24 Kenny Eliasson <[email protected]>

> Hi!
>
> Been running a site for 4+ years on NHibernate. We recently moved the site
> to a Windows Server 2012 machine and updated NHibernate to 3.3.
> After about a month on the new server we began to see the following
> exceptions
>
> NHibernate.HibernateException: Creating a proxy instance failed --->
> System.Runtime.InteropServices.COMException: Class not registered
> (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(RuntimeAssembly
> containingAssembly, Boolean emitSymbolInfo, String name, String filename,
> StackCrawlMarkHandle stackMark, IntPtr& pInternalSymWriter,
> ObjectHandleOnStack retModule, Boolean fIsTransient, Int32& tkFile)
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternalNoLock(String
> name, String fileName, Boolean emitSymbolInfo, StackCrawlMark& stackMark)
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternal(String
> name, String fileName, Boolean emitSymbolInfo, StackCrawlMark& stackMark)
> at System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(String name,
> String fileName, Boolean emitSymbolInfo)
>
>
> A restart of the application pool solves the problem for a while.
>
> It happens about once a week, it affects different entities everytime, and
> other parts of the site (that also uses NHibernate) continues to work.
>
> Full stacktrace below:
>
>
> NHibernate.HibernateException: Creating a proxy instance failed --->
> System.Runtime.InteropServices.COMException: Class not registered
> (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(RuntimeAssembly
> containingAssembly, Boolean emitSymbolInfo, String name, String filename,
> StackCrawlMarkHandle stackMark, IntPtr& pInternalSymWriter,
> ObjectHandleOnStack retModule, Boolean fIsTransient, Int32& tkFile)
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternalNoLock(String
> name, String fileName, Boolean emitSymbolInfo, StackCrawlMark& stackMark)
> at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternal(String
> name, String fileName, Boolean emitSymbolInfo, StackCrawlMark& stackMark)
> at System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(String name,
> String fileName, Boolean emitSymbolInfo)
> at
> NHibernate.Proxy.DynamicProxy.DefaultProxyAssemblyBuilder.DefineDynamicModule(AssemblyBuilder
> assemblyBuilder, String moduleName)
> at NHibernate.Proxy.DynamicProxy.ProxyFactory.CreateUncachedProxyType(Type
> baseType, Type[] baseInterfaces)
> at NHibernate.Proxy.DynamicProxy.ProxyFactory.CreateProxyType(Type
> baseType, Type[] interfaces)
> at NHibernate.Proxy.DynamicProxy.ProxyFactory.CreateProxy(Type
> instanceType, IInterceptor interceptor, Type[] baseInterfaces)
> at NHibernate.Proxy.DefaultProxyFactory.GetProxy(Object id,
> ISessionImplementor session)
> --- End of inner exception stack trace ---
> at NHibernate.Proxy.DefaultProxyFactory.GetProxy(Object id,
> ISessionImplementor session)
> at NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy(Object id,
> ISessionImplementor session)
> at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object
> id, ISessionImplementor session)
> at
> NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary(LoadEvent
> event, IEntityPersister persister, EntityKey keyToLoad, LoadType options,
> IPersistenceContext persistenceContext)
> at NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent
> event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
> at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent
> event, LoadType loadType)
> at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
> at NHibernate.Impl.SessionImpl.InternalLoad(String entityName, Object id,
> Boolean eager, Boolean isNullable)
> at NHibernate.Type.EntityType.ResolveIdentifier(Object id,
> ISessionImplementor session)
> at NHibernate.Type.EntityType.ResolveIdentifier(Object value,
> ISessionImplementor session, Object owner)
> at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean
> readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent,
> PostLoadEvent postLoadEvent)
> at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList
> hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean
> readOnly)
> at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session,
> QueryParameters queryParameters, Boolean returnProxies)
> at
> NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor
> session, QueryParameters queryParameters, Boolean returnProxies)
> at NHibernate.Loader.Loader.LoadCollection(ISessionImplementor session,
> Object id, IType type)
> at NHibernate.Loader.Collection.CollectionLoader.Initialize(Object id,
> ISessionImplementor session)
> at
> NHibernate.Persister.Collection.AbstractCollectionPersister.Initialize(Object
> key, ISessionImplementor session)
> at
> NHibernate.Event.Default.DefaultInitializeCollectionEventListener.OnInitializeCollection(InitializeCollectionEvent
> event)
> at NHibernate.Impl.SessionImpl.InitializeCollection(IPersistentCollection
> collection, Boolean writing)
> at NHibernate.Collection.AbstractPersistentCollection.Initialize(Boolean
> writing)
> at NHibernate.Collection.AbstractPersistentCollection.Read()
> at
> NHibernate.Collection.Generic.PersistentGenericBag`1.System.Collections.Generic.IEnumerable.GetEnumerator()
> at
> XXX.YYY.Services.FluentMdx.Queries.PrioMatrixQuery.SetupDimensionCollector(IDimensionCollector
> dimensionCollector)
> at lambda_method(Closure , ControllerBase , Object[] )
> at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext
> controllerContext, IDictionary`2 parameters)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
> controllerContext, ActionDescriptor actionDescriptor, IDictionary`2
> parameters)
> at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.b__12()
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
> controllerContext, IList`1 filters, ActionDescriptor actionDescriptor,
> IDictionary`2 parameters)
> at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
> controllerContext, String actionName) at
> NHibernate.Proxy.DefaultProxyFactory.GetProxy(Object id,
> ISessionImplementor session)
> at NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy(Object id,
> ISessionImplementor session)
> at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object
> id, ISessionImplementor session)
> at
> NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary(LoadEvent
> event, IEntityPersister persister, EntityKey keyToLoad, LoadType options,
> IPersistenceContext persistenceContext)
> at NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent
> event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
> at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent
> event, LoadType loadType)
> at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
> at NHibernate.Impl.SessionImpl.InternalLoad(String entityName, Object id,
> Boolean eager, Boolean isNullable)
> at NHibernate.Type.EntityType.ResolveIdentifier(Object id,
> ISessionImplementor session)
> at NHibernate.Type.EntityType.ResolveIdentifier(Object value,
> ISessionImplementor session, Object owner)
> at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean
> readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent,
> PostLoadEvent postLoadEvent)
> at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList
> hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean
> readOnly)
> at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session,
> QueryParameters queryParameters, Boolean returnProxies)
> at
> NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor
> session, QueryParameters queryParameters, Boolean returnProxies)
> at NHibernate.Loader.Loader.LoadCollection(ISessionImplementor session,
> Object id, IType type)
> at NHibernate.Loader.Collection.CollectionLoader.Initialize(Object id,
> ISessionImplementor session)
> at
> NHibernate.Persister.Collection.AbstractCollectionPersister.Initialize(Object
> key, ISessionImplementor session)
> at
> NHibernate.Event.Default.DefaultInitializeCollectionEventListener.OnInitializeCollection(InitializeCollectionEvent
> event)
> at NHibernate.Impl.SessionImpl.InitializeCollection(IPersistentCollection
> collection, Boolean writing)
> at NHibernate.Collection.AbstractPersistentCollection.Initialize(Boolean
> writing)
> at NHibernate.Collection.AbstractPersistentCollection.Read()
> at
> NHibernate.Collection.Generic.PersistentGenericBag`1.System.Collections.Generic.IEnumerable.GetEnumerator()
> at 
> XXX.YYY.Services.FluentMdx.Queries.PrioMatrixQuery.SetupDimensionCollector(IDimensionCollector
> dimensionCollector)
> at XXX.YYY.Services.FluentMdx.Queries.QueryBuilder.b__1(IDimensionCollector
> x)
> at 
> XXX.YYY.Services.FluentMdx.Queries.QueryBuilder.BuildQuery(IFluentMdxFilterCommand
> mdxFilterQueryCommand)
> at 
> XXX.YYY.Services.FluentMdx.FluentMdxRepository.ExecuteQuery(IMdxQueryBuilder
> mdxQueryBuilder)
> at 
> XXX.YYY.Services.Result.PrioMatrixRenderService.GetChartEngine(IReadOnlyQuerySettings
> querySettings, ChartSettingsModel settingsModel)
> at 
> XXX.YYY.MVC.Controllers.PrioMatrixRenderController.RenderChart(QuerySettings
> queryable, ChartSettingsModel chartSettings)
> at lambda_method(Closure , ControllerBase , Object[] )
> at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext
> controllerContext, IDictionary`2 parameters)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
> controllerContext, ActionDescriptor actionDescriptor, IDictionary`2
> parameters)
> at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.b__12()
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
> filter, ActionExecutingContext preContext, Func`1 continuation)
> at
> System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
> controllerContext, IList`1 filters, ActionDescriptor actionDescriptor,
> IDictionary`2 parameters)
> at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
> controllerContext, String actionName)
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/nhusers.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to