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

NullPointerException from withCredentials > sshUserPrivateKey

      Hello!

      Here is a snippet from Pipeline:

       

      sshagent(["AWSServerPrivateKey-${params.URL}"]) {
       withCredentials([sshUserPrivateKey(credentialsId: "AWSServerPrivateKey-${params.URL}", usernameVariable: 'userName')]) {
        sh "cat hello.txt"
        }
       }

      I get the following error

       

      [Pipeline] }
      [Pipeline] // script
      [Pipeline] }
      
      [Pipeline] // ansiColor
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] stage
      [Pipeline] { (deploy)
      [Pipeline] sshagent
      [ssh-agent] Using credentials *** (AWSServerPrivateKey)
      [ssh-agent] Looking for ssh-agent implementation...
      [ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
      $ ssh-agent
      SSH_AUTH_SOCK=/tmp/ssh-2FrmRJy4jjPF/agent.2510759
      SSH_AGENT_PID=2510761
      Running ssh-add (command line suppressed)
      Identity added: 
      ...
      [ssh-agent] Started.
      [Pipeline] {
      [Pipeline] withCredentials
      Masking supported pattern matches of $null
      [Pipeline] {
      [Pipeline] }
      [Pipeline] // withCredentials
      [Pipeline] }
      $ ssh-agent -k
      unset SSH_AUTH_SOCK;
      unset SSH_AGENT_PID;
      echo Agent pid 2510761 killed;
      [ssh-agent] Stopped.
      [Pipeline] // sshagent
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] stage
      [Pipeline] { (Declarative: Post Actions)
      [Pipeline] sh
      ...
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] }
      [Pipeline] // withEnv
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] End of Pipeline
      java.lang.NullPointerException
      Finished: FAILURE
      

      Please advise.

       

       

       

          [JENKINS-68162] NullPointerException from withCredentials > sshUserPrivateKey

          Kevin Masur added a comment -

          We found the same issue recently.  Though it's only happening on our builds when we attempt to retry a previous build.  When we kick off a new build, it appears to work fine.

           

          def gitCredentialsId = scm.userRemoteConfigs.first().credentialsId
          sshagent(["${gitCredentialsId}"]) {
              //stuff
          }

          We get the same messages in the logs but with the following stack trace added:

          java.lang.NullPointerException
          	at java.util.Collections$UnmodifiableCollection.<init>(Collections.java:1028)
          	at java.util.Collections$UnmodifiableList.<init>(Collections.java:1304)
          	at java.util.Collections.unmodifiableList(Collections.java:1289)
          	at hudson.model.ParametersAction.getAllParameters(ParametersAction.java:358)
          	at org.jenkinsci.plugins.workflow.cps.ParamsVariable.getValue(ParamsVariable.java:58)
          	at org.jenkinsci.plugins.workflow.cps.CpsScript.getProperty(CpsScript.java:135)
          	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174)
          	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456)
          	at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:355)
          	at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:68)
          	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:355)
          	at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)
          	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
          	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
          	at WorkflowScript.run(WorkflowScript:85)
          	at ___cps.transform___(Native Method)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
          	at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
          	at sun.reflect.GeneratedMethodAccessor438.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:498)
          	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
          	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
          	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
          	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129)
          	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268)
          	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
          	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:402)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:314)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:278)
          	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
          	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
          	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          	at java.lang.Thread.run(Thread.java:748)

          Kevin Masur added a comment - We found the same issue recently.  Though it's only happening on our builds when we attempt to retry a previous build.  When we kick off a new build, it appears to work fine.   def gitCredentialsId = scm.userRemoteConfigs.first().credentialsId sshagent(["${gitCredentialsId}"]) { //stuff } We get the same messages in the logs but with the following stack trace added: java.lang.NullPointerException at java.util.Collections$UnmodifiableCollection.<init>(Collections.java:1028) at java.util.Collections$UnmodifiableList.<init>(Collections.java:1304) at java.util.Collections.unmodifiableList(Collections.java:1289) at hudson.model.ParametersAction.getAllParameters(ParametersAction.java:358) at org.jenkinsci.plugins.workflow.cps.ParamsVariable.getValue(ParamsVariable.java:58) at org.jenkinsci.plugins.workflow.cps.CpsScript.getProperty(CpsScript.java:135) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456) at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:355) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:68) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:355) at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) at WorkflowScript.run(WorkflowScript:85) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) at sun.reflect.GeneratedMethodAccessor438.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:83) at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174) at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163) at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129) at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:402) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:314) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:278) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

            jvz Matt Sicker
            dguha Debasish Guha
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: