-
Bug
-
Resolution: Won't Fix
-
Major
-
debian, jenkins 1.523, rvm plugin 0.4, rvm 1.17.9
I am using the rvm plugin to use the rvm environment on a slave instance of jenkins. I don't know when and why, but suddenly the config.xml of some jobs changes at the bottom to this:
<buildWrappers> <ruby-proxy-object> <ruby-object ruby-class="Jenkins::Plugin::Proxies::BuildWrapper" pluginid="rvm"> <object ruby-class="RvmWrapper" pluginid="rvm"> <launcher ruby-class="Jenkins::Launcher" pluginid="rvm"> <native ruby-class="Java::Hudson::RemoteLauncher" pluginid="rvm"/> </launcher> <rvm__path pluginid="rvm" ruby-class="String">/usr/local/rvm/scripts/rvm</rvm__path> <impl ruby-class="NilClass" pluginid="rvm"/> </object> <pluginid pluginid="rvm" ruby-class="String">rvm</pluginid> </ruby-object> </ruby-proxy-object> </buildWrappers>
After a restart or reload of the config files jenkins won't load some jobs with the following error:
SEVERE: Failed Loading job my_sweet_job
hudson.util.IOException2: Unable to read /var/lib/jenkins/jobs/my_sweet_job/config.xml
at hudson.XmlFile.read(XmlFile.java:147)
at hudson.model.Items.load(Items.java:220)
at jenkins.model.Jenkins$18.run(Jenkins.java:2553)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:895)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.thoughtworks.xstream.converters.ConversionException: Undefined class: Java::Hudson::RemoteLauncher : Undefined class: Java::Hudson::RemoteLauncher
---- Debugging information ----
message : Undefined class: Java::Hudson::RemoteLauncher
cause-exception : java.lang.IllegalArgumentException
cause-message : Undefined class: Java::Hudson::RemoteLauncher
class : org.jruby.runtime.builtin.IRubyObject
required-type : org.jruby.runtime.builtin.IRubyObject
converter-type : org.jenkinsci.jruby.JRubyXStreamConverter
path : /project/buildWrappers/ruby-proxy-object/ruby-object/object/launcher/native
line number : 128
class[1] : org.jenkinsci.jruby.JRubyMapper$DynamicProxy
converter-type[1] : org.jenkinsci.jruby.JavaProxyConverter
class[2] : hudson.util.DescribableList
converter-type[2] : hudson.util.DescribableList$ConverterImpl
class[3] : hudson.model.FreeStyleProject
converter-type[3] : hudson.util.RobustReflectionConverter
version : null
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at org.jenkinsci.jruby.JRubyXStreamConverter.unmarshal(JRubyXStreamConverter.java:111)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at org.jenkinsci.jruby.JRubyXStreamConverter.unmarshal(JRubyXStreamConverter.java:111)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at org.jenkinsci.jruby.JRubyXStreamConverter.unmarshal(JRubyXStreamConverter.java:111)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at org.jenkinsci.jruby.JavaProxyConverter.unmarshal(JavaProxyConverter.java:60)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:193)
at hudson.util.DescribableList$ConverterImpl.unmarshal(DescribableList.java:263)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:333)
at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:275)
at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:222)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1061)
at hudson.util.XStream2.unmarshal(XStream2.java:109)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1045)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:925)
at hudson.XmlFile.read(XmlFile.java:143)
... 10 more
Caused by: java.lang.IllegalArgumentException: Undefined class: Java::Hudson::RemoteLauncher
at org.jenkinsci.jruby.JRubyXStreamConverter.unmarshal(JRubyXStreamConverter.java:86)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
... 53 more
It work's when I change the config.xml part to...
<buildWrappers> <ruby-proxy-object> <ruby-object ruby-class="Jenkins::Plugin::Proxies::BuildWrapper" pluginid="rvm"> <object ruby-class="RvmWrapper" pluginid="rvm"> <impl ruby-class="NilClass" pluginid="rvm"/> </object> <pluginid pluginid="rvm" ruby-class="String">rvm</pluginid> </ruby-object> </ruby-proxy-object> </buildWrappers>