We are using our own compiled version. The source code is only very slightly modified to include additional logging and metrics. In theory, it should behave no differently than the officially compiled version. We could certainly plug the official version in and see what happens. When we compile, it is compiled in Release, not Debug.
On Feb 5, 7:01 pm, Fabio Maulo <[email protected]> wrote: > Only as curiosity... > are you using a custom NH's version compiled in debug ? > > 2010/2/5 Seth Goldstein <[email protected]> > > > > > > > Today, we starting seeing IndexOutOfRangeException in > > AccessOptimizer.SetPropertyValues. Our code base in production hasn't > > changed for about a week now, and all of a sudden this exception > > started getting thrown. We are unable to consistently reproduce the > > bug. But it does happen on a somewhat frequent basis. We currently > > use memcached version 1.4.1 for our nhibernate 2nd level cache. The > > exception is: > > > Exception type: System.IndexOutOfRangeException Exception message: > > Index was outside the bounds of the array. > > > The call stack is: > > > Stack trace: > > at (Object , Object[] , SetterCallback ) > > at NHibernate.Bytecode.Lightweight.AccessOptimizer.SetPropertyValues(Object > > target, Object[] values) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Bytecode\Lightweight\AccessOptimizer.cs:line > > 32 > > at > > NHibernate.Tuple.Entity.PocoEntityTuplizer.SetPropertyValuesWithOptimizer(Object > > entity, Object[] values) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Tuple\Entity\PocoEntityTuplizer.cs:line > > 292 > > at NHibernate.Tuple.Entity.PocoEntityTuplizer.SetPropertyValues(Object > > entity, Object[] values) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Tuple\Entity\PocoEntityTuplizer.cs:line > > 280 > > at > > NHibernate.Persister.Entity.AbstractEntityPersister.SetPropertyValues(Object > > obj, Object[] values, EntityMode entityMode) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line > > 3776 > > at NHibernate.Cache.Entry.CacheEntry.Assemble(Object[] values, Object > > result, Object id, IEntityPersister persister, IInterceptor > > interceptor, ISessionImplementor session) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Cache\Entry\CacheEntry.cs:line > > 94 > > at NHibernate.Cache.Entry.CacheEntry.Assemble(Object instance, Object > > id, IEntityPersister persister, IInterceptor interceptor, > > ISessionImplementor session) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Cache\Entry\CacheEntry.cs:line > > 72 > > at > > NHibernate.Event.Default.DefaultLoadEventListener.AssembleCacheEntry(CacheEntry > > entry, Object id, IEntityPersister persister, LoadEvent event) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line > > 464 > > at > > NHibernate.Event.Default.DefaultLoadEventListener.LoadFromSecondLevelCache(LoadEvent > > event, IEntityPersister persister, LoadType options) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line > > 438 > > at NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent > > event, IEntityPersister persister, EntityKey keyToLoad, LoadType > > options) in C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line > > 304 > > at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent > > event, IEntityPersister persister, EntityKey keyToLoad, LoadType > > options) in C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line > > 103 > > at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent > > event, LoadType loadType) in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line > > 68 > > at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType > > loadType) in C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Impl\SessionImpl.cs:line > > 2485 > > at NHibernate.Impl.SessionImpl.ImmediateLoad(String entityName, Object > > id) in C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Impl\SessionImpl.cs:line > > 1361 > > at NHibernate.Proxy.AbstractLazyInitializer.Initialize() in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Proxy\AbstractLazyInitializer.cs:line > > 70 > > at NHibernate.Proxy.AbstractLazyInitializer.GetImplementation() in > > C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate\Proxy\AbstractLazyInitializer.cs:line > > 154 > > at NHibernate.ByteCode.Castle.LazyInitializer.Intercept(IInvocation > > invocation) in C:\SourceCode\shamu\vendor\NHibernate\2.1.0.GA > > \src\NHibernate.ByteCode.Castle\LazyInitializer.cs:line > > 61 > > at Castle.DynamicProxy.AbstractInvocation.Proceed() > > at TenantProxy1a719121d7ad431a94e33e6604a711fa.get_Id() > > > I've tracked it down to what I believe to be > > NHibernate\Bytecode\Lightweight\ReflectionOptimizer.cs > > in the GenerateSetPropertyValuesMethod method > > > The only way that exception could get thrown would be if there were > > more setters than getters which sounds outrageous. > > > Or the getters array is never initialized? > > > Any ideas? > > > Any other information that I can provide to further diagnose? > > > -- > > You received this message because you are subscribed to the Google Groups > > "nhusers" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<nhusers%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/nhusers?hl=en. > > -- > Fabio Maulo -- You received this message because you are subscribed to the Google Groups "nhusers" 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/nhusers?hl=en.
