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

CloudShell Sandbox Plugin not compatible with JEP-200

XMLWordPrintable

      The Global Configuration fails to persists. In the Jenkins logs, we see the following stacktrace:

      2019-01-14 18:37:40.491+0000 [id=1812009]	WARNING	hudson.model.Descriptor#save: Failed to save /var/lib/jenkins/org.jenkinsci.plugins.cloudshell.CloudShellConfig.xml
      java.lang.UnsupportedOperationException: Refusing to marshal com.quali.cloudshell.QsServerDetails for security reasons; see https://jenkins.io/redirect/class-filter/
      	at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:546)
      	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:265)
      	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:252)
      Caused: java.lang.RuntimeException: Failed to serialize org.jenkinsci.plugins.cloudshell.CloudShellConfig$DescriptorImpl#server for class org.jenkinsci.plugins.cloudshell.CloudShellConfig$DescriptorImpl
      	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:256)
      	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:224)
      	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
      	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:209)
      	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:150)
      	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:193)
      Caused: java.io.IOException
      	at hudson.XmlFile.write(XmlFile.java:200)
      	at hudson.model.Descriptor.save(Descriptor.java:873)
      	at org.jenkinsci.plugins.cloudshell.CloudShellConfig$DescriptorImpl.configure(CloudShellConfig.java:161)
      	at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3734)
      	at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3698)
      [...]
      

      So upon restart the configuration is lost.

      This is related to JEP-200:

            tomeradmon Tomer Admon
            allan_burdajewicz Allan BURDAJEWICZ
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: