Jenkins agent terminated soon after connection with master node with error Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "hudson.util.RingBufferLogHandler.defaultSize" "read")

Hi Team

This is my second post idk why my first post with similar problem has been hidden by bot :frowning:

I am new to jenkins and currently stuck with a problem can any one help me here

Here is the background info of my problem:

Master node is based on linux
which has two agent node Test1 and Test2
On both agent i ran my automation tests on monday this week I updated the jenkins version to the latest one after the update one of my agent machine went offline , when I went into agent machine via remote desktop and run jnlp file agent got connected but the immediately terminated and keep terminated since two days after initially connected.
I looked into the logs and following is the log message

current version of Open jdk is 1.8.0.312
current jenkins version is 2.318
Okt 26, 2021 9:53:03 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFORMATION: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
Okt 26, 2021 9:53:03 AM org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader run
INFORMATION: Waiting for ProtocolStack to start.
Okt 26, 2021 9:53:08 AM hudson.remoting.UserRequest perform
WARNUNG: LinkageError while performing UserRequest:hudson.slaves.SlaveComputer$SlaveInitializer@6cfcc55d
java.lang.ExceptionInInitializerError
at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:1042)
at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:1033)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:376)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:122)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (“java.util.PropertyPermission” “hudson.util.RingBufferLogHandler.defaultSize” “read”)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at java.lang.Integer.getInteger(Unknown Source)
at java.lang.Integer.getInteger(Unknown Source)
at hudson.util.RingBufferLogHandler.(RingBufferLogHandler.java:39)
… 11 more

it was considered spam, discourse by default has pretty agressive rules for a persons first post to prevent bots.

Googleing for this, (and fixing the WARNUNG typo) has lead me to [JENKINS-61103] LinkageError on agent following RemotingSystemException(InterruptedException) - Jenkins Jira which seems to say its a jdk bug.

After that its outside my skills sets. My gut says that your agent isn’t running java 8 even though you say your 1.8.0.312

Thanks for you reply
my agent is using java 8 for
openjdk version 1.8.0_312

i just check via cmd and then java -version

If you’re unlucky the environment in CI is using different PATH settings etc. than in your interactive shell.
You might want to have your slave startup script to spit out the java version it sees (in case your using a startup-method allowing this)

Also note that in my understanding the recommended JDK version for Jenkins is JDK11 (not 8 any more)
(We’re using Adoptium JDK11 (Adoptium - Open source, prebuilt OpenJDK binaries) on RH machines successfully)
Good luck
Martin

Thank you for your reply , as i am new to this stuff i would try do following

Update java 8 to java 11 on both master and both agents machine

any other to do for me as suggestion or after updating it will start working as expected

Thanks and regards

Are you running Jenkins inside Tomcat or something? You seem to have a SecurityManager configured, which is not supported. More likely about Jenkins was installed, rather than Java version.

no I am not running jenkins inside any thing
from where should i get the more info in this , I just updated my agents to JDK 11 but still having result agent terminated again and again with same error log.

For all those who gonna search this issue in future i would like to share some inside info which i got during the workaround
The issue does not lies within JDK or Master agent Configuration

I was initially using Java Web Start launcher to launch jnlp file and then shifted to OpenWebStart which was actually prompting the error.
In future if any one get to handle with this error then try to launch the agent via using agent.jar file directly from the cmd

or write a powershell script to execute agent.jar via cmd and please do not change jdk versions or anyting on master or on agent

Thanks