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

SimpleDateFormat is not whitelisted - JEP-200

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I'm not sure whether it should be in the core section because warning doesn't specify any plugin. After upgrading to Jenkins 2.103 I found the following message in the Jenkins logs:

      Jan 25, 2018 8:37:27 PM WARNING jenkins.security.ClassFilterImpl lambda$isBlacklisted$1
      java.text.SimpleDateFormat in JRE might be dangerous, so rejecting; see https://jenkins.io/redirect/class-filter/
      This problem causes another one - after each build I can find in the logs things like this:
      Jan 25, 2018 8:40:22 PM SEVERE hudson.model.Run execute
      Failed to save build record
      java.lang.UnsupportedOperationException: Refusing to marshal java.text.SimpleDateFormat 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)
      Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.CommitInfo#dateFormat for class com.github.jenkins.lastchanges.model.CommitInfo
      	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)
      Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.LastChanges#currentRevision for class com.github.jenkins.lastchanges.model.LastChanges
      	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)
      Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.LastChangesBuildAction#buildChanges for class com.github.jenkins.lastchanges.LastChangesBuildAction
      	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)
      Caused: 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)
      Caused: java.io.IOException
      	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)
      

      As you can see there are two mentioned models, so I am not sure if problem faces the Last Changes Plugin or it's just core bug. Or maybe even out of Jenkins.

        Attachments

          Issue Links

            Activity

            Hide
            rmpestano Rafael Pestano added a comment - - edited

            Hi, which version of Last changes are you using?
            If It is 2.5 can you try to downgrade to V2.4?

            Show
            rmpestano Rafael Pestano added a comment - - edited Hi, which version of Last changes are you using? If It is 2.5 can you try to downgrade to V2.4?
            Hide
            ewypych Emil Wypych added a comment -

            Rafael Pestano hi! I've been using v2.5 and I downgraded to 2.4 as you suggested. The problem has not been solved. I still see those messages even after downgrade:

            Jan 25, 2018 10:08:49 PM WARNING jenkins.security.ClassFilterImpl lambda$isBlacklisted$1
            java.text.SimpleDateFormat in JRE might be dangerous, so rejecting; see https://jenkins.io/redirect/class-filter/
            Jan 25, 2018 10:08:49 PM SEVERE hudson.model.Run execute
            Failed to save build record
            java.lang.UnsupportedOperationException: Refusing to marshal java.text.SimpleDateFormat 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)
            Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.CommitInfo#dateFormat for class com.github.jenkins.lastchanges.model.CommitInfo
            	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)
            Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.LastChanges#currentRevision for class com.github.jenkins.lastchanges.model.LastChanges
            	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)
            Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.LastChangesBuildAction#buildChanges for class com.github.jenkins.lastchanges.LastChangesBuildAction
            	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)
            Caused: 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)
            Caused: java.io.IOException
            	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)
            

            And after the downgrade, all builds which have run on Last Changes v2.5 has been marked as failed. Console output says that they have ended with success, but in the build history of each job builds are marked as failed. Also, those builds aren't marked as successful neither failed in the job list (columns Last Success and Last Failures don't have those builds). Before downgrade builds were marked properly.

            Also after the downgrade, I cannot see the last changes - there is no "View Last Changes" link in the builds which has been started on Last Changes Plugin v2.5. In the new builds (after downgrade) everything is ok. Of course, I could check Last Changes when Last Changes was in version 2.5 - I checked this.

            Show
            ewypych Emil Wypych added a comment - Rafael Pestano hi! I've been using v2.5 and I downgraded to 2.4 as you suggested. The problem has not been solved. I still see those messages even after downgrade: Jan 25, 2018 10:08:49 PM WARNING jenkins.security.ClassFilterImpl lambda$isBlacklisted$1 java.text.SimpleDateFormat in JRE might be dangerous, so rejecting; see https://jenkins.io/redirect/class-filter/ Jan 25, 2018 10:08:49 PM SEVERE hudson.model.Run execute Failed to save build record java.lang.UnsupportedOperationException: Refusing to marshal java.text.SimpleDateFormat 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) Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.CommitInfo#dateFormat for class com.github.jenkins.lastchanges.model.CommitInfo 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) Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.model.LastChanges#currentRevision for class com.github.jenkins.lastchanges.model.LastChanges 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) Caused: java.lang.RuntimeException: Failed to serialize com.github.jenkins.lastchanges.LastChangesBuildAction#buildChanges for class com.github.jenkins.lastchanges.LastChangesBuildAction 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) Caused: 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) Caused: java.io.IOException 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) And after the downgrade, all builds which have run on Last Changes v2.5 has been marked as failed. Console output says that they have ended with success, but in the build history of each job builds are marked as failed. Also, those builds aren't marked as successful neither failed in the job list (columns Last Success and Last Failures don't have those builds). Before downgrade builds were marked properly. Also after the downgrade, I cannot see the last changes - there is no "View Last Changes" link in the builds which has been started on Last Changes Plugin v2.5. In the new builds (after downgrade) everything is ok. Of course, I could check Last Changes when Last Changes was in version 2.5 - I checked this.
            Hide
            rmpestano Rafael Pestano added a comment -

            Hi again,

             

            I think you need to create a new job to test the v2.4. 

             

            Anyway, I'll make some tests here. Thanks for reporting.

            Show
            rmpestano Rafael Pestano added a comment - Hi again,   I think you need to create a new job to test the v2.4.    Anyway, I'll make some tests here. Thanks for reporting.
            Hide
            rmpestano Rafael Pestano added a comment - - edited

            Hi Emil Wypych

            I've made some test (with and without pipeline) using jenkins 2.103 and had no issues, do you have more details? I've tested with a clean jenkins installation using this Dockerfile(I've only changed jenkins version).The plugins versions I'm using can be found here: https://github.com/jenkinsci/last-changes-plugin/blob/master/docker/plugins.txt#L27

             

            Here's an image with the log of an execution:

            And here is the pipeline script I'm using:

             
             pipeline {
                agent any
                stages {
                    stage('Checkout') {
                        steps {
                            git 'https://github.com/jenkinsci/last-changes-plugin.git'
                            lastChanges since: 'LAST_SUCCESSFUL_BUILD', format:'SIDE',matching: 'LINE'
                        }
                    }
                }
            }
            
            Show
            rmpestano Rafael Pestano added a comment - - edited Hi Emil Wypych ,  I've made some test (with and without pipeline) using jenkins 2.103 and had no issues, do you have more details? I've tested with a clean jenkins installation using this Dockerfile (I've only changed jenkins version).The plugins versions I'm using can be found here: https://github.com/jenkinsci/last-changes-plugin/blob/master/docker/plugins.txt#L27   Here's an image with the log of an execution: And here is the pipeline script I'm using:   pipeline { agent any stages { stage( 'Checkout' ) { steps { git 'https: //github.com/jenkinsci/last-changes-plugin.git' lastChanges since: 'LAST_SUCCESSFUL_BUILD' , format: 'SIDE' ,matching: 'LINE' } } } }
            Hide
            rmpestano Rafael Pestano added a comment -

            I can see the error in jenkins logs although it doesn't interfere in job execution. I'll try do get ride of the error in logs.

            Show
            rmpestano Rafael Pestano added a comment - I can see the error in jenkins logs although it doesn't interfere in job execution. I'll try do get ride of the error in logs.
            Hide
            rmpestano Rafael Pestano added a comment -

            Can you try with attached last-jenkins.hpi?

             

            last-changes.hpi

            Show
            rmpestano Rafael Pestano added a comment - Can you try with attached last-jenkins.hpi?   last-changes.hpi
            Hide
            ewypych Emil Wypych added a comment -

            Hi Rafael Pestano ,

            thanks for your investigation. You're right - there is no issue during the job execution. I can even check last changes (on both 2.4 and 2.5 version, except jobs before downgrade). But in the logs, there is a warning mentioned in the blog post about JEP-200. So I decided to create this issue.  If there is a warning, I'm not sure whether everything is ok or something explodes quietly.

            Of course, I will try the .hpi file, but please give me some time, I would let you know about results in a few hours.

            Show
            ewypych Emil Wypych added a comment - Hi Rafael Pestano , thanks for your investigation. You're right - there is no issue during the job execution. I can even check last changes (on both 2.4 and 2.5 version, except jobs before downgrade). But in the logs, there is a warning mentioned in the blog post about JEP-200 . So I decided to create this issue.  If there is a warning, I'm not sure whether everything is ok or something explodes quietly. Of course, I will try the .hpi file, but please give me some time, I would let you know about results in a few hours.
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Rafael Pestano The issue is still there from what I see. https://github.com/jenkinsci/last-changes-plugin/blob/master/src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java#L22 gets serialized to the disk once you save the commit info.

            Actually, the code is not thread-safe. SimpleDateFormat is NOT thread-safe, and parallel calls to the format() method may cause an issue in the code. I would recommend to remove the field and to call DateFormat.getDateTimeInstance() in the format() call.

            If you want, I can propose a pull-request for that

            Show
            oleg_nenashev Oleg Nenashev added a comment - Rafael Pestano The issue is still there from what I see. https://github.com/jenkinsci/last-changes-plugin/blob/master/src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java#L22 gets serialized to the disk once you save the commit info. Actually, the code is not thread-safe. SimpleDateFormat is NOT thread-safe , and parallel calls to the format() method may cause an issue in the code. I would recommend to remove the field and to call DateFormat.getDateTimeInstance() in the format() call. If you want, I can propose a pull-request for that
            Hide
            rmpestano Rafael Pestano added a comment -

            Hi Oleg Nenashev, I've made the date format transient and looks like it solved the issue but if you have a better fix please send the PR. Thank you!

            Show
            rmpestano Rafael Pestano added a comment - Hi Oleg Nenashev , I've made the date format transient and looks like it solved the issue but if you have a better fix please send the PR. Thank you!
            Hide
            ewypych Emil Wypych added a comment -

            Ok, so Rafael Pestano should I check plugin provided by you anyway, or shall I wait for the fix via the official way? From my perspective, there is no major issue for our Jenkins, so if you know what causes the problem, I can wait for the official update.

            Show
            ewypych Emil Wypych added a comment - Ok, so Rafael Pestano should I check plugin provided by you anyway, or shall I wait for the fix via the official way? From my perspective, there is no major issue for our Jenkins, so if you know what causes the problem, I can wait for the official update.
            Show
            oleg_nenashev Oleg Nenashev added a comment - Created a fix: https://github.com/jenkinsci/last-changes-plugin/pull/41
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            pom.xml
            http://jenkins-ci.org/commit/last-changes-plugin/9f6c24bff13f8a145aa70ea84e9674c691e2fd18
            Log:
            JENKINS-49176 - Update the plugin POM to make it runnable in PCT (mostly upper bounds)

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml http://jenkins-ci.org/commit/last-changes-plugin/9f6c24bff13f8a145aa70ea84e9674c691e2fd18 Log: JENKINS-49176 - Update the plugin POM to make it runnable in PCT (mostly upper bounds)
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            Jenkinsfile
            http://jenkins-ci.org/commit/last-changes-plugin/60842ea63304d71bc991cb3a5cecd31e01e958e3
            Log:
            JENKINS-49176 - Add Jenkinsfile for building on ci.jenkins.io

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: Jenkinsfile http://jenkins-ci.org/commit/last-changes-plugin/60842ea63304d71bc991cb3a5cecd31e01e958e3 Log: JENKINS-49176 - Add Jenkinsfile for building on ci.jenkins.io
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java
            src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java
            http://jenkins-ci.org/commit/last-changes-plugin/cf4f17f53d5b07f6db593fbc361acf3f20c6068a
            Log:
            [JENKINS-49176/JENKINS-49185] - Do not cache the SimpleDateFormat format (JEP-200 & concurrency)

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java http://jenkins-ci.org/commit/last-changes-plugin/cf4f17f53d5b07f6db593fbc361acf3f20c6068a Log: [JENKINS-49176/JENKINS-49185] - Do not cache the SimpleDateFormat format (JEP-200 & concurrency)
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Rafael M. Pestano
            Path:
            Jenkinsfile
            pom.xml
            src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java
            src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java
            http://jenkins-ci.org/commit/last-changes-plugin/8ea546001e39731785ff49585e486a7d27bd9557
            Log:
            Merge pull request #41 from oleg-nenashev/JENKINS-49176-jep-200

            [JENKINS-49176,JENKINS-49185] - Make the plugin compatible with Jenkins 2.102+ and fix concurrency issues

            Compare: https://github.com/jenkinsci/last-changes-plugin/compare/a3fa178233e3...8ea546001e39

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Rafael M. Pestano Path: Jenkinsfile pom.xml src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java src/main/java/com/github/jenkins/lastchanges/model/CommitInfo.java http://jenkins-ci.org/commit/last-changes-plugin/8ea546001e39731785ff49585e486a7d27bd9557 Log: Merge pull request #41 from oleg-nenashev/ JENKINS-49176 -jep-200 [JENKINS-49176,JENKINS-49185] - Make the plugin compatible with Jenkins 2.102+ and fix concurrency issues Compare: https://github.com/jenkinsci/last-changes-plugin/compare/a3fa178233e3...8ea546001e39
            Hide
            rmpestano Rafael Pestano added a comment -

            Hi Oleg Nenashev,

            I've just reviewed you PR and it looks great, also tested on our company Jenkins instance. I'll release v2.6 soon.

            thank you very much!

             

             

            Show
            rmpestano Rafael Pestano added a comment - Hi Oleg Nenashev , I've just reviewed you PR and it looks great, also tested on our company Jenkins instance. I'll release v2.6 soon. thank you very much!    
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            It has been released in Last Changes 2.6

            Show
            oleg_nenashev Oleg Nenashev added a comment - It has been released in Last Changes 2.6

              People

              Assignee:
              oleg_nenashev Oleg Nenashev
              Reporter:
              ewypych Emil Wypych
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: