The timesheet gadget randomly fails to start after server reboot

Issue #1143 resolved
Francois Chevresson-Aubain created an issue

Hi, we have daily restart of all nodes in our jira data center (v7.3.0, Server version). Occasionally, the timesheet plugin fails to start on one of our nodes, usually the first one to restart.

here is what we observe in the logs:

2017-08-28 21:03:25,793 localhost-startStop-1 ERROR      


[j.t.plugin.job.TimesheetJobScheduler] Unexpected error during launch
com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.fdu.jira.plugin.jira-timesheet-plugin]
        at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95)
        at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)
        at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
        at org.ofbiz.core.entity.jdbc.dbtype.DatabaseTypeFactory.logDatabaseNotMatchedError(DatabaseTypeFactory.java:85)
        at org.ofbiz.core.entity.jdbc.dbtype.DatabaseTypeFactory.getTypeForConnection(DatabaseTypeFactory.java:79)
        at com.atlassian.activeobjects.jira.OfBizDatabaseTypeExtractor.getDatabaseType(OfBizDatabaseTypeExtractor.java:13)
        at com.atlassian.activeobjects.jira.JiraTenantAwareDataSourceProvider$1.get(JiraTenantAwareDataSourceProvider.java:64)
        at com.atlassian.activeobjects.jira.JiraTenantAwareDataSourceProvider$1.get(JiraTenantAwareDataSourceProvider.java:58)
        at com.atlassian.activeobjects.jira.JiraTenantAwareDataSourceProvider.getDatabaseType(JiraTenantAwareDataSourceProvider.java:72)
        ... 2 filtered
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy990.getDatabaseType(Unknown Source)
        at com.atlassian.activeobjects.internal.DataSourceProviderActiveObjectsFactory.getDatabaseType(DataSourceProviderActiveObjectsFactory.java:77)
        at com.atlassian.activeobjects.internal.DataSourceProviderActiveObjectsFactory.access$100(DataSourceProviderActiveObjectsFactory.java:27)
        at com.atlassian.activeobjects.internal.DataSourceProviderActiveObjectsFactory$1.doInTransaction(DataSourceProviderActiveObjectsFactory.java:60)
        at com.atlassian.activeobjects.internal.DataSourceProviderActiveObjectsFactory$1.doInTransaction(DataSourceProviderActiveObjectsFactory.java:56)
        at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21)
        at com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34)
        ... 2 filtered
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
        at com.sun.proxy.$Proxy86.doInTransaction(Unknown Source)
        ... 2 filtered
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
        at com.sun.proxy.$Proxy86.doInTransaction(Unknown Source)
        at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)
        ... 2 filtered
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy984.execute(Unknown Source)
        at com.atlassian.activeobjects.internal.DataSourceProviderActiveObjectsFactory.doCreate(DataSourceProviderActiveObjectsFactory.java:56)
        at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:69)
        at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:32)
        at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:91)
        ... 6 more

The plugin starts normally on the other nodes when this happen.

It seems to be related to a call to ofbiz. Any idea of what could cause it?

Comments (2)

  1. Andriy Zhdanov

    Hi Francois,

    Could you please ask Atlassian Sipport for help? Highlight that even though problem happens with third part plugin, it might originate from underlying JIRA ActiveObjects API.

    Thank you.

  2. Log in to comment