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

Sonar Quality Gates run fails after upgrade to Jenkins 2.102/2.103

      After upgrading to Jenkins 2.103 the Sonar Quality Gates analysis fails due to:

      Caused by: java.lang.UnsupportedOperationException: Refusing to marshal org.apache.http.client.protocol.HttpClientContext 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)

       

      The Jenkins job worked in Jenkins 2.198

      The Jenkins job works the first time you run it (after you saved the configuration) and until you change the Project Key. We use a dynamic project key that is sent in as a String parameter. This helps us having only one Sonar job in Jenkins.

      The full stack trace:
      java.io.IOException: java.lang.RuntimeException: Failed to serialize hudson.maven.MavenModuleSet#publishers for class hudson.maven.MavenModuleSet
      at hudson.XmlFile.write(XmlFile.java:201)
      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.maven.MavenModuleSet.reconfigure(MavenModuleSet.java:1199)
      at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:1020)
      at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:691)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
      at hudson.model.Run.execute(Run.java:1727)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
      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.maven.MavenModuleSet#publishers for class hudson.maven.MavenModuleSet
      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)
      ... 11 more
      Caused by: java.lang.RuntimeException: Failed to serialize org.quality.gates.jenkins.plugin.QGPublisher#buildDecision for class org.quality.gates.jenkins.plugin.QGPublisher
      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)
      ... 24 more
      Caused by: java.lang.RuntimeException: Failed to serialize org.quality.gates.jenkins.plugin.BuildDecision#qualityGatesProvider for class org.quality.gates.jenkins.plugin.BuildDecision
      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.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
      at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:265)
      at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:252)
      ... 39 more
      Caused by: java.lang.RuntimeException: Failed to serialize org.quality.gates.sonar.api.QualityGatesProvider#sonarHttpRequester for class org.quality.gates.sonar.api.QualityGatesProvider
      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.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
      at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:265)
      at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:252)
      ... 48 more
      Caused by: java.lang.RuntimeException: Failed to serialize org.quality.gates.sonar.api.SonarHttpRequester#context for class org.quality.gates.sonar.api61.SonarHttpRequester61
      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.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
      at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:265)
      at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:252)
      ... 57 more
      Caused by: java.lang.UnsupportedOperationException: Refusing to marshal org.apache.http.client.protocol.HttpClientContext 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)
      ... 66 more
       

       

       

          [JENKINS-49130] Sonar Quality Gates run fails after upgrade to Jenkins 2.102/2.103

          Oleg Nenashev added a comment -

          The Maven issue should be fixed by JENKINS-49089
          HttpClientContext should not be serialized to the disk IMO, needs investigation

          Oleg Nenashev added a comment - The Maven issue should be fixed by JENKINS-49089 HttpClientContext should not be serialized to the disk IMO, needs investigation

          Oleg Nenashev added a comment -

          makj05 could you please provide a full stacktrace for the HttpClientContext exception?

          Oleg Nenashev added a comment - makj05 could you please provide a full stacktrace for the HttpClientContext exception?

          I don't get any exception in the jenkins.log file.

          All it writes is:

          Jan 25, 2018 8:17:42 AM hudson.plugins.sonar.SonarBuildWrapper createLoggerDecorator
          INFO: Masking SonarQube passwords
          Jan 25, 2018 8:17:46 AM hudson.plugins.sonar.SonarBuildWrapper setUp
          INFO: Injecting SonarQube environment variables using the configuration: SonarServer
          Jan 25, 2018 8:17:47 AM hudson.model.Run execute
          INFO: mobi-sonar #2900 main build action completed: FAILURE

           

          The stacktrace above is all that is printed in the Jenkins UI (Console Output).

          Martin Kjellqvist added a comment - I don't get any exception in the jenkins.log file. All it writes is: Jan 25, 2018 8:17:42 AM hudson.plugins.sonar.SonarBuildWrapper createLoggerDecorator INFO: Masking SonarQube passwords Jan 25, 2018 8:17:46 AM hudson.plugins.sonar.SonarBuildWrapper setUp INFO: Injecting SonarQube environment variables using the configuration: SonarServer Jan 25, 2018 8:17:47 AM hudson.model.Run execute INFO: mobi-sonar #2900 main build action completed: FAILURE   The stacktrace above is all that is printed in the Jenkins UI (Console Output).

          The sonar-quality-gates-plugin I use is the latest version (1.1.2)

          Martin Kjellqvist added a comment - The sonar-quality-gates-plugin I use is the latest version (1.1.2)

          I had to revert to previous Jenkins version as this was a blocker for us.
          After reverting to 2.98 everything works as before.

          Martin Kjellqvist added a comment - I had to revert to previous Jenkins version as this was a blocker for us. After reverting to 2.98 everything works as before.

          Oleg Nenashev added a comment -

          I have created https://github.com/jenkinsci/sonar-quality-gates-plugin/pull/9 . makj05 would you be able to verify the snapshot build. I am not sure it's enough to fix the plugin for all use-cases

          Oleg Nenashev added a comment - I have created https://github.com/jenkinsci/sonar-quality-gates-plugin/pull/9 . makj05 would you be able to verify the snapshot build. I am not sure it's enough to fix the plugin for all use-cases

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          pom.xml
          http://jenkins-ci.org/commit/sonar-quality-gates-plugin/b37265d5903c0d304f6f3327a37e934df7573552
          Log:
          JENKINS-49130 - Update Parent POM to make the build runnable in PCT

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml http://jenkins-ci.org/commit/sonar-quality-gates-plugin/b37265d5903c0d304f6f3327a37e934df7573552 Log: JENKINS-49130 - Update Parent POM to make the build runnable in PCT

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          src/main/java/org/quality/gates/sonar/api/SonarHttpRequester.java
          src/main/java/org/quality/gates/sonar/api5x/SonarHttpRequester5x.java
          src/main/java/org/quality/gates/sonar/api60/SonarHttpRequester60.java
          src/main/java/org/quality/gates/sonar/api61/SonarHttpRequester61.java
          http://jenkins-ci.org/commit/sonar-quality-gates-plugin/f9905397e84e972750e17cae2592f27e395b5eed
          Log:
          JENKINS-49130 - Stop persisting SonarHttpRequester context cache on the disk

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: src/main/java/org/quality/gates/sonar/api/SonarHttpRequester.java src/main/java/org/quality/gates/sonar/api5x/SonarHttpRequester5x.java src/main/java/org/quality/gates/sonar/api60/SonarHttpRequester60.java src/main/java/org/quality/gates/sonar/api61/SonarHttpRequester61.java http://jenkins-ci.org/commit/sonar-quality-gates-plugin/f9905397e84e972750e17cae2592f27e395b5eed Log: JENKINS-49130 - Stop persisting SonarHttpRequester context cache on the disk

          Code changed in jenkins
          User: Rafael Ramos
          Path:
          pom.xml
          src/main/java/org/quality/gates/sonar/api/SonarHttpRequester.java
          src/main/java/org/quality/gates/sonar/api5x/SonarHttpRequester5x.java
          src/main/java/org/quality/gates/sonar/api60/SonarHttpRequester60.java
          src/main/java/org/quality/gates/sonar/api61/SonarHttpRequester61.java
          http://jenkins-ci.org/commit/sonar-quality-gates-plugin/b32531b31b38058c63c4ae08f2ef3aa6f920885b
          Log:
          Merge pull request #9 from oleg-nenashev/JENKINS-49130-jep-200

          JENKINS-49130 - Stop persisting Sonar requester context on the disk to make the plugin compatible with Jenkins 2.102+

          Compare: https://github.com/jenkinsci/sonar-quality-gates-plugin/compare/69fc9638cd89...b32531b31b38

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Rafael Ramos Path: pom.xml src/main/java/org/quality/gates/sonar/api/SonarHttpRequester.java src/main/java/org/quality/gates/sonar/api5x/SonarHttpRequester5x.java src/main/java/org/quality/gates/sonar/api60/SonarHttpRequester60.java src/main/java/org/quality/gates/sonar/api61/SonarHttpRequester61.java http://jenkins-ci.org/commit/sonar-quality-gates-plugin/b32531b31b38058c63c4ae08f2ef3aa6f920885b Log: Merge pull request #9 from oleg-nenashev/ JENKINS-49130 -jep-200 JENKINS-49130 - Stop persisting Sonar requester context on the disk to make the plugin compatible with Jenkins 2.102+ Compare: https://github.com/jenkinsci/sonar-quality-gates-plugin/compare/69fc9638cd89...b32531b31b38

          Jesse Glick added a comment -

          Merged, right?

          Jesse Glick added a comment - Merged, right?

          Oleg Nenashev added a comment -

          jglickmerged, but the release is pending. I would prefer to keep it open for now and resolve it once it is released. Such approach is less confusing to users

          Oleg Nenashev added a comment - jglick merged, but the release is pending. I would prefer to keep it open for now and resolve it once it is released. Such approach is less confusing to users

          Jesse Glick added a comment -

          I thought standard practice is Resolved/Fixed after merge and Closed/Fixed after release. (pending proposed changes to JIRA workflow)

          Jesse Glick added a comment - I thought standard practice is Resolved/Fixed after merge and Closed/Fixed after release. (pending proposed changes to JIRA workflow)

          Oleg Nenashev added a comment -

          I had a proposal about creating a Ready For Release state in JIRA. Likely I should JEP it now

          Oleg Nenashev added a comment - I had a proposal about creating a Ready For Release state in JIRA. Likely I should JEP it now

          Jesse Glick added a comment -

          Yes please.

          Jesse Glick added a comment - Yes please.

          Code changed in jenkins
          User: Rafael Ramos
          Path:
          docker-test/docker-compose.yml
          pom.xml
          http://jenkins-ci.org/commit/sonar-quality-gates-plugin/1213569a01cc66d367afb9068259237e6c2112f4
          Log:
          JENKINS-49130 - Testing solution.

          • update docker-compose.yml to test
          • update parent version org.jenkins-ci.plugins:plugin:3.4
          • update version to 1.2.0-SNAPSHOT
          • update jenkins version to 2.89.3
          • update dependencies

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Rafael Ramos Path: docker-test/docker-compose.yml pom.xml http://jenkins-ci.org/commit/sonar-quality-gates-plugin/1213569a01cc66d367afb9068259237e6c2112f4 Log: JENKINS-49130 - Testing solution. update docker-compose.yml to test update parent version org.jenkins-ci.plugins:plugin:3.4 update version to 1.2.0-SNAPSHOT update jenkins version to 2.89.3 update dependencies

          Code changed in jenkins
          User: Rafael Ramos
          Path:
          docker-test/docker-compose.yml
          pom.xml
          http://jenkins-ci.org/commit/sonar-quality-gates-plugin/0b4a50747dd897c5219b446cc7818092df736559
          Log:
          Merge pull request #11 from arkanjoms/master

          Testing JENKINS-49130 and updating dependencies

          Compare: https://github.com/jenkinsci/sonar-quality-gates-plugin/compare/cf24945af8e7...0b4a50747dd8

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Rafael Ramos Path: docker-test/docker-compose.yml pom.xml http://jenkins-ci.org/commit/sonar-quality-gates-plugin/0b4a50747dd897c5219b446cc7818092df736559 Log: Merge pull request #11 from arkanjoms/master Testing JENKINS-49130 and updating dependencies Compare: https://github.com/jenkinsci/sonar-quality-gates-plugin/compare/cf24945af8e7...0b4a50747dd8

          Rafael Ramos added a comment -

          New version released with this correction.

          Rafael Ramos added a comment - New version released with this correction.

          Oleg Nenashev added a comment -

          It has been released in 1.2.0

          Oleg Nenashev added a comment - It has been released in 1.2.0

            oleg_nenashev Oleg Nenashev
            makj05 Martin Kjellqvist
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: