Is it easy to reproduce? if it is take a memorydump when the exception occours and examine it using WinDBG. -- Jakob Tikjøb Andersen +45 25 277 105
On Fri, Feb 5, 2010 at 9:23 PM, Seth Goldstein <[email protected]>wrote: > > Exceptions are back with a vengeance. Anyone have any ideas? > > > On Feb 5, 11:19 am, Seth Goldstein <[email protected]> wrote: > > Well, we found that one of our memcached servers had a clock that was > > slow by about 35 minutes. We shut down memcached, synced up the > > clocks, deleted all of the ASP.Net temporary files on the web servers, > > restarted IIS, and then brought memcached back online. We haven't see > > the exception since then. > > > > Thoughts? > > > > Is it possible that a slow clock on one of the memcached servers could > > be the cause of such an exception? Is the clock a red herring and is > > there still a bigger bug being masked? > > > > On Feb 5, 10:41 am, Seth Goldstein <[email protected]> wrote: > > > > > > > > > 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 <http://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 <http://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 <http://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 <http://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 <http://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 <http://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 <http://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 <http://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<http://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<http://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 <http://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<http://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<http://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 <http://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 <http://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<http://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. > > -- 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.
