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

Jenkins fails to restart after EC2 plugin upgrade

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • ec2-plugin
    • None
    • Jenkins Docker image 2.147
      Amazon EC2 plugin 1.40.1

      Jenkins fails to restart after updating the EC2 plugin to 1.40 or 1.40.1. The only workaround I've found so far is to delete the contents of the Jenkins nodes directory and then restart Jenkins. This unfortunately borks the jobs that were running on the agents whilst the master was being rebooted.

      java.lang.NullPointerException
      	at hudson.plugins.ec2.EC2Computer.getState(EC2Computer.java:128)
      	at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:159)
      	at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:46)
      	at hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:145)
      	at hudson.model.AbstractCIBase.access$000(AbstractCIBase.java:46)
      	at hudson.model.AbstractCIBase$2.run(AbstractCIBase.java:207)
      	at hudson.model.Queue._withLock(Queue.java:1380)
      	at hudson.model.Queue.withLock(Queue.java:1257)
      	at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:190)
      	at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1552)
      	at jenkins.model.Nodes$9.run(Nodes.java:348)
      	at hudson.model.Queue._withLock(Queue.java:1380)
      	at hudson.model.Queue.withLock(Queue.java:1257)
      	at jenkins.model.Nodes.load(Nodes.java:339)
      	at jenkins.model.Jenkins$13.run(Jenkins.java:3113)
      	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1069)
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	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)
      Caused: org.jvnet.hudson.reactor.ReactorException
      	at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
      	at jenkins.InitReactorRunner.run(InitReactorRunner.java:48)
      	at jenkins.model.Jenkins.executeReactor(Jenkins.java:1103)
      	at jenkins.model.Jenkins.<init>(Jenkins.java:907)
      	at hudson.model.Hudson.<init>(Hudson.java:85)
      	at hudson.model.Hudson.<init>(Hudson.java:81)
      	at hudson.WebAppMain$3.run(WebAppMain.java:233)
      Caused: hudson.util.HudsonFailedToLoad
      	at hudson.WebAppMain$3.run(WebAppMain.java:250)
      

          [JENKINS-54112] Jenkins fails to restart after EC2 plugin upgrade

          Are you able to try this snapshoot ? : 

            https://repo.jenkins-ci.org/snapshots/org/jenkins-ci/plugins/ec2/1.41-SNAPSHOT/ec2-1.41-20181017.001057-2.hpi

          you need to add new permission to the role : {
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": [
          "iam:ListInstanceProfilesForRole",
          "iam:PassRole"
          ],
          "Resource": "*"
          }

          FABRIZIO MANFREDI added a comment - Are you able to try this snapshoot ? :    https://repo.jenkins-ci.org/snapshots/org/jenkins-ci/plugins/ec2/1.41-SNAPSHOT/ec2-1.41-20181017.001057-2.hpi you need to add new permission to the role : { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "iam:ListInstanceProfilesForRole", "iam:PassRole" ], "Resource": "*" }

          I added the new permission and upgraded the plugin. I had to update the Groovy script that I use to register the EC2 Cloud due to a constructor change to the UnixData class.

          Unfortunately I encountered a similar error message after spinning up a build executor and then rebooting:

          java.lang.NullPointerException
          at hudson.plugins.ec2.EC2Computer.getState(EC2Computer.java:128)
          at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:176)
          at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:48)
          at hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:145)
          at hudson.model.AbstractCIBase.access$000(AbstractCIBase.java:46)
          at hudson.model.AbstractCIBase$2.run(AbstractCIBase.java:207)
          at hudson.model.Queue._withLock(Queue.java:1380)
          at hudson.model.Queue.withLock(Queue.java:1257)
          at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:190)
          at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1552)
          at jenkins.model.Nodes$9.run(Nodes.java:348)
          at hudson.model.Queue._withLock(Queue.java:1380)
          at hudson.model.Queue.withLock(Queue.java:1257)
          at jenkins.model.Nodes.load(Nodes.java:339)
          at jenkins.model.Jenkins$13.run(Jenkins.java:3113)
          at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
          at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
          at jenkins.model.Jenkins$5.runTask(Jenkins.java:1069)
          at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
          at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
          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)
          

          Grant Pedersen added a comment - I added the new permission and upgraded the plugin. I had to update the Groovy script that I use to register the EC2 Cloud due to a constructor change to the UnixData class. Unfortunately I encountered a similar error message after spinning up a build executor and then rebooting: java.lang.NullPointerException at hudson.plugins.ec2.EC2Computer.getState(EC2Computer.java:128) at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:176) at hudson.plugins.ec2.EC2RetentionStrategy.start(EC2RetentionStrategy.java:48) at hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:145) at hudson.model.AbstractCIBase.access$000(AbstractCIBase.java:46) at hudson.model.AbstractCIBase$2.run(AbstractCIBase.java:207) at hudson.model.Queue._withLock(Queue.java:1380) at hudson.model.Queue.withLock(Queue.java:1257) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:190) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1552) at jenkins.model.Nodes$9.run(Nodes.java:348) at hudson.model.Queue._withLock(Queue.java:1380) at hudson.model.Queue.withLock(Queue.java:1257) at jenkins.model.Nodes.load(Nodes.java:339) at jenkins.model.Jenkins$13.run(Jenkins.java:3113) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1069) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) 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)

            thoulen FABRIZIO MANFREDI
            gruntster Grant Pedersen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: