timja / jenkins-gh-issues-poc-06-18

0 stars 0 forks source link

[JENKINS-32509] javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from #7782

Closed timja closed 7 years ago

timja commented 8 years ago

This error has been reported before but closed as resolved. So creating a new ticket.
After upgrading to 1.643 version of Jenkins and upgrading all plugins to latest, am not able to configure the slave nodes. Any configuration save throws the following error:
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"name":"node007","nodeDescription":"","numExecutors":"8","remoteFS":"/u01/jenkins","labelString":"","mode":"EXCLUSIVE","":["hudson.slaves.JNLPLauncher","hudson.slaves.RetentionStrategy$Always"],"launcher":

{"stapler-class":"hudson.slaves.JNLPLauncher","$class":"hudson.slaves.JNLPLauncher","tunnel":"","vmargs":""}

,"retentionStrategy":

{"stapler-class":"hudson.slaves.RetentionStrategy$Always","$class":"hudson.slaves.RetentionStrategy$Always"}

,"nodeProperties":{"stapler-class-bag":"true","hudson-slaves-EnvironmentVariablesNodeProperty":{"env":{"key":"ANT_HOME","value":"/u01/apache-ant-1.9.1"}},"hudson-tools-ToolLocationNodeProperty":{"locations":[

{"key":"hudson.tasks.Ant$AntInstallation$DescriptorImpl@apache-ant-1.9.1","home":"/u01/apache-ant-1.9.1"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.6","home":"/usr/java/jdk1.6.0_45"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.7","home":"/usr/java/jdk1.7.0_67"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.8","home":"/usr/java/jdk1.8.0_11"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.3","home":"/u01/apache-maven-3.0.3"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.5","home":"/u01/apache-maven-3.0.5"}

]}}}
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:211)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
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:745)
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"name":"node007","nodeDescription":"","numExecutors":"8","remoteFS":"/u01/jenkins","labelString":"","mode":"EXCLUSIVE","":["hudson.slaves.JNLPLauncher","hudson.slaves.RetentionStrategy$Always"],"launcher":

{"stapler-class":"hudson.slaves.JNLPLauncher","$class":"hudson.slaves.JNLPLauncher","tunnel":"","vmargs":""}

,"retentionStrategy":

{"stapler-class":"hudson.slaves.RetentionStrategy$Always","$class":"hudson.slaves.RetentionStrategy$Always"}

,"nodeProperties":{"stapler-class-bag":"true","hudson-slaves-EnvironmentVariablesNodeProperty":{"env":{"key":"ANT_HOME","value":"/u01/apache-ant-1.9.1"}},"hudson-tools-ToolLocationNodeProperty":{"locations":[

{"key":"hudson.tasks.Ant$AntInstallation$DescriptorImpl@apache-ant-1.9.1","home":"/u01/apache-ant-1.9.1"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.6","home":"/usr/java/jdk1.6.0_45"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.7","home":"/usr/java/jdk1.7.0_67"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.8","home":"/usr/java/jdk1.8.0_11"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.3","home":"/u01/apache-maven-3.0.3"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.5","home":"/u01/apache-maven-3.0.5"}

]}}}
at hudson.model.Descriptor.newInstance(Descriptor.java:600)
at hudson.model.Node.reconfigure(Node.java:495)
at hudson.model.Computer.doConfigSubmit(Computer.java:1394)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
... 67 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.slaves.DumbSlave from {"name":"node007","nodeDescription":"","numExecutors":"8","remoteFS":"/u01/jenkins","labelString":"","mode":"EXCLUSIVE","":["hudson.slaves.JNLPLauncher","hudson.slaves.RetentionStrategy$Always"],"launcher":

{"stapler-class":"hudson.slaves.JNLPLauncher","$class":"hudson.slaves.JNLPLauncher","tunnel":"","vmargs":""}

,"retentionStrategy":

{"stapler-class":"hudson.slaves.RetentionStrategy$Always","$class":"hudson.slaves.RetentionStrategy$Always"}

,"nodeProperties":{"stapler-class-bag":"true","hudson-slaves-EnvironmentVariablesNodeProperty":{"env":{"key":"ANT_HOME","value":"/u01/apache-ant-1.9.1"}},"hudson-tools-ToolLocationNodeProperty":{"locations":[

{"key":"hudson.tasks.Ant$AntInstallation$DescriptorImpl@apache-ant-1.9.1","home":"/u01/apache-ant-1.9.1"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.6","home":"/usr/java/jdk1.6.0_45"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.7","home":"/usr/java/jdk1.7.0_67"}

,

{"key":"hudson.model.JDK$DescriptorImpl@Java 1.8","home":"/usr/java/jdk1.8.0_11"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.3","home":"/u01/apache-maven-3.0.3"}

,

{"key":"hudson.tasks.Maven$MavenInstallation$DescriptorImpl@apache-maven-3.0.5","home":"/u01/apache-maven-3.0.5"}

]}}}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
at hudson.model.Descriptor.newInstance(Descriptor.java:588)
... 81 more
Caused by: java.lang.IllegalArgumentException: java.io.IOException: Failed to create a temporary file in /var/lib/jenkins/nodes/node007
at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:466)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:703)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:600)
... 84 more
Caused by: java.io.IOException: Failed to create a temporary file in /var/lib/jenkins/nodes/tapljs207
at hudson.util.AtomicFileWriter.(AtomicFileWriter.java:68)
at hudson.util.AtomicFileWriter.(AtomicFileWriter.java:55)
at hudson.XmlFile.write(XmlFile.java:175)
at jenkins.model.Nodes.save(Nodes.java:245)
at hudson.util.PersistedList.onModified(PersistedList.java:173)
at hudson.util.PersistedList.replaceBy(PersistedList.java:85)
at hudson.model.Slave.(Slave.java:172)
at hudson.model.Slave.(Slave.java:148)
at hudson.slaves.DumbSlave.(DumbSlave.java:54)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:451)
... 87 more
Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1989)
at hudson.util.AtomicFileWriter.(AtomicFileWriter.java:66)
... 100 more


Originally reported by jenkins911, imported from: javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from
  • status: Resolved
  • priority: Blocker
  • resolution: Not A Defect
  • resolved: 2017-03-29T08:23:17+00:00
  • imported: 2022/01/10
timja commented 8 years ago

jenkins911:

Can someone look into this issue please? Am totally blocked from adding a slave node.

timja commented 8 years ago

jazze:

I have the same problem in Jenkins 1.642.3.

I cannot save changes to existing slave configs or add new slave nodes.

Restarting Jenkins temporarily corrects the problem.

I notice that the Oops! page returned on configSubmit has the "log in" link, even though I was already logged in when I clicked save. Logging in from this page returns:

POST is required for hudson.model.Computer.doConfigSubmit
Try POSTing

Clicking the Try POSTing button gives

HTTP ERROR 400

Problem accessing /computer/castor/configSubmit. Reason:

    Nothing is submitted

I have also noticed that the config.xml file's date stamp for the node changes in the filesystem, but the contents of the file remains unchanged.

timja commented 8 years ago

jazze:

Here is my stack trace.

Stack trace

javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"name":"cent72-pA04","nodeDescription":"CentOS 7.2 Production Test Type A no.4 | 192.168.116.182","numExecutors":"1","remoteFS":"/usr/local/hudson","labelString":"newbatch 8GB CENT72 lebanon lin64 NP6 OS_CENT72 parallelTest test valgrind-3.10.0 zip3.0 pants","mode":"NORMAL","":["hudson.plugins.sshslaves.SSHLauncher","hudson.slaves.RetentionStrategy$Demand"],"launcher":{"stapler-class":"hudson.plugins.sshslaves.SSHLauncher","$class":"hudson.plugins.sshslaves.SSHLauncher","host":"cent72-pA04","credentialsId":"96fa62e4-aaa1-4032-9658-a60d99bed9e9","port":"22","javaPath":"","jvmOptions":"","prefixStartSlaveCmd":"","suffixStartSlaveCmd":"","launchTimeoutSeconds":"","maxNumRetries":"0","retryWaitTime":"0"},"retentionStrategy":{"stapler-class":"hudson.slaves.RetentionStrategy$Demand","$class":"hudson.slaves.RetentionStrategy$Demand","inDemandDelay":"1","idleDelay":"10"},"nodeProperties":{"stapler-class-bag":"true"}}
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
    at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
    at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:211)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
    at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
    at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    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)
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"name":"cent72-pA04","nodeDescription":"CentOS 7.2 Production Test Type A no.4 | 192.168.116.182","numExecutors":"1","remoteFS":"/usr/local/hudson","labelString":"newbatch 8GB CENT72 lebanon lin64 NP6 OS_CENT72 parallelTest test valgrind-3.10.0 zip3.0 pants","mode":"NORMAL","":["hudson.plugins.sshslaves.SSHLauncher","hudson.slaves.RetentionStrategy$Demand"],"launcher":{"stapler-class":"hudson.plugins.sshslaves.SSHLauncher","$class":"hudson.plugins.sshslaves.SSHLauncher","host":"cent72-pA04","credentialsId":"96fa62e4-aaa1-4032-9658-a60d99bed9e9","port":"22","javaPath":"","jvmOptions":"","prefixStartSlaveCmd":"","suffixStartSlaveCmd":"","launchTimeoutSeconds":"","maxNumRetries":"0","retryWaitTime":"0"},"retentionStrategy":{"stapler-class":"hudson.slaves.RetentionStrategy$Demand","$class":"hudson.slaves.RetentionStrategy$Demand","inDemandDelay":"1","idleDelay":"10"},"nodeProperties":{"stapler-class-bag":"true"}}
    at hudson.model.Descriptor.newInstance(Descriptor.java:600)
    at hudson.model.Node.reconfigure(Node.java:495)
    at hudson.model.Computer.doConfigSubmit(Computer.java:1401)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
    at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
    at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
    ... 68 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.model.Node#temporaryOfflineCause for class hudson.slaves.DumbSlave
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:215)
    at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:183)
    at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
    at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:168)
    at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:109)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
    at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
    at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
    at com.thoughtworks.xstream.XStream.marshal(XStream.java:1026)
    at com.thoughtworks.xstream.XStream.marshal(XStream.java:1015)
    at com.thoughtworks.xstream.XStream.toXML(XStream.java:988)
    at hudson.XmlFile.write(XmlFile.java:178)
    at jenkins.model.Nodes.save(Nodes.java:245)
    at hudson.util.PersistedList.onModified(PersistedList.java:173)
    at hudson.util.PersistedList.replaceBy(PersistedList.java:85)
    at hudson.model.Slave.(Slave.java:172)
    at hudson.model.Slave.(Slave.java:148)
    at hudson.slaves.DumbSlave.(DumbSlave.java:54)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:451)
    at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:703)
    at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:600)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
    at hudson.model.Descriptor.newInstance(Descriptor.java:588)
    ... 82 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.slaves.OfflineCause$SimpleOfflineCause#description for class hudson.slaves.OfflineCause$SimpleOfflineCause
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:215)
    at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:183)
    at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
    at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:168)
    at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:109)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
    at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:224)
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:211)
    ... 112 more
Caused by: java.lang.RuntimeException: Failed to serialize OfflineMessage#message for class OfflineMessage
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:215)
    at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:183)
    at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
    at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:168)
    at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:109)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
    at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:224)
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:211)
    ... 121 more
Caused by: java.lang.UnsupportedOperationException: Refusing to marshal org.codehaus.groovy.runtime.GStringImpl for security reasons
    at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:443)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
    at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
    at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:224)
    at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:211)
    ... 130 more
timja commented 8 years ago

jazze:

We discovered the cause of our inability to save slave configurations. It may provide a clue for jenkins911.

We had a job that would reboot slaves after long test runs. This job contained some groovy code that marked a slave offline or online and updated the offline reason. This script worked well with Jenkins 1.466.2, but for 1.642.3 the groovy code was updating the slave's configuration in memory and, presumably due to some changes in the schema between the old and new Jenkins versions, setting some value which prevented the serialization. We fixed our script to play nice with the API changes, and the problem is gone.

The original reporter for this issue wasn't having the serialization problem.

I notice that their stack trace contains "Failed to create a temporary file in /var/lib/jenkins/nodes/node007". That smells like a permissions problem.

timja commented 8 years ago

oleg_nenashev:

So the issues is "java.lang.UnsupportedOperationException: Refusing to marshal org.codehaus.groovy.runtime.GStringImpl for security reasons"

timja commented 8 years ago

oleg_nenashev:

Maybe it's related to https://issues.apache.org/jira/browse/GROOVY-1689 in Groovy forms

timja commented 7 years ago

oleg_nenashev:

Also the following issue in the original report

Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
timja commented 7 years ago

oleg_nenashev:

jazze If the issue still happens, please create a separate bug. Closing this one as Not a Defect since "Permissions denied" messages are caused by the system config