Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69875

Feature: abort job while performing scm checkout cause retry instead of aborting it

      If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will retry the job instead of aborting it. see log:

      Started by user BLABLA
      Obtained Jenkinsfile from c123456789101112131415
      [Pipeline] Start of Pipeline
      [Pipeline] library
      Loading library pipeline-library@master
      Attempting to resolve my-branch from remote references...
       > git --version # timeout=10
       > git --version # 'git version 2.30.2'
      using GIT_ASKPASS to set credentials 
       > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
      Found match: refs/heads/my-branch revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
      Selected Git installation does not exist. Using Default
      The recommended git tool is: NONE
      using credential my-token
      Wiping out workspace first.
      Cloning the remote Git repository
      Cloning with configured refspecs honoured and without tags
      Cloning repository https://bitbucket.org/account_name/repo_name.git
       > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
      Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
       > git --version # timeout=10
       > git --version # 'git version 2.30.2'
      using GIT_ASKPASS to set credentials 
       > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
      Aborted by BLABLA
      ERROR: Checkout failed
      java.lang.NullPointerException
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
          at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
          at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
          at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
          at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
          at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
          at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
          at hudson.security.ACL.impersonate2(ACL.java:451)
          at hudson.security.ACL.impersonate(ACL.java:463)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:829)
      Retrying after 10 seconds
      Selected Git installation does not exist. Using Default
      The recommended git tool is: NONE
      using credential my-token
      Wiping out workspace first.
      Cloning the remote Git repository
      Cloning with configured refspecs honoured and without tags
      Cloning repository https://bitbucket.org/account_name/repo_name.git 

       

       

       

      How to reproduce

      Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

      Go to Configure System --> and increase SCM checkout retry count to 2

      Then, try to abort the job while it performing scm checkout

       

      Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong

          [JENKINS-69875] Feature: abort job while performing scm checkout cause retry instead of aborting it

          dor s created issue -
          dor s made changes -
          Environment Original: Jenkins 2.361.2
          Git client plugin 3.12.1
          Git plugin 4.12.1
          New: Jenkins 2.361.2
          Git client plugin 3.12.1
          Git plugin 4.12.1
          Pipeline: SCM Step 400.v6b_89a_1317c9a_
          SCM API Plugin 621.vda_a_b_055e58f7
          dor s made changes -
          Description Original: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve dors-new-tenant from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/dors-new-tenant revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by Dor Saidon
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout
          New: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve dors-new-tenant from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/dors-new-tenant revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by Dor Saidon
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout

           

          Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong
          dor s made changes -
          Summary Original: abort job while performing scm checkout cause retry instead of aborting it New: Feature: abort job while performing scm checkout cause retry instead of aborting it
          dor s made changes -
          Description Original: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve dors-new-tenant from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/dors-new-tenant revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by Dor Saidon
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout

           

          Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong
          New: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve dors-new-tenant from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/dors-new-tenant revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by BLABLA
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout

           

          Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong
          dor s made changes -
          Description Original: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve dors-new-tenant from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/dors-new-tenant revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by BLABLA
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout

           

          Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong
          New: If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will *retry* the job instead of *aborting* it. see log:
          {code:java}
          Started by user BLABLA
          Obtained Jenkinsfile from c123456789101112131415
          [Pipeline] Start of Pipeline
          [Pipeline] library
          Loading library pipeline-library@master
          Attempting to resolve my-branch from remote references...
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
          Found match: refs/heads/my-branch revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git
           > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
          Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
           > git --version # timeout=10
           > git --version # 'git version 2.30.2'
          using GIT_ASKPASS to set credentials 
           > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
          Aborted by BLABLA
          ERROR: Checkout failed
          java.lang.NullPointerException
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
              at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
              at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
              at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
              at hudson.security.ACL.impersonate2(ACL.java:451)
              at hudson.security.ACL.impersonate(ACL.java:463)
              at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Retrying after 10 seconds
          Selected Git installation does not exist. Using Default
          The recommended git tool is: NONE
          using credential my-token
          Wiping out workspace first.
          Cloning the remote Git repository
          Cloning with configured refspecs honoured and without tags
          Cloning repository https://bitbucket.org/account_name/repo_name.git {code}
           

           

           

          *How to reproduce*

          Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

          Go to Configure System --> and increase SCM checkout retry count to 2

          !image-2022-10-17-13-56-56-055.png!

          Then, try to *abort* the job while it performing scm checkout

           

          Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong
          dor s made changes -
          Issue Type Original: Task [ 3 ] New: New Feature [ 2 ]
          Mark Waite made changes -
          Assignee Original: Mark Waite [ markewaite ]

            Unassigned Unassigned
            dordor dor s
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: