Bug 407829 - Hudson HTML Publisher Plugin 1.1 Failure -> [htmlpublisher] Archiving HTML reports... ERROR: directory does not exist
Summary: Hudson HTML Publisher Plugin 1.1 Failure -> [htmlpublisher] Archiving HTML re...
Status: ASSIGNED
Alias: None
Product: Hudson
Classification: Technology
Component: Plugins (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Server 2008
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Bob Foster CLA
QA Contact: Geoff Waymark CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-12 15:11 EDT by Rene Keil CLA
Modified: 2014-08-21 05:13 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rene Keil CLA 2013-05-12 15:11:00 EDT
In Hudson ist HTML Publisher 1.1 available 
http://wiki.hudson-ci.org//display/HUDSON/HTML+Publisher+Plugin. 

On Jenkins we have HTML Publisher 1.2.
https://wiki.jenkins-ci.org/display/JENKINS/HTML+Publisher+Plugin


In den Plugin from Hudson 1.1 is a bug, which give this failure:

[htmlpublisher] Archiving HTML reports...
ERROR: directory does not exist


The solution should be in the Jenkins Update:

https://issues.jenkins-ci.org/browse/JENKINS-16083


I don´t know how, but i think, the it expert can use the fix from jenkins and create an update for the html publisher.

Thank you :-)
Comment 1 Winston Prakash CLA 2013-05-13 10:43:39 EDT
Hi Rene, sure we will do it and release it soon.
Comment 2 Rene Keil CLA 2013-05-19 09:48:57 EDT
Thank you very much. The Update to 1.2 fixed the problem!
Comment 3 Konrad Zielinski CLA 2014-08-21 05:13:31 EDT
I tested new veriosn (1.4-h-1) of this plugin and this is what I noticed (below I intercede our update-report on test environment):

HTML PUBLISHER PLUGIN:
Old version returns stack trace and mark build as FAILED

10:45:55  [htmlpublisher] Archiving HTML reports...
10:45:55  [htmlpublisher] Archiving at PROJECT level / to /home/tomcat6/.hudson/jobs/iOS_Admin_Provisioning_punt/htmlreports/HTML_Report
10:49:58  FATAL: HTML Publisher failure
10:49:58  hudson.util.IOException2: java.lang.OutOfMemoryError: GC overhead limit exceeded
10:49:58  	at hudson.FilePath.copyRecursiveTo(FilePath.java:1626)
10:49:58  	at hudson.FilePath.copyRecursiveTo(FilePath.java:1506)
10:49:58  	at hudson.FilePath.copyRecursiveTo(FilePath.java:1495)
10:49:58  	at htmlpublisher.HtmlPublisher.perform(HtmlPublisher.java:212)
10:49:58  	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:34)
10:49:58  	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:736)
10:49:58  	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:714)
10:49:58  	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:690)
10:49:58  	at hudson.model.Build$RunnerImpl.post2(Build.java:163)
10:49:58  	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:652)
10:49:58  	at hudson.model.Run.run(Run.java:1474)
10:49:58  	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
10:49:58  	at hudson.model.ResourceController.execute(ResourceController.java:82)
10:49:58  	at hudson.model.Executor.run(Executor.java:137)
10:49:58  Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
10:49:58  	at hudson.remoting.Channel$2.adapt(Channel.java:677)
10:49:58  	at hudson.remoting.Channel$2.adapt(Channel.java:672)
10:49:58  	at hudson.remoting.FutureAdapter.get(FutureAdapter.java:48)
10:49:58  	at hudson.FilePath.copyRecursiveTo(FilePath.java:1624)
10:49:58  	... 13 more
10:49:58  Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
10:49:58  	at java.lang.String.toCharArray(String.java:2746)
10:49:58  	at org.apache.tools.ant.types.selectors.SelectorUtils.match(SelectorUtils.java:364)
10:49:58  	at org.apache.tools.ant.types.selectors.SelectorUtils.matchPath(SelectorUtils.java:261)
10:49:58  	at org.apache.tools.ant.types.selectors.TokenizedPattern.matchPath(TokenizedPattern.java:69)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.isExcluded(DirectoryScanner.java:1521)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.processIncluded(DirectoryScanner.java:1338)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1323)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1203)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1165)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.checkIncludePatterns(DirectoryScanner.java:947)
10:49:58  	at org.apache.tools.ant.DirectoryScanner.scan(DirectoryScanner.java:901)
10:49:58  	at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:499)
10:49:58  	at hudson.util.DirScanner$Glob.scan(DirScanner.java:114)
10:49:58  	at hudson.FilePath.writeToTar(FilePath.java:1660)
10:49:58  	at hudson.FilePath.access$900(FilePath.java:152)
10:49:58  	at hudson.FilePath$33.invoke(FilePath.java:1597)
10:49:58  	at hudson.FilePath$33.invoke(FilePath.java:1594)
10:49:58  	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2059)
10:49:58  	at hudson.remoting.UserRequest.perform(UserRequest.java:107)
10:49:58  [DEBUG] Skipping watched dependency update for build: iOS_Admin_Provisioning_punt #2148 due to result: FAILURE
10:49:58  Finished: FAILURE

New version of this plugin also returns stack trace and marks build as FAILED

[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at PROJECT level / to /home/tomcat6/.hudson/jobs/iOS_Admin_Provisioning_punt/htmlreports/HTML_Report
FATAL: HTML Publisher failure
hudson.util.IOException2: hudson.util.IOException2: null
stream=1f8b0800000000000000edc1010d000000c2a0f74f6d0e37a00000000000000000008037039ade1d2700280000
	at hudson.FilePath$TarCompression$2.extract(FilePath.java:566)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1608)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1506)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1495)
	at htmlpublisher.HtmlPublisher.perform(HtmlPublisher.java:213)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:34)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:736)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:714)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$RunnerImpl.post2(Build.java:163)
	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:652)
	at hudson.model.Run.run(Run.java:1474)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:82)
	at hudson.model.Executor.run(Executor.java:137)
Caused by: java.io.IOException
	at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:190)
	at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:161)
	at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:47)
	at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:59)
	at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:262)
	at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:254)
	at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:163)
	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:78)
	at hudson.FilePath$TarCompression$2.extract(FilePath.java:562)
	... 14 more

	at hudson.FilePath.copyRecursiveTo(FilePath.java:1617)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1506)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1495)
	at htmlpublisher.HtmlPublisher.perform(HtmlPublisher.java:213)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:34)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:736)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:714)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$RunnerImpl.post2(Build.java:163)
	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:652)
	at hudson.model.Run.run(Run.java:1474)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:82)
	at hudson.model.Executor.run(Executor.java:137)
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
	at hudson.remoting.Channel$2.adapt(Channel.java:677)
	at hudson.remoting.Channel$2.adapt(Channel.java:672)
	at hudson.remoting.FutureAdapter.get(FutureAdapter.java:52)
	at hudson.FilePath.copyRecursiveTo(FilePath.java:1613)
	... 13 more
Caused by: java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:2219)
	at java.util.Vector.grow(Vector.java:262)
	at java.util.Vector.ensureCapacityHelper(Vector.java:242)
	at java.util.Vector.ensureCapacity(Vector.java:227)
	at org.apache.tools.ant.util.VectorSet.doAdd(VectorSet.java:80)
	at org.apache.tools.ant.util.VectorSet.add(VectorSet.java:61)
	at org.apache.tools.ant.DirectoryScanner.processIncluded(DirectoryScanner.java:1342)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedFile(DirectoryScanner.java:1300)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1252)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
	at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1272)
	at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1325)
[DEBUG] Skipping watched dependency update for build: iOS_Admin_Provisioning_punt #1067 due to result: FAILURE
Finished: FAILURE

In second use-case I set report directory at specific worspace place [/report]
and this case seems to work correctly
Old plugin version output:

10:57:02  [htmlpublisher] Archiving HTML reports...
10:57:02  [htmlpublisher] Archiving at PROJECT level /report to /home/tomcat6/.hudson/jobs/iOS_Admin_Provisioning_punt/htmlreports/HTML_Report
10:57:02  ERROR: Specified HTML directory '/report' does not exist.
10:57:02  [DEBUG] Skipping watched dependency update for build: iOS_Admin_Provisioning_punt #2148 due to result: FAILURE
10:57:02  Finished: FAILURE

New plugin version output:

[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at PROJECT level /report to /home/tomcat6/.hudson/jobs/iOS_Admin_Provisioning_punt/htmlreports/HTML_Report
[DEBUG] Skipping watched dependency update; build not configured with trigger: iOS_Admin_Provisioning_punt #1068
Finished: SUCCESS

Looks like plugin works fine only if HTML report is in specific directory.
In other words HTML reports must be saved in directory which is set in plugin configuration, if build create this directory but there were no HTML report plugin will return stack-trace and mark build as FAILED even if "Allow missing report" option is checked.
We have to keep this in mind when we're creating job which uses this plugin.