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

Unable to serialize is reported when publishing doxygen generate html files

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • doxygen-plugin
    • Windows 7 x64 master and slave, Jenkins 1.624, Java 7, Doxygen-plugin 0.17

      With Doxygen-plugin 0.17, the following error occurs. After switching back to 0.16 the error no longer occurs. The "Doxyfile path" does not have any variables and is relative to the root of the workspace.

      FATAL: error
      java.io.IOException: remote file operation failed: C:\Jenkins\Src/ImpactDECLI_Windows at hudson.remoting.Channel@74ac25bf:Lethe: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@3fb2cef0
      	at hudson.FilePath.act(FilePath.java:987)
      	at hudson.FilePath.act(FilePath.java:969)
      	at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:223)
      	at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:177)
      	at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
      	at hudson.model.Build$BuildExecution.post2(Build.java:185)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
      	at hudson.model.Run.execute(Run.java:1766)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:381)
      Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@3fb2cef0
      	at hudson.remoting.UserRequest.serialize(UserRequest.java:169)
      	at hudson.remoting.UserRequest.<init>(UserRequest.java:63)
      	at hudson.remoting.Channel.call(Channel.java:776)
      	at hudson.FilePath.act(FilePath.java:980)
      	... 12 more
      Caused by: java.io.NotSerializableException: hudson.plugins.doxygen.DoxygenEnvironmentVariableExpander
      	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
      	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
      	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
      	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
      	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
      	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
      	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
      	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
      	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
      	at java.io.ObjectOutputStream.writeObject(Unknown Source)
      	at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
      	at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
      	... 15 more
      Build step 'Publish Doxygen' changed build result to FAILURE
      

          [JENKINS-29938] Unable to serialize is reported when publishing doxygen generate html files

          Darin Pantley added a comment -

          I am seeing the same behavior in Linux (Doxygen-plugin 0.17, Jenkins ver. 1.580.3):

          Publishing Doxygen HTML results.
          FATAL: error
          java.io.IOException: remote file operation failed: /work/jenkins/workspace/pipeline_generate-doxygen at hudson.remoting.Channel@11de1573:il-slave11: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@54b78bf8
          	at hudson.FilePath.act(FilePath.java:976)
          	at hudson.FilePath.act(FilePath.java:958)
          	at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:223)
          	at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:177)
          	at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
          	at hudson.model.Build$BuildExecution.post2(Build.java:183)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683)
          	at hudson.model.Run.execute(Run.java:1770)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          	at hudson.model.ResourceController.execute(ResourceController.java:89)
          	at hudson.model.Executor.run(Executor.java:240)
          Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@54b78bf8
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:169)
          	at hudson.remoting.UserRequest.<init>(UserRequest.java:63)
          	at hudson.remoting.Channel.call(Channel.java:750)
          	at hudson.FilePath.act(FilePath.java:969)
          	... 12 more
          Caused by: java.io.NotSerializableException: hudson.plugins.doxygen.DoxygenEnvironmentVariableExpander
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
          	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
          	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
          	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
          	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
          	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
          	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
          	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
          	at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
          	... 15 more
          Build step 'Publish Doxygen' changed build result to FAILURE
          Finished: FAILURE
          

          Darin Pantley added a comment - I am seeing the same behavior in Linux (Doxygen-plugin 0.17, Jenkins ver. 1.580.3): Publishing Doxygen HTML results. FATAL: error java.io.IOException: remote file operation failed: /work/jenkins/workspace/pipeline_generate-doxygen at hudson.remoting.Channel@11de1573:il-slave11: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@54b78bf8 at hudson.FilePath.act(FilePath.java:976) at hudson.FilePath.act(FilePath.java:958) at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:223) at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:177) at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) at hudson.model.Run.execute(Run.java:1770) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:89) at hudson.model.Executor.run(Executor.java:240) Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@54b78bf8 at hudson.remoting.UserRequest.serialize(UserRequest.java:169) at hudson.remoting.UserRequest.<init>(UserRequest.java:63) at hudson.remoting.Channel.call(Channel.java:750) at hudson.FilePath.act(FilePath.java:969) ... 12 more Caused by: java.io.NotSerializableException: hudson.plugins.doxygen.DoxygenEnvironmentVariableExpander at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) at hudson.remoting.UserRequest._serialize(UserRequest.java:158) at hudson.remoting.UserRequest.serialize(UserRequest.java:167) ... 15 more Build step 'Publish Doxygen' changed build result to FAILURE Finished: FAILURE

          Darin Pantley added a comment -

          Oops. I was giving it the path to the published HTML files instead of the Doxyfile. I've switched my job to use "Publish Javadoc" instead of "Publish Doxygen" and no longer face this issue.

          The error thrown by this code is not helpful.

          Darin Pantley added a comment - Oops. I was giving it the path to the published HTML files instead of the Doxyfile. I've switched my job to use "Publish Javadoc" instead of "Publish Doxygen" and no longer face this issue. The error thrown by this code is not helpful.

          Did you try to switch the path to the Doxyfile with plugin 0.17?
          Btw. the path in my project was and still is a path to the doxyfile and not to the html folder.

          Marcel Beister added a comment - Did you try to switch the path to the Doxyfile with plugin 0.17? Btw. the path in my project was and still is a path to the doxyfile and not to the html folder.

          Sebastian Troy added a comment - - edited

          I can reaffirm Marcel Beister's issue. As he is, I'm specifying a path to my Doxyfile (which is in the root directory) and I'm getting the exact same exception. I cannot confirm whether switching back a version fixes this as I do not have the permission to do so!

          Publishing Doxygen HTML results.
          FATAL: error
          java.io.IOException: remote file operation failed: /home/jenkins/build/workspace/Qx Trunk Doxygen at hudson.remoting.Channel@1096170:QxBuilder: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@5267bc
          	at hudson.FilePath.act(FilePath.java:987)
          	at hudson.FilePath.act(FilePath.java:969)
          	at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:223)
          	at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:177)
          	at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
          	at hudson.model.Build$BuildExecution.post2(Build.java:185)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
          	at hudson.model.Run.execute(Run.java:1766)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          	at hudson.model.ResourceController.execute(ResourceController.java:98)
          	at hudson.model.Executor.run(Executor.java:381)
          Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@5267bc
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:169)
          	at hudson.remoting.UserRequest.<init>(UserRequest.java:63)
          	at hudson.remoting.Channel.call(Channel.java:776)
          	at hudson.FilePath.act(FilePath.java:980)
          	... 12 more
          Caused by: java.io.NotSerializableException: hudson.plugins.doxygen.DoxygenEnvironmentVariableExpander
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
          	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
          	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
          	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
          	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
          	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
          	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
          	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
          	at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
          	... 15 more
          Build step 'Publish Doxygen' changed build result to FAILURE
          

          As an interesting extra, our Jenkins guy seems to think that there is only an issue because we are running Doxygen on a slave, any thoughts?

          Sebastian Troy added a comment - - edited I can reaffirm Marcel Beister's issue. As he is, I'm specifying a path to my Doxyfile (which is in the root directory) and I'm getting the exact same exception. I cannot confirm whether switching back a version fixes this as I do not have the permission to do so! Publishing Doxygen HTML results. FATAL: error java.io.IOException: remote file operation failed: /home/jenkins/build/workspace/Qx Trunk Doxygen at hudson.remoting.Channel@1096170:QxBuilder: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@5267bc at hudson.FilePath.act(FilePath.java:987) at hudson.FilePath.act(FilePath.java:969) at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:223) at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:177) at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726) at hudson.model.Build$BuildExecution.post2(Build.java:185) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671) at hudson.model.Run.execute(Run.java:1766) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381) Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@5267bc at hudson.remoting.UserRequest.serialize(UserRequest.java:169) at hudson.remoting.UserRequest.<init>(UserRequest.java:63) at hudson.remoting.Channel.call(Channel.java:776) at hudson.FilePath.act(FilePath.java:980) ... 12 more Caused by: java.io.NotSerializableException: hudson.plugins.doxygen.DoxygenEnvironmentVariableExpander at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) at hudson.remoting.UserRequest._serialize(UserRequest.java:158) at hudson.remoting.UserRequest.serialize(UserRequest.java:167) ... 15 more Build step 'Publish Doxygen' changed build result to FAILURE As an interesting extra, our Jenkins guy seems to think that there is only an issue because we are running Doxygen on a slave, any thoughts?

          Alex Merry added a comment -

          Also having this issue. We have absolute paths in our doxygen config. Could that be causing an issue?

          Alex Merry added a comment - Also having this issue. We have absolute paths in our doxygen config. Could that be causing an issue?

          We aren't using absolute paths, still get the error

          Sebastian Troy added a comment - We aren't using absolute paths, still get the error

          Happens also on LTS Jenkins 1.609.2 with Linux server and clients.
          Doxygen plugin 0.17.
          Downgrade to Doxygen plugin 0.16 fixes the problem.

          Slawomir Czarko added a comment - Happens also on LTS Jenkins 1.609.2 with Linux server and clients. Doxygen plugin 0.17. Downgrade to Doxygen plugin 0.16 fixes the problem.

          Jesper Jensen added a comment -

          I can confirm that downgrading to 0.16 fixes my problem.

          Jesper Jensen added a comment - I can confirm that downgrading to 0.16 fixes my problem.

          It would seem that Gregory Boissinot has about 40 bugs assigned to him, all marked as Open and Unresolved (none in progress) his Git account also suggests that he hasn't contributed to a Jenkins branch since last year, correct me if I'm wrong, but it doesn't look like a fix is coming any time soon from him!

          Sebastian Troy added a comment - It would seem that Gregory Boissinot has about 40 bugs assigned to him, all marked as Open and Unresolved (none in progress) his Git account also suggests that he hasn't contributed to a Jenkins branch since last year, correct me if I'm wrong, but it doesn't look like a fix is coming any time soon from him!

          Sebastian Troy added a comment - - edited

          A work around! We were setting "Restrict where this project can be run" to true and farming out the job to a remote. As the issue appears to be with serialising the results and returning them to master, by restricting the job to master we have for the short term got it working.

          Sebastian Troy added a comment - - edited A work around ! We were setting "Restrict where this project can be run" to true and farming out the job to a remote. As the issue appears to be with serialising the results and returning them to master, by restricting the job to master we have for the short term got it working.

          Slawomir Czarko added a comment - Fix for this problem - https://github.com/jenkinsci/doxygen-plugin/pull/13

          Code changed in jenkins
          User: Sławomir Czarko-Wasiutycz
          Path:
          pom.xml
          src/main/java/hudson/plugins/doxygen/DoxygenEnvironmentVariableExpander.java
          http://jenkins-ci.org/commit/doxygen-plugin/7c996d3788bf458cc0ecd1c837586a5c6a396fdb
          Log:
          Fix for bug JENKINS-29938 - Unable to serialize is reported when publishing doxygen generate html files

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sławomir Czarko-Wasiutycz Path: pom.xml src/main/java/hudson/plugins/doxygen/DoxygenEnvironmentVariableExpander.java http://jenkins-ci.org/commit/doxygen-plugin/7c996d3788bf458cc0ecd1c837586a5c6a396fdb Log: Fix for bug JENKINS-29938 - Unable to serialize is reported when publishing doxygen generate html files

          Code changed in jenkins
          User: Sławomir Czarko-Wasiutycz
          Path:
          pom.xml
          http://jenkins-ci.org/commit/doxygen-plugin/06ceead0ab3ee83bc5f4ef234af8fd083ff1010a
          Log:
          Fix for bug JENKINS-29938 - Unable to serialize is reported when publishing doxygen generate html files

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sławomir Czarko-Wasiutycz Path: pom.xml http://jenkins-ci.org/commit/doxygen-plugin/06ceead0ab3ee83bc5f4ef234af8fd083ff1010a Log: Fix for bug JENKINS-29938 - Unable to serialize is reported when publishing doxygen generate html files

          Code changed in jenkins
          User: Gregory Boissinot
          Path:
          pom.xml
          src/main/java/hudson/plugins/doxygen/DoxygenEnvironmentVariableExpander.java
          http://jenkins-ci.org/commit/doxygen-plugin/29a2bb04766a8c7f5ae75eb1cf242ee8740fc873
          Log:
          Merge pull request #13 from ezjenkins/master

          JENKINS-29938 Unable to serialize is reported when publishing doxygen generate html files

          Compare: https://github.com/jenkinsci/doxygen-plugin/compare/196ed7899681...29a2bb04766a

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Gregory Boissinot Path: pom.xml src/main/java/hudson/plugins/doxygen/DoxygenEnvironmentVariableExpander.java http://jenkins-ci.org/commit/doxygen-plugin/29a2bb04766a8c7f5ae75eb1cf242ee8740fc873 Log: Merge pull request #13 from ezjenkins/master JENKINS-29938 Unable to serialize is reported when publishing doxygen generate html files Compare: https://github.com/jenkinsci/doxygen-plugin/compare/196ed7899681...29a2bb04766a

          Fixed in Doxygen-plugin 0.18

          Slawomir Czarko added a comment - Fixed in Doxygen-plugin 0.18

          I can also confirm that the issue was resolved with version 0.18. Thank you.

          Marcel Beister added a comment - I can also confirm that the issue was resolved with version 0.18. Thank you.

            slawomir_czarko Slawomir Czarko
            simabeis Marcel Beister
            Votes:
            12 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: