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

Git publisher post build action fails on slave agent - unable to serialize

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: git-plugin
    • Labels:
      None
    • Environment:
      Linux master server, separate Linux or Windows slave
    • Similar Issues:

      Description

      Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 (and 1.3.0) version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave. The merge still works as expected when performed on the master node.

      The stack trace reports:

      Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
      hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
      at hudson.FilePath.act(FilePath.java:848)
      at hudson.FilePath.act(FilePath.java:834)
      at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
      at hudson.model.Run.execute(Run.java:1502)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:237)
      Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
      at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
      at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
      at hudson.remoting.Channel.call(Channel.java:671)
      at hudson.FilePath.act(FilePath.java:841)
      ... 10 more
      Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
      at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
      at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
      ... 13 more

      Steps to recreate the problem:

      • configure a Git repository into which the Jenkins user can push changes
      • create a "master" branch and a "proposals" branch on the Git repository
      • define a Jenkins job which clones the Git repository with ssh protocol
      • configure the Jenkins job git plugin to merge from "/proposals" and "/master" to "master-proposals"
      • restrict the job to execute on any node except master node ("!master")
      • define a post build action to push the resulting merge to the origin/master branch
      • Submit a change to the central git repository on the "proposals" branch
      • Run the Jenkins job to confirm it will combine the master and proposals branches
      • Confirm the Jenkins job fails to push the combined change
        = Serialization exception between master and slave.

      Refer to merge-proposals.xml for the job definition I used in my tests.

        Attachments

          Issue Links

            Activity

            markewaite Mark Waite created issue -
            markewaite Mark Waite made changes -
            Field Original Value New Value
            Description Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - configure the Jenkins job to run on a slave agent (not master)
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = IllegalArgumentException because JGit cannot convert "origin/master" into a SHA1, while the older git plugin ObjectId implementation seemed to make that conversion successfully.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - configure the Jenkins job to run on a slave agent (not master)
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            markewaite Mark Waite made changes -
            Description Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - configure the Jenkins job to run on a slave agent (not master)
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - restrict the job to execute on any node except master node ("!master")
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - configure the Jenkins job to run on a slave agent (not master)
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            markewaite Mark Waite made changes -
            Description Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - restrict the job to execute on any node except master node ("!master")
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - configure the Jenkins job to run on a slave agent (not master)
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - restrict the job to execute on any node except master node ("!master")
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            wooh Adam PAPAI made changes -
            Assignee Nicolas De Loof [ ndeloof ] Adam PAPAI [ wooh ]
            wooh Adam PAPAI made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            markewaite Mark Waite made changes -
            Link This issue is duplicated by JENKINS-17679 [ JENKINS-17679 ]
            markewaite Mark Waite made changes -
            Description Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - restrict the job to execute on any node except master node ("!master")
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 (and 1.3.0) version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - restrict the job to execute on any node except master node ("!master")
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            markewaite Mark Waite made changes -
            Description Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 (and 1.3.0) version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - restrict the job to execute on any node except master node ("!master")
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 (and 1.3.0) version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave. The merge still works as expected when performed on the master node.

            The stack trace reports:

            Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
            hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:834)
            at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1133)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:590)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:495)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:237)
            Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
            at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
            at hudson.remoting.Channel.call(Channel.java:671)
            at hudson.FilePath.act(FilePath.java:841)
            ... 10 more
            Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
            ... 13 more

            Steps to recreate the problem:

             - configure a Git repository into which the Jenkins user can push changes
             - create a "master" branch and a "proposals" branch on the Git repository
             - define a Jenkins job which clones the Git repository with ssh protocol
             - configure the Jenkins job git plugin to merge from "*/proposals" and "*/master" to "master-proposals"
             - restrict the job to execute on any node except master node ("!master")
             - define a post build action to push the resulting merge to the origin/master branch
             - Submit a change to the central git repository on the "proposals" branch
             - Run the Jenkins job to confirm it will combine the master and proposals branches
             - Confirm the Jenkins job fails to push the combined change
               = Serialization exception between master and slave.

            Refer to merge-proposals.xml for the job definition I used in my tests.
            markewaite Mark Waite made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Assignee Adam PAPAI [ wooh ] Nicolas De Loof [ ndeloof ]
            Resolution Fixed [ 1 ]
            markewaite Mark Waite made changes -
            Status Resolved [ 5 ] Closed [ 6 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 147771 ] JNJira + In-Review [ 206439 ]

              People

              • Assignee:
                ndeloof Nicolas De Loof
                Reporter:
                markewaite Mark Waite
              • Votes:
                7 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: