-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Amazon Linux
After launching EC2 build agent, on Jenkins server side, under logs/slaves/<agent name>/slave.log, there is an error with stack as below. I noticed this because I want to modify the new agent idle time to debug, and it returns jenkins error (angry butlers)
Here is the stack:
-------------------------------------------------
Communication Protocol: Standard in/out
This is a Unix agent
ERROR: Unexpected error in launching an agent. This is probably a bug in Jenkins
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to EC2 (ec2-xxxxxx) - Build Agent (i-xxxxxxxxxxxxx)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1787)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1003)
at hudson.FilePath.act(FilePath.java:1317)
at org.jenkinsci.plugins.envinject.EnvInjectComputerListener.onOnline(EnvInjectComputerListener.java:144)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:751)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:441)
at hudson.plugins.ec2.ssh.EC2UnixLauncher.launchScript(EC2UnixLauncher.java:284)
at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:48)
at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:297)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
java.lang.reflect.InaccessibleObjectException: Unable to make private native java.lang.reflect.Field[] java.lang.Class.getDeclaredFields0(boolean) accessible: module java.base does not "opens java.lang" to unnamed module @18f91981
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.getModifiers(EnvInjectMasterEnvVarsSetter.java:29)
at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.call(EnvInjectMasterEnvVarsSetter.java:55)
at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.call(EnvInjectMasterEnvVarsSetter.java:19)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:377)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Agent successfully connected and online
- duplicates
-
JENKINS-60891 An illegal reflective access from EnvInject plugin
-
- Open
-
At the end you see the line "Agent successfully connected and online" so the agent is working fineI think.
The problem comes from the envinject plugin and is unrelated to ec2 plugin.
You should try to configure the agent so that is uses the following arguments in the java call (these are arguments for the jvm, not the agent jar)