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

Builds marked as failed - Dr Memory plugin (JEP-200)

      After recent update of Jenkins builds which uses Dr Memory plugin are marked as failed.

      Sequence of events:

      1. Build run finishes successfully as before Jenkins update. Marked as SUCCESS, Dr Memory results produced and visible in Jenkins
      2. Jenkins server restart 
      3. Build marked as FAILED, Dr Memory report no more visible

       

      error from jenkins.err log: 

      WARNING: net.praqma.drmemory.DrMemoryResult in file:/C:/Program%20Files%20(x86)/Jenkins/plugins/drmemory-plugin/WEB-INF/lib/drmemory-api-0.1.4.jar might be dangerous, so rejecting; see https://jenkins.io/redirect/class-filter/
      Apr 10, 2018 8:27:59 AM hudson.model.Run execute
      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:200)
      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:193)
      ... 5 more
      Caused by: java.lang.RuntimeException: Failed to serialize net.praqma.jenkins.plugin.drmemory.DrMemoryBuildAction#results for class net.praqma.jenkins.plugin.drmemory.DrMemoryBuildAction
      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.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.UnsupportedOperationException: Refusing to marshal net.praqma.drmemory.DrMemoryResult 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.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)
      ... 33 more
      

          [JENKINS-50460] Builds marked as failed - Dr Memory plugin (JEP-200)

          Oleg Nenashev added a comment -

          I confirm the issue. Will keep assigned to the current maintainers for now.
          Reached out to ewel to clarify the status

          Oleg Nenashev added a comment - I confirm the issue. Will keep assigned to the current maintainers for now. Reached out to ewel to clarify the status

          Just so you know, it’s already Easter break in Denmark so I don’t expect to be able to provide more information before it’s over (next week)

          Ewelina Wilkosz added a comment - Just so you know, it’s already Easter break in Denmark so I don’t expect to be able to provide more information before it’s over (next week)

          Dear ewel, Do you have any update on this issue? Thanks. 

          Piotr Bogdanski added a comment - Dear ewel , Do you have any update on this issue? Thanks. 

          bue is going to provide some information next week, is that correct Bue?

          Ewelina Wilkosz added a comment - bue is going to provide some information next week, is that correct Bue?

          Reto Minder added a comment -

          The build.xml in the jobs/JOB_NAME/builds/BUILD_NUMBER is not written. After a restart these jobs are no longer loaded. The newest containing a build.xml is the displayed in the browser.
          Going back from 1.4 to 1.3 did not help. Any dependency to an other plugin?

          Reto Minder added a comment - The build.xml in the jobs/JOB_NAME/builds/BUILD_NUMBER is not written. After a restart these jobs are no longer loaded. The newest containing a build.xml is the displayed in the browser. Going back from 1.4 to 1.3 did not help. Any dependency to an other plugin?

          reto271 in both cases(before and after jenkins restart) I can see build.xml file under location: "jobs/JOB_NAME/builds/BUILD_NUMBER." File does not seems to be affected by the restart itself. 

           

          Note: also option to start jenkins with param as below gives the same failing build:

          jenkins.exe start -Dhudson.remoting.ClassFilter=net.praqma.drmemory.DrMemoryResult

           

           

           

          Piotr Bogdanski added a comment - reto271 in both cases(before and after jenkins restart) I can see build.xml file under location: "jobs/JOB_NAME/builds/BUILD_NUMBER." File does not seems to be affected by the restart itself.    Note: also option to start jenkins with param as below gives the same failing build: jenkins.exe start -Dhudson.remoting.ClassFilter=net.praqma.drmemory.DrMemoryResult      

          Another update: I was wrong in my understanding of the issue earlier. Looks like the exception from description is thrown just after build run, not during jenkins server restart. 

          Piotr Bogdanski added a comment - Another update: I was wrong in my understanding of the issue earlier. Looks like the exception from description is thrown just after build run, not during jenkins server restart. 

          I was able to workround this issue, as suggested here, by adding below in jenkins.xml file:

           

           

          -Dhudson.remoting.ClassFilter=net.praqma.drmemory.DrMemoryResult,net.praqma.drmemory.DrMemoryResult$ErrorSummary,net.praqma.drmemory.errors.InvalidHeapArgument,net.praqma.drmemory.DrMemoryError$StackTrace,net.praqma.drmemory.DrMemoryError$Note

           

           

          Piotr Bogdanski added a comment - I was able to workround this issue, as suggested here , by adding below in jenkins.xml file:     -Dhudson.remoting.ClassFilter=net.praqma.drmemory.DrMemoryResult,net.praqma.drmemory.DrMemoryResult$ErrorSummary,net.praqma.drmemory.errors.InvalidHeapArgument,net.praqma.drmemory.DrMemoryError$StackTrace,net.praqma.drmemory.DrMemoryError$Note    

          Bue Petersen added a comment -

          We are happy to accept PRs solving the problem, but right now I don't have bandwidth to get the problem fixed.

          If it is simple and related to remoting, we might know what the problem is and then it is not complex to fix. In that case we could maybe supply a fix within some weeks.

           

           

          Bue Petersen added a comment - We are happy to accept PRs solving the problem, but right now I don't have bandwidth to get the problem fixed. If it is simple and related to remoting, we might know what the problem is and then it is not complex to fix. In that case we could maybe supply a fix within some weeks.    

          Bue Petersen added a comment -

          madsnielsen - this is the know remoting problem, we're going to fix for other of our plugins - right?

          Bue Petersen added a comment - madsnielsen - this is the know remoting problem, we're going to fix for other of our plugins - right?

          Bue Petersen added a comment -

          Oh, sorry for the spam. Yes he says - we will supply a fix during next week.

          Bue Petersen added a comment - Oh, sorry for the spam. Yes he says - we will supply a fix during next week.

          Oleg Nenashev added a comment -

          bue thanks for the update! Please feel free to ping me and jglick if any reviews are needed

          Oleg Nenashev added a comment - bue thanks for the update! Please feel free to ping me and jglick if any reviews are needed

          Mads Nielsen added a comment -

          Fixed in 1.5

          Mads Nielsen added a comment - Fixed in 1.5

          Mads Nielsen added a comment -

          Done

          Mads Nielsen added a comment - Done

          Oleg Nenashev added a comment -

          Thanks madsnielsen!

          Oleg Nenashev added a comment - Thanks madsnielsen !

            madsnielsen Mads Nielsen
            pinek Piotr Bogdanski
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: