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

Uncontrolled spawning of instances when the AMI description field contains a '/'



    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Fixed
    • ec2-plugin
    • None
    • 1.60


      I noticed that my job had not started and when I checked the log I found this message:

      Spot instance id in provision: sir-5j9rvbkjMay 07, 2021 1:56:08 PM INFO hudson.plugins.ec2.EC2RetentionStrategy startStart requested for EC2 (engineering-aws) - FreeBSD-13-amd64 lite for small jobs that don't need much CPU or RAM (sir-5j9rvbkj)May 07, 2021 1:56:08 PM INFO hudson.plugins.ec2.EC2Cloud provisionSlaveTemplate{description='FreeBSD-13-amd64 lite for small jobs that don't need much CPU or RAM', labels='aws-amd64-lite'}. Attempting provision finishedMay 07, 2021 1:56:08 PM INFO hudson.plugins.ec2.EC2Cloud provisionWe have now 5 computers, waiting for 1 moreMay 07, 2021 1:56:08 PM SEVERE hudson.slaves.NodeProvisioner lambda$update$6Unexpected uncaught exception encountered while processing agent EC2 (engineering-aws) - FreeBSD-13-amd64 lite for small jobs that don't need much CPU/RAM
      hudson.model.Failure: '/' is an unsafe character
      	at jenkins.model.Jenkins.checkGoodName(Jenkins.java:4063)
      	at jenkins.model.Nodes.addNode(Nodes.java:139)
      	at jenkins.model.Jenkins.addNode(Jenkins.java:2157)
      	at hudson.slaves.NodeProvisioner.lambda$update$6(NodeProvisioner.java:256)
      	at hudson.model.Queue._withLock(Queue.java:1384)
      	at hudson.model.Queue.withLock(Queue.java:1261)
      	at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:225)
      	at hudson.slaves.NodeProvisioner.access$900(NodeProvisioner.java:64)
      	at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823)
      	at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:91)
      	at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:67)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	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)

      and in the EC2 console I saw it was continuing to spawn machine after machine.  Luckily I was developing the job so I was paying attention and able to change the description to not include a '/' and kill all of the machines before it went too far.


        Issue Links


            There are no comments yet on this issue.


              raihaan Raihaan Shouhell
              brd Brad
              0 Vote for this issue
              1 Start watching this issue