Bug #951 (closed)
Opened 16 years ago
Closed 16 years ago
FullTextThread can execute before complete initialization
Reported by: | jamoore | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Cc: | cxallan, dzmacdonald |
Sprint: | n.a. | ||
Total Remaining Time: | n.a. |
Description
From Chris:
14:17:57,291 INFO [Version] Hibernate Search 3.0.0.GA 14:17:58,816 INFO [SessionFactoryImpl] building session factory 14:18:27,969 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 14:18:30,555 INFO [FullTextThread] Initializing Full-Text Indexer 14:18:30,947 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created. 14:18:30,960 INFO [RAMJobStore] RAMJobStore initialized. 14:18:30,961 INFO [StdSchedulerFactory] Quartz scheduler 'OMERO.scheduler' initialized from an externally provided properties instance. 14:18:30,961 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2 14:18:30,976 INFO [QuartzScheduler] JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@bf4dcf 14:18:30,988 INFO [SchedulerFactoryBean] Starting Quartz Scheduler now 14:18:30,990 INFO [QuartzScheduler] Scheduler OMERO.scheduler_$_NON_CLUSTERED started. 14:18:31,044 WARN [MethodInvokingJobDetailFactoryBean$MethodInvokingJob] Invocation of method 'run' on target class [class ome.services.fulltext.FullTextThread] failed java.lang.NullPointerException at ome.services.sessions.SessionManagerImpl.create(SessionManagerImpl.java:174) at ome.services.util.ExecutionThread.sessionInit(ExecutionThread.java:80) at ome.services.util.ExecutionThread.run(ExecutionThread.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:283) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:272) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 14:18:31,047 INFO [JobRunShell] Job DEFAULT.fullTextThreadRun threw a JobExecutionException: org.quartz.JobExecutionException: Invocation of method 'run' on target class [class ome.services.fulltext.FullTextThread] failed [See nested exception: java.lang.NullPointerException] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:83) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:283) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- java.lang.NullPointerException at ome.services.sessions.SessionManagerImpl.create(SessionManagerImpl.java:174) at ome.services.util.ExecutionThread.sessionInit(ExecutionThread.java:80) at ome.services.util.ExecutionThread.run(ExecutionThread.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:283) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:272) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 14:18:33,445 INFO [DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@f9cc63: defining beans [placeholderConfig,securitySystem,securityInitialization,roles,securityWiring,eventListeners,eventHandler,omeroInterceptor,securityFilter,dbPatchCheck,serverVersionCheck,upgradeCheck,statelessInterceptors,selfManagingService,managedService,managedStatefulService,serviceHandler,profile,level1,level2,level3,stateful,binary,filesystem,executor,queryFactory,scheduler,internal:ome.services.util.OmeroAroundInvokeName,cacheManager,internal:ome.api.IAdmin,managed:ome.api.IAdmin,mailSender,mailSession,smtpAuthenticator,templateMessage,internal:ome.api.IAnalysis,managed:ome.api.IAnalysis,internal:ome.api.ICompress,internal:ome.api.IConfig,managed:ome.api.IConfig,internal:ome.api.IDelete,managed:ome.api.IDelete,internal:ome.api.ILdap,managed:ome.api.ILdap,ldapTemplate,contextSource,internal:ome.api.IPixels,managed:ome.api.IPixels,internal:ome.api.IPojos,managed:ome.api.IPojos,internal:ome.api.IQuery,managed:ome.api.IQuery,internal:ome.api.IRenderingSettings,managed:ome.api.IRenderingSettings,internal:ome.api.IRepositoryInfo,managed:ome.api.IRepositoryInfo,internal:ome.api.IScale,internal:ome.api.ISession,managed:ome.api.ISession,sessionManager,sessionCache,updateCache,update-cache-manual,internal:ome.api.ThumbnailStore,managed:ome.api.ThumbnailStore,internal:ome.api.ITypes,managed:ome.api.ITypes,internal:ome.api.IUpdate,managed:ome.api.IUpdate,internal:ome.api.JobHandle,jobNotification,managed:ome.api.JobHandle,processManager,process-jobs-manual,process-jobs-async,process-jobs-every-30-seconds,internal:ome.api.RawFileStore,managed:ome.api.RawFileStore,internal:ome.api.RawPixelsStore,managed:ome.api.RawPixelsStore,internal:ome.api.Search,managed:ome.api.Search,fullTextThread,fullTextIndexer,fullTextBridge,fileParsers,fileParser,pdfParser,persistentEventLogLoader,fullTextThreadRun,fullTextIndexerTrigger,/OMERO/Files,/OMERO/Pixels,/OMERO/Thumbs,internal:omeis.providers.re.RenderingEngine,managed:omeis.providers.re.RenderingEngine,extendedMetadata,hibernateProperties-defaults,ome.util.MapPut#0,transactionTemplate,proxyHandler,sessionHandler,hibernateHandler,hibernateTemplate,sessionFactory,methodSecurity,hibernateProperties,transactionManager,transactionHandler,simpleJdbcTemplate,unsafeJdbcTemplate,dataSource]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@35a83a 14:18:33,644 INFO [DBPatchCheck] Verified database patch: OMERO3A__5 14:18:33,662 INFO [ServerVersionCheck] ------------------------------------------------- 14:18:33,663 INFO [ServerVersionCheck] OMERO Version: 3.0-Beta3 (Rev: 1701) Ready. 14:18:33,663 INFO [ServerVersionCheck] -------------------------------------------------
Change History (5)
comment:1 Changed 16 years ago by jmoore
- Resolution set to fixed
- Status changed from new to closed
comment:2 Changed 16 years ago by jmoore
- Cc donald added
- Resolution fixed deleted
- Status changed from closed to reopened
At the bottom of a long stack trace from Donald:
Caused by: java.lang.NullPointerException at ome.services.util.Executor.init(Executor.java:131) at ome.services.sessions.SessionManagerImpl.init(SessionManagerImpl.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1427) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1396) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359) ... 151 more
apparently the Spring init methods are not playing nicely with setter injection. I'll try to fix this via constructor injection and see how we are. Otherwise, the only way around the race condition is to do some serious locking.
comment:3 Changed 16 years ago by jmoore
At r2343 I'm not able to reproduce this (started several times safely), but I did once get:
18:08:36,933 INFO [Version] Hibernate Search 3.0.0.GA 18:08:37,489 INFO [SessionFactoryImpl] building session factory 18:08:55,741 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 18:08:56,541 INFO [FullTextThread] Initializing Full-Text Indexer 18:08:56,680 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created. 18:08:56,683 INFO [RAMJobStore] RAMJobStore initialized. 18:08:56,684 INFO [StdSchedulerFactory] Quartz scheduler 'OMERO.scheduler' initialized from an externally provided properties instance. 18:08:56,684 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2 18:08:56,690 INFO [QuartzScheduler] JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@bbf106 18:09:01,041 INFO [QuartzScheduler] Scheduler OMERO.scheduler_$_NON_CLUSTERED started. 18:09:01,041 INFO [Executor] Background schedular activated. 18:09:01,041 INFO [DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@76823b: defining beans [placeholderConfig,securitySystem,securityInitialization,roles,securityWiring,eventListeners,eventHandler,omeroInterceptor,securityFilter,dbPatchCheck,serverVersionCheck,upgradeCheck,statelessInterceptors,selfManagingService,managedService,managedStatefulService,serviceHandler,profile,level1,level2,level3,stateful,binary,filesystem,executor,queryFactory,scheduler,internal:ome.services.util.OmeroAroundInvokeName,cacheManager,internal:ome.api.IAdmin,managed:ome.api.IAdmin,mailSender,mailSession,smtpAuthenticator,templateMessage,internal:ome.api.IAnalysis,managed:ome.api.IAnalysis,internal:ome.api.ICompress,internal:ome.api.IConfig,managed:ome.api.IConfig,internal:ome.api.IDelete,managed:ome.api.IDelete,internal:ome.api.ILdap,managed:ome.api.ILdap,ldapTemplate,contextSource,internal:ome.api.IPixels,managed:ome.api.IPixels,internal:ome.api.IPojos,managed:ome.api.IPojos,internal:ome.api.IQuery,managed:ome.api.IQuery,internal:ome.api.IRenderingSettings,managed:ome.api.IRenderingSettings,internal:ome.api.IRepositoryInfo,managed:ome.api.IRepositoryInfo,internal:ome.api.IScale,managed:ome.api.IScript,internal:ome.api.IScript,internal:ome.api.ISession,managed:ome.api.ISession,sessionManager,sessionCache,updateCache,update-cache-manual,internal:ome.api.ThumbnailStore,managed:ome.api.ThumbnailStore,internal:ome.api.ITypes,managed:ome.api.ITypes,internal:ome.api.IUpdate,managed:ome.api.IUpdate,internal:ome.api.JobHandle,jobNotification,managed:ome.api.JobHandle,processManager,process-jobs-manual,process-jobs-async,process-jobs-every-30-seconds,internal:ome.api.RawFileStore,managed:ome.api.RawFileStore,internal:ome.api.RawPixelsStore,managed:ome.api.RawPixelsStore,internal:ome.api.Search,managed:ome.api.Search,fullTextThread,fullTextIndexer,fullTextBridge,fileParsers,fileParser,pdfParser,persistentEventLogLoader,fullTextThreadRun,fullTextIndexerTrigger,/OMERO/Files,/OMERO/Pixels,/OMERO/Thumbs,internal:omeis.providers.re.RenderingEngine,managed:omeis.providers.re.RenderingEngine,extendedMetadata,hibernateProperties-defaults,ome.util.MapPut#0,transactionTemplate,proxyHandler,sessionHandler,hibernateHandler,hibernateTemplate,sessionFactory,methodSecurity,hibernateProperties,transactionManager,transactionHandler,simpleJdbcTemplate,unsafeJdbcTemplate,dataSource]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@d9cc1a 18:09:01,174 INFO [ServiceHandler] Meth: doWork 18:09:01,175 INFO [ServiceHandler] Args: [null, null, ome.tools.spring.InternalServiceFactory@2d7d67] 18:09:01,222 WARN [ServiceHandler] Unknown exception thrown. java.lang.NullPointerException at ome.security.basic.BasicSecuritySystem.loadEventContext(BasicSecuritySystem.java:962) at ome.security.basic.EventHandler.invoke(EventHandler.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:169) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:113) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy203.doWork(Unknown Source) at ome.services.util.Executor.execute(Executor.java:197) at ome.services.util.Executor.execute(Executor.java:160) at ome.services.sessions.SessionManagerImpl.executeUpdate(SessionManagerImpl.java:557) at ome.services.sessions.SessionManagerImpl.create(SessionManagerImpl.java:196) at ome.services.util.ExecutionThread.sessionInit(ExecutionThread.java:80) at ome.services.util.ExecutionThread.run(ExecutionThread.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:283) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:272) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 18:09:01,224 INFO [ServiceHandler] Excp: java.lang.NullPointerException 18:09:01,224 WARN [MethodInvokingJobDetailFactoryBean$MethodInvokingJob] Invocation of method 'run' on target class [class ome.services.fulltext.FullTextThread] failed ome.conditions.InternalException: Wrapped Exception: (java.lang.NullPointerException): null at ome.security.basic.BasicSecuritySystem.loadEventContext(BasicSecuritySystem.java:962) at ome.security.basic.EventHandler.invoke(EventHandler.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:169) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:113) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy203.doWork(Unknown Source) at ome.services.util.Executor.execute(Executor.java:197) at ome.services.util.Executor.execute(Executor.java:160) at ome.services.sessions.SessionManagerImpl.executeUpdate(SessionManagerImpl.java:557) at ome.services.sessions.SessionManagerImpl.create(SessionManagerImpl.java:196) at ome.services.util.ExecutionThread.sessionInit(ExecutionThread.java:80) at ome.services.util.ExecutionThread.run(ExecutionThread.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:283) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:272) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 18:09:01,225 INFO [JobRunShell] Job DEFAULT.fullTextThreadRun threw a JobExecutionException: org.quartz.JobExecutionException: Invocation of method 'run' on target class [class ome.services.fulltext.FullTextThread] failed [See nested exception: ome.conditions.InternalException: Wrapped Exception: (java.lang.NullPointerException): null] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:83) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:283) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- ome.conditions.InternalException: Wrapped Exception: (java.lang.NullPointerException): null at ome.security.basic.BasicSecuritySystem.loadEventContext(BasicSecuritySystem.java:962) at ome.security.basic.EventHandler.invoke(EventHandler.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:169) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:113) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy203.doWork(Unknown Source) at ome.services.util.Executor.execute(Executor.java:197) at ome.services.util.Executor.execute(Executor.java:160) at ome.services.sessions.SessionManagerImpl.executeUpdate(SessionManagerImpl.java:557) at ome.services.sessions.SessionManagerImpl.create(SessionManagerImpl.java:196) at ome.services.util.ExecutionThread.sessionInit(ExecutionThread.java:80) at ome.services.util.ExecutionThread.run(ExecutionThread.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:283) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:272) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 18:09:02,073 INFO [DBPatchCheck] Verified database patch: OMERO3A__5 18:09:02,078 INFO [ServerVersionCheck] ------------------------------------------------- 18:09:02,078 INFO [ServerVersionCheck] OMERO Version: 3.0-Beta3 (Rev: 1) Ready. 18:09:02,078 INFO [ServerVersionCheck] -------------------------------------------------
comment:4 Changed 16 years ago by jmoore
Another attempt with r2347. Leaving open for the moment. Please keep an eye out.
comment:5 Changed 16 years ago by jmoore
- Resolution set to fixed
- Status changed from reopened to closed
Seems fixed.
r2343 includes a possible fix for this. Looking at the Spring dependency graph, it should not actually be possible that FullTextThread runs before SessionManager is completely initialized, which is what's happening since cache is null. r2343 pushes scheduling back until after SessionManager is ready. If this works, we can add SessionManager.isReady() method which all subsystems can wait on (or an event). If it does not work, then more locking will be necessary.
As Chris pointed out, though the exception looks nasty, this doesn't actually change the full-text indexing, so this is not a blocker. Closing with the hope that it doesn't reappear.