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

Gerrit Trigger Plugin is affected by JEP-200 in Jenkins 2.102+

      The issue has been originally reported in IRC, but I confirmed it by running Plugin compatibility Tester

      One of the issues:

      SEVERE: Failed to save build record
      java.io.IOException: java.lang.RuntimeException: Failed to serialize hudson.model.Actionable#actions for class hudson.model.FreeStyleBuild
      	at hudson.XmlFile.write(XmlFile.java:201)
      	at hudson.model.Run.save(Run.java:1923)
      	at hudson.model.Run.execute(Run.java:1784)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:429)
      Caused by: java.lang.RuntimeException: Failed to serialize hudson.model.Actionable#actions for class hudson.model.FreeStyleBuild
      	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:194)
      	... 5 more
      Caused by: java.lang.RuntimeException: Failed to serialize hudson.model.CauseAction#causeBag for class hudson.model.CauseAction
      	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 hudson.util.XStream2$PassthruConverter.marshal(XStream2.java:478)
      	at hudson.util.XStream2$AssociatedConverterImpl.marshal(XStream2.java:448)
      	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 com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)
      	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)
      	... 18 more
      Caused by: java.lang.RuntimeException: Failed to serialize com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritCause#tEvent for class com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritCause
      	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 com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:78)
      	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)
      	... 35 more
      Caused by: java.lang.UnsupportedOperationException: Refusing to marshal com.sonymobile.tools.gerrit.gerritevents.dto.events.PatchsetCreated for security reasons; see https://jenkins.io/redirect/class-filter/
      	at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:530)
      	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)
      	... 50 more
      

      You can find more guidelines for plugin developers in this blogpost: https://jenkins.io/blog/2018/01/13/jep-200/#for-plugin-developers. Please let us know if you need any additional info or reviews regarding this issue.

          [JENKINS-48943] Gerrit Trigger Plugin is affected by JEP-200 in Jenkins 2.102+

          Oleg Nenashev added a comment - - edited

          We agreed that rsandell will add a manifest entry to ps://github.com/sonyxperiadev/gerrit-events. The I will test it and confirm whether there are other issue

          Oleg Nenashev added a comment - - edited We agreed that rsandell will add a manifest entry to ps://github.com/sonyxperiadev/gerrit-events. The I will test it and confirm whether there are other issue

          Code changed in jenkins
          User: rsandell
          Path:
          pom.xml
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/93a771948044fab506b5666ad6778b9636cd9f2c
          Log:
          JENKINS-48943 Whitelist gerrit-events for Jenkins 2.102+

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: rsandell Path: pom.xml http://jenkins-ci.org/commit/gerrit-trigger-plugin/93a771948044fab506b5666ad6778b9636cd9f2c Log: JENKINS-48943 Whitelist gerrit-events for Jenkins 2.102+

          Oleg Nenashev added a comment -

          Thanks rsandell! Currently I am verifying the fix

          Oleg Nenashev added a comment - Thanks rsandell ! Currently I am verifying the fix

          Oleg Nenashev added a comment -

          The fix is not complete.

          Caused by: java.lang.UnsupportedOperationException: Refusing to marshal java.util.Collections$SynchronizedRandomAccessList for security reasons; see https://jenkins.io/redirect/class-filter/
          	at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:530)
          	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)
          	... 22 more
          

          Will apply the same fix as in BFA

          Oleg Nenashev added a comment - The fix is not complete. Caused by: java.lang.UnsupportedOperationException: Refusing to marshal java.util.Collections$SynchronizedRandomAccessList for security reasons; see https://jenkins.io/redirect/class-filter/ at hudson.util.XStream2$BlacklistedTypesConverter.marshal(XStream2.java:530) 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) ... 22 more Will apply the same fix as in BFA

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - I have attached the PCT report BEFORE https://github.com/jenkinsci/gerrit-trigger-plugin/pull/343

          Oleg Nenashev added a comment -

          Deployed 2.27.2-20180115.173211-1 with full fix, will test on BFA

          Oleg Nenashev added a comment - Deployed 2.27.2-20180115.173211-1 with full fix, will test on BFA

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          src/main/resources/META-INF/hudson.remoting.ClassFilter
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/d315a3dd6917d4a21161d8dc1b4a472ebb67bba9
          Log:
          JENKINS-48943 - Whitelist java.util.Collections entries required by the plugin

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: src/main/resources/META-INF/hudson.remoting.ClassFilter http://jenkins-ci.org/commit/gerrit-trigger-plugin/d315a3dd6917d4a21161d8dc1b4a472ebb67bba9 Log: JENKINS-48943 - Whitelist java.util.Collections entries required by the plugin

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          Jenkinsfile
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/2f1ed6bb5ba20ab81d284059e28fad44a7b3844c
          Log:
          JENKINS-48943 - Fix typo in the Jenkinsfile

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: Jenkinsfile http://jenkins-ci.org/commit/gerrit-trigger-plugin/2f1ed6bb5ba20ab81d284059e28fad44a7b3844c Log: JENKINS-48943 - Fix typo in the Jenkinsfile

          Code changed in jenkins
          User: Robert Sandell
          Path:
          Jenkinsfile
          src/main/resources/META-INF/hudson.remoting.ClassFilter
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/f4616723ba3e21efd1d0e54b1ab74e25ad7adaef
          Log:
          Merge pull request #343 from oleg-nenashev/bug/JENKINS-48943-jep-200

          JENKINS-48943 - Whitelist java.util.Collections entries required by the plugin

          Compare: https://github.com/jenkinsci/gerrit-trigger-plugin/compare/93a771948044...f4616723ba3e

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Robert Sandell Path: Jenkinsfile src/main/resources/META-INF/hudson.remoting.ClassFilter http://jenkins-ci.org/commit/gerrit-trigger-plugin/f4616723ba3e21efd1d0e54b1ab74e25ad7adaef Log: Merge pull request #343 from oleg-nenashev/bug/ JENKINS-48943 -jep-200 JENKINS-48943 - Whitelist java.util.Collections entries required by the plugin Compare: https://github.com/jenkinsci/gerrit-trigger-plugin/compare/93a771948044...f4616723ba3e

          Oleg Nenashev added a comment -

          The fix has been released in 2.72.2

          Oleg Nenashev added a comment - The fix has been released in 2.72.2

            oleg_nenashev Oleg Nenashev
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: