Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-2878

Stash fails to start with "Error validating Perl: {0}"

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 2.0.1
    • 2.0.0
    • Git Hosting, Installation
    • None

    Description

      If you start Stash as a user who doesn't have permission to delete folders within the %STASH_HOME% location, you will see Stash fail with this error.

      The logs show:

      2012-12-05 12:16:14,337 INFO  [localhost-startStop-1]  c.a.s.internal.home.HomeLockAcquirer Successfully acquired lock on home directory C:\Demotions\stash-distribution for 5856@delirium
      2012-12-05 12:16:25,407 WARN  [localhost-startStop-1]  c.a.s.i.license.LicenseServiceImpl No license has been configured.
      2012-12-05 12:16:26,882 INFO  [localhost-startStop-1]  c.a.s.i.hook.DefaultHookService Hook callback socket listening on 127.0.0.1:51392
      2012-12-05 12:16:27,368 INFO  [localhost-startStop-1]  c.a.s.i.server.ApplicationInfoLogger Starting Stash 2.0.0-rc3 (00478151d8 built on Wed Dec 05 10:32:43 EST 2012)
      2012-12-05 12:16:27,368 INFO  [localhost-startStop-1]  c.a.s.i.server.ApplicationInfoLogger JVM: Sun Microsystems Inc. Java HotSpot(TM) Server VM 1.6.0_31-b05
      2012-12-05 12:16:35,141 INFO  [Spring executor 4]  c.a.stash.ssh.server.SshServer Starting SSH server on port 7999...
      2012-12-05 12:16:35,194 INFO  [Spring executor 4]  c.a.stash.ssh.server.SshServer Started SSH server successfully.
      2012-12-05 12:17:36,277 ERROR [localhost-startStop-1]  c.a.s.i.s.g.v.PerlBinaryValidation Error validating Perl
      java.io.IOException: Unable to delete directory C:\Demotions\stash-distribution\tmp\git\perl-validation7591620171202627458dir.
      	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:981) ~[commons-io-1.4.jar:1.4]
      	at com.atlassian.stash.internal.scm.git.validate.PerlBinaryValidation.checkPerlVersion(PerlBinaryValidation.java:109) ~[stash-scm-git-2.0.0-rc3_1354664046000.jar:na]
      	at com.atlassian.stash.internal.scm.git.validate.PerlBinaryValidation.validate(PerlBinaryValidation.java:51) ~[stash-scm-git-2.0.0-rc3_1354664046000.jar:na]
      	at com.atlassian.stash.internal.scm.git.DefaultGitScm.getStatus(DefaultGitScm.java:85) [stash-scm-git-2.0.0-rc3_1354664046000.jar:na]
      	at com.atlassian.stash.internal.scm.PluginScmService$1.apply(PluginScmService.java:83) [stash-service-impl-2.0.0-rc3.jar:na]
      	at com.atlassian.stash.internal.scm.PluginScmService$1.apply(PluginScmService.java:74) [stash-service-impl-2.0.0-rc3.jar:na]
      	at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:53) [guava-10.0.1.jar:na]
      	at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426) [guava-10.0.1.jar:na]
      	at com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322) [guava-10.0.1.jar:na]
      	at com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291) [guava-10.0.1.jar:na]
      	at com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802) [guava-10.0.1.jar:na]
      	at com.google.common.cache.ComputingCache.get(ComputingCache.java:46) [guava-10.0.1.jar:na]
      	at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:49) [guava-10.0.1.jar:na]
      	at com.atlassian.stash.internal.scm.PluginScmService.findById(PluginScmService.java:121) [stash-service-impl-2.0.0-rc3.jar:na]
      	at com.atlassian.stash.internal.scm.PluginScmService.onPluginFrameworkStarted(PluginScmService.java:193) [stash-service-impl-2.0.0-rc3.jar:na]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
      	at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
      	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:66) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:32) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:60) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:227) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:82) [atlassian-event-2.2.1.jar:na]
      	at com.atlassian.stash.internal.event.EventPublisherImpl.publish(EventPublisherImpl.java:74) [stash-platform-2.0.0-rc3.jar:na]
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84) [atlassian-plugins-core-2.13.0-m10.jar:na]
      	at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:190) [atlassian-plugins-core-2.13.0-m10.jar:na]
      	at com.atlassian.stash.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:45) [stash-platform-2.0.0-rc3.jar:na]
      	at com.atlassian.stash.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:16) [stash-platform-2.0.0-rc3.jar:na]
      	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97) [spring-context-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:324) [spring-context-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:934) [spring-context-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472) [spring-context-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383) [spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) [spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at com.atlassian.johnson.spring.web.context.JohnsonContextLoaderListener.initWebApplicationContext(JohnsonContextLoaderListener.java:102) [atlassian-johnson-spring-2.1.0.jar:na]
      	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) [spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) [catalina.jar:7.0.32]
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) [catalina.jar:7.0.32]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.32]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [catalina.jar:7.0.32]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [catalina.jar:7.0.32]
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_31]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_31]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_31]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_31]
      	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_31]
      2012-12-05 12:17:36,279 ERROR [localhost-startStop-1]  c.a.s.internal.scm.PluginScmService ***************************************************************************
      2012-12-05 12:17:36,279 ERROR [localhost-startStop-1]  c.a.s.internal.scm.PluginScmService Error validating Perl: {0}
      2012-12-05 12:17:36,279 ERROR [localhost-startStop-1]  c.a.s.internal.scm.PluginScmService ***************************************************************************
      

      The true error is that your user is missing file permissions on the home directory and granting the correct permissions will allow Stash to start normally.

      Stash should display a more appropriate error message in this case.

      Attachments

        Issue Links

          Activity

            People

              jhinch jhinch (Atlassian)
              aahmed Adam Ahmed (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: