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

Mis-configured Subversion plugin will cause JIRA to fail to startup

    XMLWordPrintable

Details

    • We collect Jira feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      NOTE: This suggestion is for JIRA Server. Using JIRA Cloud? See the corresponding suggestion.

      It's been reported that when that mis-configured Svn plugin properties file (or removal of the specified user account) can stop Jira from starting. We should invesigate this and perhaps try to contain the error (to not be so catastrophic)

      From e-mail:

      Problem Description:

      I have a properly configured and running Jira server, with the Subversion plugin indexing and working against a Subversion repository.

      I was using a local .htaccess file to authenticate users, with usernames and passwords added in manually, for the Subversion repository.

      In the .htaccess file I had a 'jira' user, which was configured in the subversion plugin properties file to connect to the subversion server.

      This morning I switched authentication for our Subversion repo to an enterprise LDAP server. It works fine for all users - but the 'jira' user that the svn plugin in Jira was configured to use did not exist in the LDAP directory. I restarted Jira (for other reasons) and it failed to come back up.

      The relevant parts of catalina.out (I believe) are copied below.

      I have resolved the issue by removing the svn plugin from my running Jira installation, and will either add a jira account to my LDAP directory, or connect via a different method to the Svn repository.

      However, I thought you guys would like to know that a mis-configured Svn plugin properties file (or removal of the specified user account) can stop Jira from starting...

      [INFO] Http11Protocol - -Initializing Coyote HTTP/1.1 on port 8080
      Starting service Tomcat-Standalone
      Apache Tomcat/4.1.29
      2005-07-06 12:10:43,563 DEBUG [com.opensymphony.user.UserManager] loading using config : /osuser.xml
      2005-07-06 12:10:43,564 DEBUG [opensymphony.user.util.ConfigLoader] Loading config
      2005-07-06 12:10:43,567 DEBUG [opensymphony.user.util.ConfigLoader] Authenticator class = com.opensymphony.user.authenticator.SmartAuthenticator {}
      2005-07-06 12:10:43,570 DEBUG [opensymphony.user.util.ConfigLoader] UserProvider class = com.opensymphony.user.provider.ldap.LDAPCredentialsProvider

      {exclusive-access=true, java.naming.provider.url=ldaps:///, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, searchBase=ou=ec_users,dc=ec,dc=auckland,dc=ac,dc=nz, java.naming.security.principal=cn=uns-jira,ou=webapps,ou=ec,o=uoa, java.naming.security.credentials==fg5kLn+, uidSearchName=uid}

      2005-07-06 12:10:43,575 DEBUG [user.provider.ldap.LDAPCredentialsProvider] Credentials Provider LDAP $Revision: 1.8 $ initializing
      2005-07-06 12:10:43,577 DEBUG [opensymphony.user.util.ConfigLoader] UserProvider class = com.atlassian.core.ofbiz.osuser.CoreOFBizCredentialsProvider

      {exclusive-access=true}
      2005-07-06 12:10:43,582 DEBUG [user.provider.ofbiz.OFBizCredentialsProvider] userSequence: OSUser
      2005-07-06 12:10:43,582 DEBUG [opensymphony.user.util.ConfigLoader] UserProvider class = com.opensymphony.user.provider.ofbiz.OFBizProfileProvider {exclusive-access=true}

      2005-07-06 12:10:43,584 DEBUG [user.provider.ofbiz.OFBizProfileProvider] init(

      {exclusive-access=true})
      2005-07-06 12:10:43,584 DEBUG [user.provider.ofbiz.OFBizProfileProvider] delegator: default
      2005-07-06 12:10:43,584 DEBUG [user.provider.ofbiz.OFBizProfileProvider] exclusiveAccess: true
      2005-07-06 12:10:43,584 DEBUG [user.provider.ofbiz.OFBizProfileProvider] userEntity: OSUser
      2005-07-06 12:10:43,584 DEBUG [user.provider.ofbiz.OFBizProfileProvider] propertySetEntity: OSUser
      2005-07-06 12:10:43,584 DEBUG [opensymphony.user.util.ConfigLoader] UserProvider class = com.opensymphony.user.provider.ofbiz.OFBizAccessProvider {exclusive-access=true}

      2005-07-06 12:10:43,586 DEBUG [user.provider.ofbiz.OFBizAccessProvider] init(

      {exclusive-access=true}

      )
      2005-07-06 12:10:43,586 DEBUG [user.provider.ofbiz.OFBizAccessProvider] delegator: default
      2005-07-06 12:10:43,586 DEBUG [user.provider.ofbiz.OFBizAccessProvider] exclusiveAccess: true
      2005-07-06 12:10:43,587 DEBUG [user.provider.ofbiz.OFBizAccessProvider] userEntity: OSUser
      2005-07-06 12:10:43,587 DEBUG [user.provider.ofbiz.OFBizAccessProvider] groupEntity: OSGroup
      2005-07-06 12:10:43,587 DEBUG [user.provider.ofbiz.OFBizAccessProvider] groupSequence: OSGroup
      2005-07-06 12:10:43,587 DEBUG [user.provider.ofbiz.OFBizAccessProvider] membershipEntity: OSMembership
      2005-07-06 12:10:43,587 DEBUG [user.provider.ofbiz.OFBizAccessProvider] membershipSequence: OSMembership
      2005-07-06 12:10:43,587 DEBUG [com.opensymphony.user.UserManager] loaded using config : /osuser.xml
      [INFO] RAMJobStore - -RAMJobStore initialized.
      [INFO] StdSchedulerFactory - -Quartz scheduler 'JiraQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
      [INFO] StdSchedulerFactory - -Quartz scheduler version: 1.4.5
      [INFO] MultipleSubversionRepositoryManagerImpl - -No svn.root.1 specified in subversion-jira-plugin.properties
      [ERROR] SubversionManagerImpl - -Connection to Subversion repository https://localhost/svn/cecildev/trunk failed: org.tmatesoft.svn.core.io.SVNException: server reports an error: 500:Internal Server Error
      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
      <html><head>
      <title>500 Internal Server Error</title>
      </head><body>
      <h1>Internal Server Error</h1>
      <p>The server encountered an internal error or
      misconfiguration and was unable to complete
      your request.</p>
      <p>Please contact the server administrator,
      and inform them of the time the error occurred,
      and anything you might have done that may have
      caused the error.</p>
      <p>More information about this error may be available
      in the server error log.</p>
      </body></html>
      <org.tmatesoft.svn.core.io.SVNException: server reports an error: 500:Internal Server Error
      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
      <html><head>
      <title>500 Internal Server Error</title>
      </head><body>
      <h1>Internal Server Error</h1>
      <p>The server encountered an internal error or
      misconfiguration and was unable to complete
      your request.</p>
      <p>Please contact the server administrator,and inform them of the time the error occurred,
      and anything you might have done that may have
      caused the error.</p>
      <p>More information about this error may be available
      in the server error log.</p>
      </body></html>

      >>org.tmatesoft.svn.core.io.SVNException: server reports an error: 500:Internal Server Error

      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
      <html><head>
      <title>500 Internal Server Error</title>
      </head><body>
      <h1>Internal Server Error</h1>
      <p>The server encountered an internal error or
      misconfiguration and was unable to complete
      your request.</p>
      <p>Please contact the server administrator,
      m.barrett@auckland.ac.nz and inform them of the time the error occurred,
      and anything you might have done that may have
      caused the error.</p>
      <p>More information about this error may be available
      in the server error log.</p>
      </body></html>

      at org.tmatesoft.svn.core.internal.io.dav.HttpConnection.assertOk(HttpConnection.java:557)
      at org.tmatesoft.svn.core.internal.io.dav.HttpConnection.sendRequest(HttpConnection.java:178)
      at org.tmatesoft.svn.core.internal.io.dav.HttpConnection.request(HttpConnection.java:163)
      at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:58)
      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:287)
      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:57)
      at com.atlassian.jira.plugin.ext.subversion.SubversionManagerImpl.setupEnvironment(SubversionManagerImpl.java:82)
      at com.atlassian.jira.plugin.ext.subversion.SubversionManagerImpl.<init>(SubversionManagerImpl.java:36)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.setupEnvironment(MultipleSubversionRepositoryManagerImpl.java:53)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.<init>(MultipleSubversionRepositoryManagerImpl.java:30)
      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.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:100)
      at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:200)
      at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:27)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstancesOfType(DefaultPicoContainer.java:274)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstances(DefaultPicoContainer.java:266)
      at com.atlassian.jira.ComponentManager.eagerlyInstantiate(ComponentManager.java:297)
      at com.atlassian.jira.ComponentManager.start(ComponentManager.java:212)
      at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:25)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3271)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
      at org.apache.catalina.core.StandardService.start(StandardService.java:497)
      at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
      at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
      at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
      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.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

      java.lang.NullPointerException
      at java.util.Hashtable.put(Hashtable.java:401)
      at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.<init>(RevisionIndexer.java:76)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.setupEnvironment(MultipleSubversionRepositoryManagerImpl.java:70)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.<init>(MultipleSubversionRepositoryManagerImpl.java:30)
      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.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:100)
      at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:200)
      at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:27)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstancesOfType(DefaultPicoContainer.java:274)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstances(DefaultPicoContainer.java:266)
      at com.atlassian.jira.ComponentManager.eagerlyInstantiate(ComponentManager.java:297)
      at com.atlassian.jira.ComponentManager.start(ComponentManager.java:212)
      at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:25)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3271)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
      at org.apache.catalina.core.StandardService.start(StandardService.java:497)
      at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
      at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
      at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
      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.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
      [ERROR] MultipleSubversionRepositoryManagerImpl - -Could not load properties from subversion-jira-plugin.properties <java.lang.NullPointerException>java.lang.NullPointerException
      at java.util.Hashtable.put(Hashtable.java:401)
      at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.<init>(RevisionIndexer.java:76)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.setupEnvironment(MultipleSubversionRepositoryManagerImpl.java:70)
      at com.atlassian.jira.plugin.ext.subversion.MultipleSubversionRepositoryManagerImpl.<init>(MultipleSubversionRepositoryManagerImpl.java:30)
      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.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:100)
      at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:200)
      at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
      at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:27)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstancesOfType(DefaultPicoContainer.java:274)
      at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstances(DefaultPicoContainer.java:266)
      at com.atlassian.jira.ComponentManager.eagerlyInstantiate(ComponentManager.java:297)
      at com.atlassian.jira.ComponentManager.start(ComponentManager.java:212)
      at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:25)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3271)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
      at org.apache.catalina.core.StandardService.start(StandardService.java:497)
      at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
      at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
      at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
      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.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

      [INFO] QuartzScheduler - -Scheduler JiraQuartzScheduler_$_NON_CLUSTERED started.
      [INFO] QuartzScheduler - -Scheduler JiraQuartzScheduler_$_NON_CLUSTERED shutting down.
      [INFO] QuartzScheduler - -Scheduler JiraQuartzScheduler_$_NON_CLUSTERED paused.
      [INFO] QuartzScheduler - -Scheduler JiraQuartzScheduler_$_NON_CLUSTERED shutdown complete.
      [ERROR] QuartzSchedulerThread - -releaseTriggerRetryLoop: RuntimeException null <java.lang.NullPointerException>java.lang.NullPointerException
      at com.atlassian.scheduler.OfBizJobStore.releaseAcquiredTrigger(OfBizJobStore.java:513)
      at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:281)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mark@atlassian.com MarkC
              Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: