Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-13158

Bamboo parses special characters in git handler

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • None
    • 4.4.5
    • Repository (Git)

    Description

      Bamboo seems to be parsing special html characters like @ inside the passwords for gits.

      When git (/usr/bin) gets actioned to do a request the @ get changed into urlencoded format %40 which then obviously breaks the password.

      See example:

      ---------------
      java.lang.RuntimeException: com.atlassian.bamboo.repository.RepositoryException: Runtime exception.
      	at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:132)
      	at com.atlassian.bamboo.executor.RetryingTaskExecutor.runTask(RetryingTaskExecutor.java:88)
      	at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:191)
      	at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:176)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectionChangesWithRetry(DefaultChangeDetectionManager.java:457)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuildInternal(DefaultChangeDetectionManager.java:318)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:251)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:161)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectAllChangesSinceLastBuild(DefaultChangeDetectionManager.java:127)
      	at com.atlassian.bamboo.v2.trigger.ManualBuildDetectionAction.performDelayedChangeDetection(ManualBuildDetectionAction.java:113)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2.getChainState(ChainExecutionManagerImpl.java:199)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.tryStartChainState(ChainExecutionManagerImpl.java:252)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.delayedStart(ChainExecutionManagerImpl.java:189)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy75.delayedStart(Unknown Source)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      	at com.sun.proxy.$Proxy76.delayedStart(Unknown Source)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1$1$1.call(PlanExecutionManagerImpl.java:300)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1$1$1.call(PlanExecutionManagerImpl.java:296)
      	at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:324)
      	at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:77)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:467)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$200(PlanExecutionManagerImpl.java:48)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1$1.run(PlanExecutionManagerImpl.java:295)
      	at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:52)
      	at java.lang.Thread.run(Thread.java:722)
      Caused by: com.atlassian.bamboo.repository.RepositoryException: Runtime exception.
      	at com.atlassian.bamboo.plugins.git.GitRepository.collectChangesSinceLastBuild(GitRepository.java:281)
      	at com.atlassian.bamboo.plugins.git.GitRepository.collectChangesSinceLastBuild(GitRepository.java:180)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager$1.call(DefaultChangeDetectionManager.java:461)
      	at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager$1.call(DefaultChangeDetectionManager.java:458)
      	at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:108)
      	... 39 more
      Caused by: com.google.common.util.concurrent.UncheckedExecutionException: com.atlassian.bamboo.plugins.git.GitCommandException: command /usr/bin/git ls-remote https://karl.kloppenborg:[REMOVED]@stash.[REMOVED]/scm/[REMOVED].git failed with code 128. Working directory was [.]., stderr:
      [fatal: remote error: CAPTCHA required, Your Stash account has been marked as requiring a CAPTCHA to be solved before, you may login again. This is typically caused by too many attempts to login, with an incorrect password. The required CAPTCHA prevents your SCM client from, accessing Stash until it is solved, even if you enter your password correctly., , If you are currently logged in to Stash via a browser you may need to logout, and then log back in in order to clear the CAPTCHA., , Visit Stash at https://stash.[REMOVED] for more details.]
      	at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:51)
      	at com.atlassian.bamboo.plugins.git.CallableResultCache.call(CallableResultCache.java:82)
      	at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper.getRemoteRefs(NativeGitOperationHelper.java:512)
      	at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper.resolveBranch(NativeGitOperationHelper.java:447)
      	at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper.obtainLatestRevision(NativeGitOperationHelper.java:542)
      	at com.atlassian.bamboo.plugins.git.GitRepository.collectChangesSinceLastBuild(GitRepository.java:192)
      	... 43 more
      Caused by: com.atlassian.bamboo.plugins.git.GitCommandException: command /usr/bin/git ls-remote https://karl.kloppenborg:[REMOVED]@stash.[REMOVED].git failed with code 128. Working directory was [.]., stderr:
      [fatal: remote error: CAPTCHA required, Your Stash account has been marked as requiring a CAPTCHA to be solved before, you may login again. This is typically caused by too many attempts to login, with an incorrect password. The required CAPTCHA prevents your SCM client from, accessing Stash until it is solved, even if you enter your password correctly., , If you are currently logged in to Stash via a browser you may need to logout, and then log back in in order to clear the CAPTCHA., , Visit Stash at https://stash.[REMOVED] for more details.]
      	at com.atlassian.bamboo.plugins.git.GitCommandProcessor.runCommand(GitCommandProcessor.java:431)
      	at com.atlassian.bamboo.plugins.git.GitCommandProcessor.getRemoteRefs(GitCommandProcessor.java:350)
      	at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper$1.call(NativeGitOperationHelper.java:500)
      	at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper$1.call(NativeGitOperationHelper.java:491)
      	at com.atlassian.bamboo.plugins.git.CallableResultCache$1.load(CallableResultCache.java:29)
      	at com.atlassian.bamboo.plugins.git.CallableResultCache$1.load(CallableResultCache.java:25)
      	at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426)
      	at com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322)
      	at com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291)
      	at com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802)
      	at com.google.common.cache.ComputingCache.get(ComputingCache.java:46)
      	at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:49)
      	... 48 more
      Caused by: com.atlassian.utils.process.ProcessException: Non-zero exit code: 128
      	at com.atlassian.utils.process.PluggableProcessHandler.complete(PluggableProcessHandler.java:83)
      	at com.atlassian.utils.process.ExternalProcess.finish(ExternalProcess.java:376)
      	at com.atlassian.utils.process.ExternalProcess.execute(ExternalProcess.java:419)
      	at com.atlassian.bamboo.plugins.git.GitCommandProcessor.runCommand(GitCommandProcessor.java:423)
      	... 59 more
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              09c25c5764c6 Karl Kloppenborg
              Votes:
              6 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: