Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-18578

When adding a service through SAL, sometimes ClassNotFound Exceptions are thrown on startup.

    XMLWordPrintable

Details

    Description

      When restarting JIRA, and loading the plugins from the cache I see this error:

      2009-08-25 11:11:22,510 SpringOsgiExtenderThread-32 ERROR     [atlassian.jira.service.OfBizServiceConfigStore] Unable to create a service config for service with the name : Service Provider Token Remover 
      2009-08-25 11:11:22,513 SpringOsgiExtenderThread-32 ERROR     [atlassian.jira.service.OfBizServiceConfigStore] The class 'com.atlassian.sal.jira.scheduling.JiraPluginSchedulerService' could not be found.  This can happen when a plugin is uninstalled or disabled
      2009-08-25 11:11:22,513 SpringOsgiExtenderThread-32 ERROR     [atlassian.jira.service.OfBizServiceConfigStore] A NoOp Service has been returned and hence 'Service Provider Token Remover' will not do anything until fixed.
      2009-08-25 11:11:22,574 SpringOsgiExtenderThread-32 ERROR     [atlassian.jira.service.OfBizServiceConfigStore] Unable to create a service config for service with the name : Service Provider Token Remover 
      2009-08-25 11:11:22,574 SpringOsgiExtenderThread-32 ERROR     [atlassian.jira.service.OfBizServiceConfigStore] The class 'com.atlassian.sal.jira.scheduling.JiraPluginSchedulerService' could not be found.  This can happen when a plugin is uninstalled or disabled
      2009-08-25 11:11:22,589 SpringOsgiExtenderThread-32 ERROR     [sal.jira.scheduling.JiraPluginScheduler] Error adding service to jira
      com.atlassian.jira.service.OfBizServiceConfigStore$ClassNotFoundServiceException: Could not load class : com.atlassian.sal.jira.scheduling.JiraPluginSchedulerService
      	at com.atlassian.jira.service.OfBizServiceConfigStore.validateServiceConfigDetails(OfBizServiceConfigStore.java:341)
      	at com.atlassian.jira.service.OfBizServiceConfigStore.addServiceConfig(OfBizServiceConfigStore.java:56)
      	at com.atlassian.jira.service.DefaultServiceManager.addService(DefaultServiceManager.java:124)
      	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:597)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at $Proxy245.addService(Unknown Source)
      	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:597)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:150)
      	at $Proxy245.addService(Unknown Source)
      	at com.atlassian.sal.jira.scheduling.JiraPluginScheduler.scheduleJob(JiraPluginScheduler.java:60)
      	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:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy418.scheduleJob(Unknown Source)
      	at com.atlassian.oauth.serviceprovider.internal.ExpiredTokenRemoverScheduler.<init>(ExpiredTokenRemoverScheduler.java:23)
      	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:513)
      	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
      	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
      	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
      	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
      	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)
      	at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
      	at java.lang.Thread.run(Thread.java:637)
      Caused by: java.lang.ClassNotFoundException: com.atlassian.sal.jira.scheduling.JiraPluginSchedulerService
      	at com.atlassian.plugin.classloader.PluginsClassLoader.findClass(PluginsClassLoader.java:97)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
      	at com.atlassian.core.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:88)
      	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:88)
      	at com.atlassian.jira.service.OfBizServiceConfigStore.loadServiceClass(OfBizServiceConfigStore.java:347)
      	at com.atlassian.jira.service.OfBizServiceConfigStore.validateServiceConfigDetails(OfBizServiceConfigStore.java:337)
      	... 63 more
      

      Seems to go away if I regenerate plugins and for the cache to be invalidated but it comes back when I restart JIRA.

      Attachments

        Activity

          People

            mlassau Mark Lassau (Inactive)
            dylan@atlassian.com Dylan Etkin [Atlassian]
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20h
                20h