Open timja opened 12 years ago
same problem here... I was using v1.489 and just upgraded to v1.492. Issue still exists.
Any news about this one ?
I'm using Jenkins 1.498, motorized by Tomcat 7.0.34, using Java 1.6.0-37.
Slaves are controled by SSH and report as 2.20.
Error reported :
Jan 11, 2013 10:45:41 AM hudson.node_monitors.AbstractNodeMonitorDescriptor$Record run
WARNING: Failed to monitor cdf-nexus-ptx for Free Swap Space
java.io.InvalidClassException: hudson.node_monitors.SwapSpaceMonitor$MonitorTask; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 1184166703664094906
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:560)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Seeing a similar error on Windows nodes after updating to Jenkins 1.480.3 LTS release. This did not occur with 1.466.2:
WARNING: Failed to monitor winbuildnode1 for Free Swap Space
java.io.IOException: Remote call on winbuildnode1 failed
at hudson.remoting.Channel.call(Channel.java:681)
at hudson.node_monitors.SwapSpaceMonitor$1.monitor(SwapSpaceMonitor.java:83)
at hudson.node_monitors.SwapSpaceMonitor$1.monitor(SwapSpaceMonitor.java:81)
at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:202)
Caused by: java.lang.UnsatisfiedLinkError: com.sun.jna.Native.malloc(J)J
at com.sun.jna.Native.malloc(Native Method)
at com.sun.jna.Memory.malloc(Memory.java:690)
at com.sun.jna.Memory.
at com.sun.jna.Structure$AutoAllocated.
at com.sun.jna.Structure.autoAllocate(Structure.java:231)
at com.sun.jna.Structure.allocateMemory(Structure.java:302)
at com.sun.jna.Structure.
at com.sun.jna.Structure.
at com.sun.jna.Structure.
at com.sun.jna.Structure.
at org.jvnet.hudson.Windows$MEMORYSTATUSEX.
at org.jvnet.hudson.Windows.monitor(Windows.java:40)
at hudson.node_monitors.SwapSpaceMonitor$MonitorTask.call(SwapSpaceMonitor.java:113)
at hudson.node_monitors.SwapSpaceMonitor$MonitorTask.call(SwapSpaceMonitor.java:99)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Reporters try running with a different slave remote FS root and/or a fresh copy of slave.jar. Looks to me like there is an old cache that has not been cleared. Either that or a buggy version of Java (which?).
I am running on a FC 17 using rpm jenkins-1.513-1.1.noarch and slaves are all local on the computer. Only 1-2 out of the 18 nodes get this issue. Jenkins "node" are named ao1, ao2, ao3.... ao18 it is mostly ao1 and ao10 that get the issue. Current version on java used is:
/usr/bin/java -version
java version "1.7.0_19"
OpenJDK Runtime Environment (fedora-2.3.9.1.fc17-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
Reproducing steps:
Remote FS root is /tmp/. I stopped Jenkins made sure there was not slave.jar in /tmp. Started Jenkins and I got the issue.
For node ao1 I have issues with 2 monitoring values:
Apr 30, 2013 8:13:58 PM hudson.node_monitors.AbstractNodeMonitorDescriptor$Record run
WARNING: Failed to monitor ao1 for Free Swap Space
java.io.InvalidClassException: hudson.node_monitors.SwapSpaceMonitor$MonitorTask; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 1184166703664094906
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Apr 30, 2013 8:13:58 PM hudson.node_monitors.AbstractNodeMonitorDescriptor$Record run
WARNING: Failed to monitor ao1 for Free Temp Space
hudson.util.IOException2: remote file operation failed: /tmp at hudson.remoting.Channel@35f5a0f0:ao1
at hudson.FilePath.act(FilePath.java:900)
at hudson.FilePath.act(FilePath.java:877)
at hudson.node_monitors.TemporarySpaceMonitor$1.getFreeSpace(TemporarySpaceMonitor.java:73)
at hudson.node_monitors.DiskSpaceMonitorDescriptor.monitor(DiskSpaceMonitorDescriptor.java:169)
at hudson.node_monitors.DiskSpaceMonitorDescriptor.monitor(DiskSpaceMonitorDescriptor.java:49)
at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:246)
Caused by: java.io.IOException: Remote call on ao1 failed
at hudson.remoting.Channel.call(Channel.java:681)
at hudson.FilePath.act(FilePath.java:893)
... 5 more
Caused by: java.lang.Error: Failed to deserialize the Callable object.
at hudson.remoting.UserRequest.perform(UserRequest.java:104)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy5.fetch2(Unknown Source)
at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:127)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
at java.lang.Class.getDeclaredMethod(Class.java:1954)
at java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1411)
at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:69)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:481)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:455)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:352)
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:589)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
... 8 more
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at hudson.remoting.Request.call(Request.java:146)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:160)
... 34 more
This is mysterious, as SwapSpaceMonitor$MonitorTask has serialVersionUID=1L since 2008 (or Hudson 1.312). So there's no jar in circulation that does not have the field.
As unlikely as it is, I'm reluctantly suspecting some Java version having a problem. If you see InvalidClassException on SwapSpaceMonitor.MonitorTask please report your Java version of the slave. The slave name in question is reported in the error message.
We are seeing this error after upgrading to LTS 1.509.1 and upgrading all plugins.
Jun 22, 2013 10:56:01 AM hudson.node_monitors.AbstractNodeMonitorDescriptor$Record run
WARNING: Failed to monitor bld-dav-lin-13 for Free Swap Space
java.io.InvalidClassException: hudson.node_monitors.SwapSpaceMonitor$MonitorTask; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 1184166703664094906
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
When I check the java version of that machine, I see
jenkins ~ >>> $ ssh -i /var/lib/jenkins/keys/id_rsa.for.jenkins builder@bld-dav-lin-13 java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
jenkins ~ >>> $
We have Jenkins install a newer JDK for any real jobs, but the default java is the default from RHEL 5.x. Currently this slave is
Red Hat Enterprise Linux Server release 5.9 (Tikanga)
We have a number of build slaves configured this way, but only some are reporting that WARNING.
Hi,
I am running jenkins v.1487 through tomcat7.
I get the error
WARNING: Failed to monitor user at slave for Free Swap Space
java.io.InvalidClassException: hudson.node_monitors.SwapSpaceMonitor$MonitorTask; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 1184166703664094906
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
It seems that this is a bug. I am not familiar enough with jenkins to assess if it can cause great problems, or not.
BR,
David
Originally reported by michaelgang, imported from: InvalidClassException on SwapSpaceMonitor.MonitorTask