Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-17058

Publish over SSH plugin XML configuration cannot be read on jenkins start up.

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      The XML configuration for the publish over ssh plugin fails to load in the current (1.504) version of jenkins and the plugin (1.10). On my system, the file is located at: /var/lib/jenkins/jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml.

      It seems to be an issue with xstream conversion. Here's the relevant bit of the stack trace (full trace is at the bottom).

      Caused by: com.thoughtworks.xstream.converters.ConversionException: object is not an instance of declaring class : object is not an instance of declaring class
      ---- Debugging information ----
      message : object is not an instance of declaring class
      cause-exception : java.lang.IllegalArgumentException
      cause-message : object is not an instance of declaring class
      class : jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      required-type : jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      converter-type : hudson.util.RobustReflectionConverter
      path : /jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor/hostConfigurations/jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      line number : 25
      class[1] : hudson.util.CopyOnWriteList
      converter-type[1] : hudson.util.XStream2$AssociatedConverterImpl
      class[2] : jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor
      version : null
      -------------------------------

      Jenkins still starts, however the configured ssh hosts do not show up. The configuration element that ends on line 25 is:

      <jenkins.plugins.publish_over_ssh.BapSshHostConfiguration>
      <name>[redacted]</name>
      <hostname>[redacted]</hostname>
      <username>[redacted]</username>
      <secretPassword>[redacted]</secretPassword>
      <remoteRootDir>[redacted]</remoteRootDir>
      <port>22</port>
      <commonConfig class="jenkins.plugins.publish_over_ssh.BapSshCommonConfiguration">
      <secretPassphrase>[redacted]</secretPassphrase>
      <key></key>
      <keyPath>.ssh/id_rsa</keyPath>
      <disableAllExec>false</disableAllExec>
      </commonConfig>
      <timeout>300000</timeout>
      <overrideKey>false</overrideKey>
      <disableExec>false</disableExec>
      <keyInfo>
      <secretPassphrase>[redacted]</secretPassphrase>
      <key></key>
      <keyPath></keyPath>
      </keyInfo>
      </jenkins.plugins.publish_over_ssh.BapSshHostConfiguration>

      The full stack trace:

      WARNING: Failed to load /var/lib/jenkins/jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml
      hudson.util.IOException2: Unable to read /var/lib/jenkins/jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml
      at hudson.XmlFile.unmarshal(XmlFile.java:164)
      at hudson.model.Descriptor.load(Descriptor.java:806)
      at jenkins.plugins.publish_over_ssh.descriptor.BapSshPublisherPluginDescriptor.<init>(BapSshPublisherPluginDescriptor.java:68)
      at jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor.<init>(BapSshPublisherPlugin.java:81)
      at jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor$$FastClassByGuice$$c0ccaf36.newInstance(<generated>)
      at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
      at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
      at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
      at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)
      at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at com.google.inject.Scopes$1$1.get(Scopes.java:59)
      at hudson.ExtensionFinder$GuiceFinder$4$1.get(ExtensionFinder.java:422)
      at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
      at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
      at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
      at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:391)
      at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:382)
      at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
      at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:318)
      at hudson.ExtensionList.load(ExtensionList.java:295)
      at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
      at hudson.ExtensionList.iterator(ExtensionList.java:138)
      at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1171)
      at hudson.plugins.copyartifact.BuildSelectorParameter.initAliases(BuildSelectorParameter.java:100)
      at hudson.plugins.copyartifact.CopyArtifactPlugin.postInitialize(CopyArtifactPlugin.java:35)
      at hudson.PluginManager$2$1$2.run(PluginManager.java:352)
      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:883)
      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: object is not an instance of declaring class : object is not an instance of declaring class
      ---- Debugging information ----
      message : object is not an instance of declaring class
      cause-exception : java.lang.IllegalArgumentException
      cause-message : object is not an instance of declaring class
      class : jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      required-type : jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      converter-type : hudson.util.RobustReflectionConverter
      path : /jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor/hostConfigurations/jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
      line number : 25
      class[1] : hudson.util.CopyOnWriteList
      converter-type[1] : hudson.util.XStream2$AssociatedConverterImpl
      class[2] : jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin$Descriptor
      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 com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
      at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:193)
      at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:172)
      at hudson.util.XStream2$AssociatedConverterImpl.unmarshal(XStream2.java:337)
      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 hudson.XmlFile.unmarshal(XmlFile.java:160)
      ... 37 more
      Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
      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:616)
      at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66)
      at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:223)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
      ... 60 more

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thomasvandoren Thomas Van Doren
              Reporter:
              thomasvandoren Thomas Van Doren
              Votes:
              30 Vote for this issue
              Watchers:
              45 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: