-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
Jenkins 2.64
SSH Slaves plugin 1.20
-
Powered by SuggestiMate
I see multiple Trilead warnings at startup in the Jenkins system log like this one:
Jun 14, 2017 3:11:49 PM INFO hudson.slaves.SlaveComputer tryReconnect Attempting to reconnect znsim13 Jun 14, 2017 3:11:49 PM WARNING hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager getTrileadSupport Could not create Trilead support class. Using legacy Trilead features java.lang.ClassNotFoundException: hudson.plugins.sshslaves.verifiers.JenkinsTrilead9VersionSupport at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560) at java.lang.ClassLoader.loadClass(Unknown Source) at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.createVersion9Instance(TrileadVersionSupportManager.java:52) at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.getTrileadSupport(TrileadVersionSupportManager.java:32) at hudson.plugins.sshslaves.verifiers.SshHostKeyVerificationStrategy.getPreferredKeyAlgorithms(SshHostKeyVerificationStrategy.java:68) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:796) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:792) 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 java.lang.Thread.run(Unknown Source)
[JENKINS-44893] Could not create Trilead support class
Seeing it too ...
WARNING: Could not create Trilead support class. Using legacy Trilead features
java.lang.ClassNotFoundException: hudson.plugins.sshslaves.verifiers.JenkinsTrilead9VersionSupport
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
Jenkins 2.6.7 and ssh plugin 1.20
I've just seen this too with ssh-slaves 1.20 and Jenkins 2.60.1.
I downgraded to ssh-slaves 1.17 and it was still happening.
Downgraded to Jenkins 2.46.2 and it worked!
mc1arke could you chime in here? Should the LTS and latest ssh-slaves-plugin be working at this point? Or does more of JENKINS-43610 need to land first?
This looks like it's just classes not having been loaded yet, so is just unnecessary noise. I'll have a look at the Jenkins package tonight to check the classloading order for Trilead as the warning is surprising, although not an issue.
There is no dependency on JENKINS-43610 here.
disclaimer: I have no idea what the real issue is here. BUT in my case, I had to upgrade my linux slaves to Java 8. I'm guessing in my case this error was as red-herring or unrelated to the Java version issue. I'm posting this here in case someone else searching this error finds this and has a similar problem.
remove jdk dir with old java 7, and add oracle account fix my problem
Is there a way to avoid this very annoying and recurring log WARNING?
We do not use Oracle Java.
java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
I'm seeing the same error with `java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64`.
Same error with jenkins 2.60.3 and ssh plugin 1.21, Oracle jdk 8u144
java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
mc1arke I've created a PR https://github.com/jenkinsci/ssh-slaves-plugin/pull/68, this should fix the problem.
Tested with jenkins 2.60.3.
New node the same error, with jenkins 2.60.3 and ssh plugin 1.21:
Warning: no key algorithms provided; JENKINS-42959 disabled [08/24/17 01:14:23] [SSH] Opening SSH connection to <removed host name> :22. <removed host name> java.io.IOException: There was a problem while connecting to xdocker1.sigma-it.local :22 at com.trilead.ssh2.Connection.connect(Connection.java:834) at com.trilead.ssh2.Connection.connect(Connection.java:703) at com.trilead.ssh2.Connection.connect(Connection.java:617) at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1284) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:804) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:793) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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 by: java.net.UnknownHostException: xdocker1.sigma-it.local at java.net.InetAddress.getAllByName0(InetAddress.java:1280) at java.net.InetAddress.getAllByName(InetAddress.java:1192) at java.net.InetAddress.getAllByName(InetAddress.java:1126) at java.net.InetAddress.getByName(InetAddress.java:1076) at com.trilead.ssh2.transport.TransportManager.createInetAddress(TransportManager.java:166) at com.trilead.ssh2.transport.TransportManager.establishConnection(TransportManager.java:366) at com.trilead.ssh2.transport.TransportManager.initialize(TransportManager.java:480) at com.trilead.ssh2.Connection.connect(Connection.java:774) ... 9 more [08/24/17 01:14:23] Launch failed - cleaning up connection [08/24/17 01:14:23] [SSH] Connection closed.
Fix problem by change hostname to IP, but on master nslookup work perfect.
burtsevyg WDYM "same error"? That is a completely different error than originally reported here. How is that related?
Is there an actual effect other than a logged error to this issue? I see multiple votes against 2.60.3 in the changelog ("so bad I had to roll back"), but from reading the comments here, this should just be a false positive error message?
got the same issue. slave not running. the logs show:
Aug 28, 2017 12:34:36 PM INFO com.nirima.jenkins.plugins.docker.DockerCloud provision
Will provision 'evarga/jenkins-slave', for label: 'ubuntu_node', in cloud: 'Jenkins-Docker'
Aug 28, 2017 12:34:36 PM WARNING hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager getTrileadSupport
Could not create Trilead support class. Using legacy Trilead features java.lang.ClassNotFoundException: hudson.plugins.sshslaves.verifiers.JenkinsTrilead9VersionSupport at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.createVersion9Instance(TrileadVersionSupportManager.java:51) at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.getTrileadSupport(TrileadVersionSupportManager.java:32) at hudson.plugins.sshslaves.verifiers.SshHostKeyVerificationStrategy.getPreferredKeyAlgorithms(SshHostKeyVerificationStrategy.java:68) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:797) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:793) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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)
Jenkins: 2.76
SSH Slaves plugin 1.21
what's wrong?
danielbeck wrote:
Is there an actual effect other than a logged error to this issue? I see multiple votes against 2.60.3 in the changelog ("so bad I had to roll back"), but from reading the comments here, this should just be a false positive error message?
I experience no actual effect, other than a messy system log. Would be nice if the message did not appear in the log.
tomer_cohen you're seeing a warning about using old Trilead features (so older Cipher suites), but this shouldn't stop any interaction with the slave. Do the SSHD (or equivalent SSH hosting service) logs on the slave show any connection failures?
Thanks for the quick reply.
i am able to remote connect with SSH to the docker container from the jenkins machine from bash.
i can't find any logs. where should i look for them?
i'm starting to think i have a bad java / jenkins version... ?
openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-b16)
OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)
before the exception in the log everything seems ok, jenkins is opening the right ssh connection with the right port, it never confirms it connected successfully. and then it retries to spin up a container only to be blocked by my configuration limiting the containers to 1 on the cloud configuration.
then it times out after 10 minutes or something and the container is stopped, then it retries and the container spins up again and the same error occurs.
Container Id | Image | Command | Created | Status | Ports | - |
679cc48572e2bf32a75e385e6b804d09d5478cc35fe4de05b05032c3526a6f08 | jenkins-2 | bash -c '/usr/sbin/sshd -D -p 22' | Sat Aug 12 02:14:03 UTC 2017 | Up 6 minutes | com.github.dockerjava.api.model.ContainerPort@342e7277[ip=0.0.0.0,privatePort=22,publicPort=32947,type=tcp] |
ok, it seems like the error really didn't have anything to do with the fact that the node/slave wasn't created.
i recreated everything from scratch, installed the latest Jenkins version and all the plugins and recreated the credentials for everything, now it works. the error is still there but the docker container is spanned up and the job runs on it.
Thanks.
I'm seeing the same thing on a jenkins instance recently upgraded to 2.60.3. Still testing but not sure this has any impact beyond the logfile message.
WMF upgraded to jenkins 2.73.1 today and are getting this warning
WARNING: [hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager getTrileadSupport]
Could not create Trilead support class. Using legacy Trilead features
wondering could someone help us please?
paladox Help how? A previous comment indicates nothing is actually broken, there's just a warning. Are you observing problems directly related to trilead?
Yep we are only getting the warning, but we shouldn't if we are using the latest jenkins lts release with the updated trilead and ssh slaves plugin. Im just wondering why are we getting the warning?
It seems it works with hmac 256 but for some reason we got this warnning
WARNING: [hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager getTrileadSupport]
Could not create Trilead support class. Using legacy Trilead features
even though it works.
I am running Jenkins 2.85 and getting this warning for many slaves. But Jenkins is working fine. Can this warning be disabled if there is genuinely nothing to worry about? It does make the system log noisy.
Same problem for me, Jenkins 2.85 and SSH slaves 1.22. This message is annoying because it pollutes the logs and makes trouble shoting harder because you don't know if this is the source of your problem or not.
I've several agents that work Ok except one of them (an ARM slave) that was working well in Jenkins 1.5 but fails now with Jenkins 2.85.
Anybody knows what is the issue behind this missing class and what are the consequences ?
What should be do to install the missing Java class ?
Any configuration issue ? Missing jar somewhere ? Missing plugin ?
ciceron It's class loading issue. The class hudson.plugins.sshslaves.verifiers.JenkinsTrilead9VersionSupport is being loaded with wrong classloader, causing ClassNotFoundException.
JenkinsTrilead9VersionSupport supports some new Mac, Key, and Key Exchange Algorithms with updated Trilead SSH library bundled in Jenkins since 2.58. see https://issues.jenkins-ci.org/browse/JENKINS-26379
Basically the warning can be ignored.
mc1arke, danielbeck, I'd personally prefer to change the type of this issue from `New Feature` to `Bug`. How do you think?
Seems reasonable. 'New Feature' is just how this was created by davida2009. But I don't see what you think will change, it's not exactly an exclusive club this issue will join
In my case, the slaves get disconnected from the master and I have to connect them again. This is an annoyance. I see below error in logs -
Oct 30, 2017 1:30:10 AM hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager getTrileadSupport
WARNING: Could not create Trilead support class. Using legacy Trilead features
java.lang.ClassNotFoundException: hudson.plugins.sshslaves.verifiers.JenkinsTrilead9VersionSupport
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:450)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.createVersion9Instance(TrileadVersionSupportManager.java:51)
at hudson.plugins.sshslaves.verifiers.TrileadVersionSupportManager.getTrileadSupport(TrileadVersionSupportManager.java:32)
at hudson.plugins.sshslaves.verifiers.SshHostKeyVerificationStrategy.getPreferredKeyAlgorithms(SshHostKeyVerificationStrategy.java:68)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:797)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:793)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Version for plugin, jenkins and java are as below:
Jenkins version - 2.60.3
SSH Plugin - 1.22
Java version on master -
java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Java version on slaves -
java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
I have the same problem, is any solution going to be implemented?
Jenkins version: 2.73.1
SSH Slaves: 1.22
Thanks
.
francisca_aguayo There's an ongoing PR https://github.com/jenkinsci/ssh-slaves-plugin/pull/68
Code changed in jenkins
User: Zhenlei Huang
Path:
src/main/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManager.java
src/test/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManagerTest.java
http://jenkins-ci.org/commit/ssh-slaves-plugin/c22d748d790172a57ae8e9b4fe86c0bcc122c36b
Log:
JENKINS-44893 Fix Trilead support class instantiation
Code changed in jenkins
User: Zhenlei Huang
Path:
src/main/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManager.java
src/test/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManagerTest.java
http://jenkins-ci.org/commit/ssh-slaves-plugin/41f77edbf5169ce090f8d1b7efc12a11b4ca8321
Log:
JENKINS-44893 Handle LinkageError
Code changed in jenkins
User: Zhenlei Huang
Path:
src/test/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManagerTest.java
http://jenkins-ci.org/commit/ssh-slaves-plugin/3f4005639222399ae95fb9c6cff1853d8e6c42a3
Log:
JENKINS-44893 Link tests with issues
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManager.java
src/test/java/hudson/plugins/sshslaves/verifiers/TrileadVersionSupportManagerTest.java
http://jenkins-ci.org/commit/ssh-slaves-plugin/01804ebad16a8c0bd6ffe78891d3c019c6f64f84
Log:
Merge pull request #68 from gmshake/JENKINS-44893
JENKINS-44893 Fix Trilead support class instantiation
Compare: https://github.com/jenkinsci/ssh-slaves-plugin/compare/a33cfddc8260...01804ebad16a
Hi,
In Jenkins that version of the plugin does not appear yet, as soon as it appears I will try not to leave the message.
Thanks.
Marking as Resolved for now. If it still happens somehow, please reopen the ticket
I am getting the same logs with Jenkins 2.67 and ssh plugin 1.20