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

FATAL: java.lang.RuntimeException: Failed to serialize hudson.model.Project#publishers for class hudson.model.FreeStyleProject

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major

      When we are trying to invoke a project which has cucumber plugin in Post-Build, such projects are failing to launch the build showing the error. This is happening in jenkins version 2.107.1.

      However On Jenkins ver. 2.100, the project is executing perfectly.

      Jenkins Versions: 2.107.1

       

      Complete StackTrace:
      Sync complete, took 3515 ms
      FATAL: java.lang.RuntimeException: Failed to serialize hudson.model.Project#publishers for class hudson.model.FreeStyleProject
      java.lang.UnsupportedOperationException: Refusing to marshal java.io.PrintStream for security reasons; see
      https://jenkins.io/redirect/class-filter/
      at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:543)
      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 com.github.cukedoctor.jenkins.CukedoctorPublisher#logger for class com.github.cukedoctor.jenkins.CukedoctorPublisher
      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.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
      at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
      at hudson.util.DescribableList$ConverterImpl.marshal(DescribableList.java:269)
      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 hudson.model.Project#publishers for class hudson.model.FreeStyleProject
      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.AbstractItem.save(AbstractItem.java:483)
      at hudson.model.Job.save(Job.java:196)
      at hudson.model.AbstractProject.save(AbstractProject.java:289)
      at hudson.model.AbstractProject.setCustomWorkspace(AbstractProject.java:2125)
      at com.datalex.jenkins.plugins.nodestalker.wrapper.NodeStalkerBuildWrapper.setUp(NodeStalkerBuildWrapper.java:114)
      at hudson.model.Build$BuildExecution.doRun(Build.java:157)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
      at hudson.model.Run.execute(Run.java:1727)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:429)
       

          [JENKINS-50271] FATAL: java.lang.RuntimeException: Failed to serialize hudson.model.Project#publishers for class hudson.model.FreeStyleProject

          Venugopal Tatavarthi created issue -
          Oleg Nenashev made changes -
          Labels New: JEP-200

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - This is a JEP-200 issue: https://jenkins.io/blog/2018/03/15/jep-200-lts/

          Oleg Nenashev added a comment -

          I'd bet that this is the root cause of the issue: https://github.com/jenkinsci/cucumber-living-documentation-plugin/blob/master/src/main/java/com/github/cukedoctor/jenkins/CukedoctorPublisher.java#L95 . This is a defect in the plugin, the logger should not be serialized to the disk. Should be a quick win

          Regarding Cucumber plugin:

          • Cucumber Plugin is hosted here: https://github.com/melezhik/cucumber-plugin . 5 years since the release, 1300 installations
          • The plugin is based on Ruby Runtime
          • We could reach out to the maintainer to check whether he is interested to handover the plugin to the jenkinsci organization, but in the current state it is not maintenable
          • The plugin is not root cause of the issue anyway

          Oleg Nenashev added a comment - I'd bet that this is the root cause of the issue: https://github.com/jenkinsci/cucumber-living-documentation-plugin/blob/master/src/main/java/com/github/cukedoctor/jenkins/CukedoctorPublisher.java#L95 . This is a defect in the plugin, the logger should not be serialized to the disk. Should be a quick win Regarding Cucumber plugin: Cucumber Plugin is hosted here: https://github.com/melezhik/cucumber-plugin . 5 years since the release, 1300 installations The plugin is based on Ruby Runtime We could reach out to the maintainer to check whether he is interested to handover the plugin to the jenkinsci organization, but in the current state it is not maintenable The plugin is not root cause of the issue anyway
          Oleg Nenashev made changes -
          Assignee Original: Rafael Pestano [ rmpestano ] New: Oleg Nenashev [ oleg_nenashev ]
          Oleg Nenashev made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Oleg Nenashev made changes -
          Component/s Original: cucumber-plugin [ 17532 ]
          Component/s Original: cucumber-reports-plugin [ 17438 ]
          Oleg Nenashev made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - I have created https://github.com/jenkinsci/cucumber-living-documentation-plugin/pull/21 with a hotfix
          Oleg Nenashev made changes -
          Remote Link New: This issue links to "https://github.com/jenkinsci/cucumber-living-documentation-plugin/pull/21 (Web Link)" [ 20285 ]

            oleg_nenashev Oleg Nenashev
            tatavarthi Venugopal Tatavarthi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: