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

          Marcel Beister created issue -

          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
          Sebastian Troy made changes -
          Labels New: exception plugin

          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.

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

              Created:
              Updated:
              Resolved: