[JIRA] (JENKINS-61698) Configuration accepts invalid values -- ArrayIndexOutOfBoundsException during runtime

0 views
Skip to first unread message

bochenski.kuba+jenkins@gmail.com (JIRA)

unread,
Mar 26, 2020, 12:08:04 PM3/26/20
to jenkinsc...@googlegroups.com
Jakub Bochenski created an issue
 
Jenkins / Bug JENKINS-61698
Configuration accepts invalid values -- ArrayIndexOutOfBoundsException during runtime
Issue Type: Bug Bug
Assignee: FABRIZIO MANFREDI
Components: ec2-plugin
Created: 2020-03-26 16:07
Environment: Jenkins ver. 2.204.2
ec2 plugin 1.49.1
Priority: Major Major
Reporter: Jakub Bochenski

When trying to provision a new agent the plugin would start and then terminate an EC2 instance several times before succeeding in the end.
I have no explanation for this behavior. Might be related to JENKINS-61343
Might be because the plugin somehow allocates "2 computer(s)" even though the instance cap is 1.

Mar 06, 2020 3:05:22 PM INFO hudson.plugins.ec2.EC2Cloud log

bootstrap()

Mar 06, 2020 3:05:22 PM INFO hudson.plugins.ec2.EC2Cloud log

Getting keypair...

Mar 06, 2020 3:05:22 PM INFO hudson.plugins.ec2.EC2Cloud log

Using private key j4a-ec2-ssh-key (SHA-1 fingerprint a7:b4:70:08:35:11:e3:cf:4b:f5:92:57:b8:02:7f:c6:8e:54:52:02)

Mar 06, 2020 3:05:22 PM INFO hudson.plugins.ec2.EC2Cloud log

Authenticating as admin

Mar 06, 2020 3:05:22 PM INFO hudson.slaves.NodeProvisioner lambda$update$6

EC2 (ec2) - ec2 (ami-028d96c69234f9d1a) provisioning successfully completed. We have now 2 computer(s)

Mar 06, 2020 3:05:22 PM INFO hudson.plugins.ec2.EC2Cloud log

Connecting to 10.20.4.41 on port 22, with timeout 10000.

Mar 06, 2020 3:05:29 PM INFO hudson.plugins.ec2.EC2Cloud log

Connected via SSH.

Mar 06, 2020 3:05:29 PM INFO hudson.plugins.ec2.EC2Cloud log

connect fresh as root

Mar 06, 2020 3:05:29 PM INFO hudson.plugins.ec2.EC2Cloud log

Connecting to 10.20.4.41 on port 22, with timeout 10000.

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Connected via SSH.

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Creating tmp directory (/tmp) if it does not exist

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Verifying: java -fullversion

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Verifying: which scp

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Copying remoting.jar to: /tmp

Mar 06, 2020 3:05:30 PM INFO hudson.plugins.ec2.EC2Cloud log

Launching remoting agent (via Trilead SSH2 Connection):  java  -jar /tmp/remoting.jar -workDir /opt/jenkins

Mar 06, 2020 3:05:31 PM INFO hudson.plugins.ec2.EC2OndemandSlave terminate

Terminated EC2 instance (terminated): i-021d76d0ffff3375f

Mar 06, 2020 3:05:31 PM INFO hudson.plugins.ec2.EC2OndemandSlave terminate

Removed EC2 instance from jenkins master: i-021d76d0ffff3375f

Mar 06, 2020 3:05:32 PM INFO hudson.plugins.ec2.EC2Cloud provision

SlaveTemplate{ami='ami-028d96c69234f9d1a', labels='docker docker-bakery'}. Attempting to provision slave needed by excess workload of 1 units

Mar 06, 2020 3:05:32 PM INFO hudson.plugins.ec2.SlaveTemplate logProvisionInfo

SlaveTemplate{ami='ami-028d96c69234f9d1a', labels='docker docker-bakery'}. Considering launching
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.12#713012-sha1:6e07c38)
Atlassian logo

bochenski.kuba+jenkins@gmail.com (JIRA)

unread,
Mar 26, 2020, 12:09:05 PM3/26/20
to jenkinsc...@googlegroups.com
Jakub Bochenski updated an issue
Change By: Jakub Bochenski
When trying to provision a new agent You can enter double comma into the plugin would start and then terminate an EC2 instance several times before succeeding in the end block devices field (E .
I have no explanation for this behavior
g . Might be related to JENKINS {{/dev/xvdb=:20,,/dev/sdf=snap - 61343
Might
1234}} . It will be because accepted, later the plugin somehow allocates "2 computer(s)" even though the instance cap is 1. will fail with:

{code}Mar
06 26 , 2020 3: 05 55 : 22 57 PM INFO SEVERE hudson. plugins triggers . ec2.EC2Cloud log SafeTimerTask run

bootstrap() Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@1bbf83bc failed

Mar 06, 2020 3
java.lang.ArrayIndexOutOfBoundsException : 05:22 PM INFO 1
at
hudson.plugins.ec2. EC2Cloud log

Getting keypair
util . DeviceMappingParser . parse(DeviceMappingParser .

Mar 06, 2020 3
java : 05:22 PM INFO 45)
at
hudson.plugins.ec2. EC2Cloud log

Using private key j4a-ec2-ssh-key
SlaveTemplate.setupCustomDeviceMapping ( SHA-1 fingerprint a7 SlaveTemplate.java : b4:70:08:35:11:e3:cf:4b:f5:92:57:b8:02:7f:c6:8e:54:52:02 904 )

Mar 06, 2020 3:05:22 PM INFO
at hudson.plugins.ec2. EC2Cloud log

Authenticating as admin

Mar 06, 2020 3
SlaveTemplate.setupBlockDeviceMappings(SlaveTemplate.java : 05:22 PM INFO 1070)
at
hudson. slaves plugins . NodeProvisioner lambda$update$6

EC2 (
ec2 ) - ec2 (ami-028d96c69234f9d1a) provisioning successfully completed . We have now 2 computer SlaveTemplate.provisionOndemand ( s SlaveTemplate.java:607 )

Mar 06, 2020 3:05:22 PM INFO
at hudson.plugins.ec2. EC2Cloud log

Connecting to 10
SlaveTemplate . 20 provisionOndemand(SlaveTemplate . 4.41 on port 22, with timeout 10000.

Mar 06, 2020 3
java : 05:29 PM INFO 585)
at
hudson.plugins.ec2. EC2Cloud log

Connected via SSH
SlaveTemplate .

Mar 06, 2020 3
provision(SlaveTemplate.java : 05:29 PM INFO 540)
at
hudson.plugins.ec2.EC2Cloud log

connect fresh as root

Mar 06, 2020 3
.getNewOrExistingAvailableSlave(EC2Cloud.java : 05:29 PM INFO 589)
at
hudson.plugins.ec2.EC2Cloud log

Connecting to 10
. 20 provision(EC2Cloud . 4 java:615)
at com
. 41 on port 22, with timeout 10000 cloudbees .

Mar 06, 2020 3:05:30 PM INFO hudson
jenkins .plugins. ec2 amazonecs . EC2Cloud log

Connected via SSH
ECSProvisioningStrategy .

Mar 06, 2020 3
apply(ECSProvisioningStrategy.java : 05:30 PM INFO 58)
at
hudson. plugins slaves . ec2 NodeProvisioner . EC2Cloud log

Creating tmp directory
update ( /tmp NodeProvisioner.java:332 ) if it does not exist

Mar 06, 2020 3:05:30 PM INFO
at hudson. plugins slaves . ec2 NodeProvisioner . EC2Cloud log

Verifying:
access$900(NodeProvisioner. java -fullversion

Mar 06, 2020 3
: 05:30 PM INFO 63)
at
hudson. plugins slaves . ec2 NodeProvisioner$NodeProvisionerInvoker . EC2Cloud log

Verifying
doRun(NodeProvisioner.java : which scp 819)

Mar 06, 2020 3:05:30 PM INFO
at hudson. plugins triggers . ec2 SafeTimerTask . EC2Cloud log

Copying remoting
run(SafeTimerTask . jar to java : /tmp 70)

Mar 06, 2020 3:05:30 PM INFO hudson
at jenkins . plugins security . ec2 ImpersonatingScheduledExecutorService$1 . EC2Cloud log

Launching remoting agent
run ( via Trilead SSH2 Connection) ImpersonatingScheduledExecutorService.java : 58)
at
  java   -jar /tmp/remoting . jar -workDir /opt/jenkins

Mar 06, 2020 3:05:31 PM INFO hudson
util . plugins concurrent . ec2 Executors$RunnableAdapter . EC2OndemandSlave terminate

Terminated EC2 instance
call ( terminated) Executors.java : i-021d76d0ffff3375f 511)

Mar 06, 2020 3:05:31 PM INFO hudson
at java . plugins util . ec2 concurrent . EC2OndemandSlave terminate

Removed EC2 instance from jenkins master
FutureTask.runAndReset(FutureTask.java : i-021d76d0ffff3375f 308)

Mar 06, 2020 3
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java : 05:32 PM INFO hudson 180)
at java
. plugins util . ec2 concurrent . EC2Cloud provision ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)

SlaveTemplate{ami='ami-028d96c69234f9d1a', labels='docker docker-bakery'}
at java . Attempting to provision slave needed by excess workload of 1 units util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

Mar 06, 2020 3
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java : 05:32 PM INFO hudson 624)
at java
. plugins lang . ec2 Thread . SlaveTemplate logProvisionInfo run(Thread.java:748)

SlaveTemplate { ami='ami-028d96c69234f9d1a', labels='docker docker-bakery'}. Considering launching
{
code}
Reply all
Reply to author
Forward
0 new messages