Branch: refs/heads/develop
  Home:   https://github.com/jenkinsci/google-compute-engine-plugin
  Commit: ae479e1abf3f9f6cb26a67848dba8d67f34fc682
      
https://github.com/jenkinsci/google-compute-engine-plugin/commit/ae479e1abf3f9f6cb26a67848dba8d67f34fc682
  Author: Vincent Latombe <[email protected]>
  Date:   2024-10-18 (Fri, 18 Oct 2024)

  Changed paths:
    M 
src/main/java/com/google/jenkins/plugins/computeengine/ComputeEngineComputerLauncher.java

  Log Message:
  -----------
  If an exception occurs while launching an agent, the underlying connection 
and session should be closed

Observed the following stacktrace when running a controller using JDK17
bytecode level, and having an agent template still configured with a
JDK11. The agent initially connects fine, however as soon as it attempts
to do remote classloading, it fails.

As it occurs while setting up the hudson.remoting.Channel itself, the
listener that is registered during initialization is never called, and
the exception handling block should instead close the underlying
resources.

2024-10-18 02:48:21.686+0000 [id=593]   WARNING 
c.g.j.p.c.ComputeEngineCloud#log: Error:
java.lang.UnsupportedClassVersionError: 
hudson/slaves/SlaveComputer$SlaveVersion has been compiled by a more recent 
version of the Java Runtime (class file version 61.0), this version of the Java 
Runtime only recognizes class file versions up to 55.0
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:878)
        at 
hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:470)
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
gce-cloud-gauntlet3-gaia-jdk11-t4dx04
                at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1923)
                at 
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:384)
                at hudson.remoting.Channel.call(Channel.java:1112)
                at 
hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:663)
                at 
hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:441)
                at PluginClassLoader for 
google-compute-engine//com.google.jenkins.plugins.computeengine.ComputeEngineComputerLauncher.launch(ComputeEngineComputerLauncher.java:303)
                at PluginClassLoader for 
google-compute-engine//com.google.jenkins.plugins.computeengine.ComputeEngineComputerLauncher.launch(ComputeEngineComputerLauncher.java:214)
                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)
                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)
Caused: java.lang.UnsupportedClassVersionError: Failed to load 
hudson.slaves.SlaveComputer$SlaveVersion
        at 
hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:472)
        at 
hudson.remoting.RemoteClassLoader.loadRemoteClass(RemoteClassLoader.java:301)
        at 
hudson.remoting.RemoteClassLoader.loadWithMultiClassLoader(RemoteClassLoader.java:277)
        at 
hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:236)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:398)
        at 
hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:133)
        at 
java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2003)
        at 
java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1870)
        at 
java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2201)
        at 
java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
        at 
java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:489)
        at 
java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:447)
        at hudson.remoting.UserRequest.deserialize(UserRequest.java:312)
        at hudson.remoting.UserRequest.perform(UserRequest.java:196)
        at hudson.remoting.UserRequest.perform(UserRequest.java:50)
        at hudson.remoting.Request$2.run(Request.java:391)
        at 
hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:81)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused: java.io.IOException: Remote call on 
gce-cloud-gauntlet3-gaia-jdk11-t4dx04 failed
        at hudson.remoting.Channel.call(Channel.java:1116)
        at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:663)
        at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:441)
        at PluginClassLoader for 
google-compute-engine//com.google.jenkins.plugins.computeengine.ComputeEngineComputerLauncher.launch(ComputeEngineComputerLauncher.java:303)
        at PluginClassLoader for 
google-compute-engine//com.google.jenkins.plugins.computeengine.ComputeEngineComputerLauncher.launch(ComputeEngineComputerLauncher.java:214)
        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)
        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)


  Commit: c9f7ca9f728a22fc38c36eafecc76192cddc9246
      
https://github.com/jenkinsci/google-compute-engine-plugin/commit/c9f7ca9f728a22fc38c36eafecc76192cddc9246
  Author: Basil Crow <[email protected]>
  Date:   2024-10-18 (Fri, 18 Oct 2024)

  Changed paths:
    M 
src/main/java/com/google/jenkins/plugins/computeengine/ComputeEngineComputerLauncher.java

  Log Message:
  -----------
  Merge pull request #478 from Vlatombe/close-session-on-exception

If an exception occurs while launching an agent, the underlying connection and 
session should be closed


Compare: 
https://github.com/jenkinsci/google-compute-engine-plugin/compare/6fe34066a719...c9f7ca9f728a

To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/google-compute-engine-plugin/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/google-compute-engine-plugin/push/refs/heads/develop/6fe340-c9f7ca%40github.com.

Reply via email to