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

mysterious 'string index out of bounds' exception during git merge

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 5.5
    • 5.2.2
    • Plan Branches

    Description

      [ChainExecutionManagerImpl] Exception during merge: String index out of range: 65
      java.lang.StringIndexOutOfBoundsException: String index out of range: 65
              at java.lang.String.<init>(String.java:211)
              at java.lang.StringBuilder.toString(StringBuilder.java:430)
              at com.atlassian.bamboo.plugins.git.GitCommandProcessor$LoggingOutputHandler.getStdout(GitCommandProcessor.java:623)
              at com.atlassian.bamboo.plugins.git.GitCommandProcessor.runCommand(GitCommandProcessor.java:493)
              at com.atlassian.bamboo.plugins.git.GitCommandProcessor.runMergeCommand(GitCommandProcessor.java:512)
              at com.atlassian.bamboo.plugins.git.NativeGitOperationHelper.merge(NativeGitOperationHelper.java:240)
              at com.atlassian.bamboo.plugins.git.GitRepository.mergeWorkspaceWith(GitRepository.java:520)
              at com.atlassian.bamboo.plan.branch.BranchIntegrationHelperImpl.merge(BranchIntegrationHelperImpl.java:114)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.doVcsMerge(ChainExecutionManagerImpl.java:951)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$1300(ChainExecutionManagerImpl.java:97)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$5.run(ChainExecutionManagerImpl.java:601)
              at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:321)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.execute(ChainExecutionManagerImpl.java:584)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.tryStartChainState(ChainExecutionManagerImpl.java:288)
              at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:171)
              at sun.reflect.GeneratedMethodAccessor1133.invoke(Unknown Source)
              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: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.$Proxy101.start(Unknown Source)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3$2.call(PlanExecutionManagerImpl.java:476)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3$2.call(PlanExecutionManagerImpl.java:469)
              at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:312)
              at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.inlineProcessLocks(PlanExecutionLockServiceImpl.java:99)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithInlineProcessLock(PlanExecutionManagerImpl.java:680)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$400(PlanExecutionManagerImpl.java:123)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3.call(PlanExecutionManagerImpl.java:468)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3.call(PlanExecutionManagerImpl.java:449)
              at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:312)
              at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:81)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:725)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startConditionalBuild(PlanExecutionManagerImpl.java:448)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:519)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:536)
              at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$3.call(NonBlockingPlanExecutionServiceImpl.java:137)
              at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$3.call(NonBlockingPlanExecutionServiceImpl.java:124)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:55)
              at java.lang.Thread.run(Thread.java:680)
      :        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.$Proxy101.start(Unknown Source)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3$2.call(PlanExecutionManagerImpl.java:476)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3$2.call(PlanExecutionManagerImpl.java:469)
              at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:312)
              at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.inlineProcessLocks(PlanExecutionLockServiceImpl.java:99)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithInlineProcessLock(PlanExecutionManagerImpl.java:680)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$400(PlanExecutionManagerImpl.java:123)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3.call(PlanExecutionManagerImpl.java:468)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$3.call(PlanExecutionManagerImpl.java:449)
              at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:312)
              at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:81)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:725)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startConditionalBuild(PlanExecutionManagerImpl.java:448)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:519)
              at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:536)
              at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$3.call(NonBlockingPlanExecutionServiceImpl.java:137)
              at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$3.call(NonBlockingPlanExecutionServiceImpl.java:124)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:55)
              at java.lang.Thread.run(Thread.java:680)
      

      hypothesis: race condition between background process still wrtiting to stream and Bamboo trying to read stream

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              smaiyaki Sultan Maiyaki (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: