• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Hudson ver. 1.355
      Red Hat Enterprise Linux ES release 4 (Nahant Update 7)
      java version "1.6.0_12"
      Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
      Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)


      My hudson project recently stopped to archive all the build artifacts. I can see all the artifacts are build in workspace directory, but when looking at the project page only couple of them are visible.

      Full project configuration is cited below, as can be seen the build aritfacts configured are:

      syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear,syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear,syp-parent/syp-lib/auth/auth-web/target/auth-web.war,syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war,syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war,syp-parent/syp-lib/resources/target/resources.war,syp-parent/casePrep/casePrep/target/casePrep.war,syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war,syp-parent/ois2/target/ois2.war,syp-parent/casePrep/case-remote-interface/case-remote-interface-ear/target/case-remote-interface-ear.ear,syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear,syp-parent/casePrep/case-prep-ear/target/case-prep-ear.ear,syp-parent/mip/mip-ws/target/mip-ws.war,syp-parent/sypap-ws-sts/target/sypap-ws-sts.war,syp-parent/system-admin/target/system-admin.war
      

      I can see all those files exists:

      ls -l  $( echo 'syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear,syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear,syp-parent/syp-lib/auth/auth-web/target/auth-web.war,syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war,syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war,syp-parent/syp-lib/resources/target/resources.war,syp-parent/casePrep/casePrep/target/casePrep.war,syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war,syp-parent/ois2/target/ois2.war,syp-parent/casePrep/case-remote-interface/case-remote-interface-ear/target/case-remote-interface-ear.ear,syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear,syp-parent/casePrep/case-prep-ear/target/case-prep-ear.ear,syp-parent/mip/mip-ws/target/mip-ws.war,syp-parent/sypap-ws-sts/target/sypap-ws-sts.war,syp-parent/system-admin/target/system-admin.war' | tr ',' ' ') 
      -rw-r--r--  1 huds huds 38947225 Apr 27 11:44 syp-parent/casePrep/case-prep-ear/target/case-prep-ear.ear
      -rw-r--r--  1 huds huds 32756047 Apr 27 11:43 syp-parent/casePrep/casePrep/target/casePrep.war
      -rw-r--r--  1 huds huds 20265084 Apr 27 11:44 syp-parent/casePrep/case-remote-interface/case-remote-interface-ear/target/case-remote-interface-ear.ear
      -rw-r--r--  1 huds huds 22901259 Apr 27 11:44 syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war
      -rw-r--r--  1 huds huds 27259303 Apr 27 11:45 syp-parent/mip/mip-ws/target/mip-ws.war
      -rw-r--r--  1 huds huds 45235582 Apr 27 11:45 syp-parent/ois2/target/ois2.war
      -rw-r--r--  1 huds huds  1265752 Apr 27 11:45 syp-parent/sypap-ws-sts/target/sypap-ws-sts.war
      -rw-r--r--  1 huds huds 11917076 Apr 27 11:37 syp-parent/syp-lib/auth/auth-web/target/auth-web.war
      -rw-r--r--  1 huds huds 26399563 Apr 27 11:42 syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear
      -rw-r--r--  1 huds huds 19781865 Apr 27 11:37 syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear
      -rw-r--r--  1 huds huds 24909060 Apr 27 11:38 syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war
      -rw-r--r--  1 huds huds 19267891 Apr 27 11:41 syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear
      -rw-r--r--  1 huds huds   107225 Apr 27 11:41 syp-parent/syp-lib/resources/target/resources.war
      -rw-r--r--  1 huds huds  7813888 Apr 27 11:36 syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war
      -rw-r--r--  1 huds huds 34725471 Apr 27 11:46 syp-parent/system-admin/target/system-admin.war
      

      but then when I open project page I can see only:

      Build Artifacts
      case-prep-ear.ear 
      case-remote-interface-ear.ear 
      casePrep.war 
      doc-repo-ws.war 
      mip-ws.war 
      ois2.war 
      auth-web.war 
      court-diary-ear.ear 
      lynx-extract-ui-test.war 
      lynx1-audit.ear 
      report-producer.ear 
      

      the following ones are missing:

      • sypap-ws-sts.war
      • resources.war
      • rich-screen-web.war
      • system-admin.war

      Can't see anything wrong with the project configuration, disks are far from being full, there is nothing wrong reported in the hudson.log
      Can you help please?

      The project configuration file:

      <?xml version='1.0' encoding='UTF-8'?>
      <maven2-moduleset>
        <actions/>
        <description>Root parent POM for project.</description>
        <logRotator>
          <daysToKeep>-1</daysToKeep>
          <numToKeep>5</numToKeep>
          <artifactDaysToKeep>-1</artifactDaysToKeep>
          <artifactNumToKeep>-1</artifactNumToKeep>
        </logRotator>
        <keepDependencies>false</keepDependencies>
        <properties/>
        <scm class="hudson.scm.SubversionSCM">
          <locations>
            <hudson.scm.SubversionSCM_-ModuleLocation>
              <remote>http://nssubversion02u.syp.southyorks.police.uk/sub/SYP/trunk/java/syp-parent</remote>
              <local>syp-parent</local>
            </hudson.scm.SubversionSCM_-ModuleLocation>
          </locations>
          <useUpdate>true</useUpdate>
          <doRevert>false</doRevert>
          <excludedRegions></excludedRegions>
          <includedRegions></includedRegions>
          <excludedUsers></excludedUsers>
          <excludedRevprop></excludedRevprop>
          <excludedCommitMessages></excludedCommitMessages>
        </scm>
        <canRoam>true</canRoam>
        <disabled>false</disabled>
        <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
        <triggers class="vector">
          <hudson.triggers.SCMTrigger>
            <spec>*/15 * * * *</spec>
          </hudson.triggers.SCMTrigger>
        </triggers>
        <concurrentBuild>false</concurrentBuild>
        <rootModule>
          <groupId>uk.police.syp.syp-parent</groupId>
          <artifactId>syp-parent</artifactId>
        </rootModule>
        <goals>clean install</goals>
        <mavenOpts>-Xmx512M -XX:MaxPermSize=512M</mavenOpts>
        <aggregatorStyleBuild>true</aggregatorStyleBuild>
        <incrementalBuild>false</incrementalBuild>
        <usePrivateRepository>false</usePrivateRepository>
        <ignoreUpstremChanges>false</ignoreUpstremChanges>
        <archivingDisabled>false</archivingDisabled>
        <reporters>
          <hudson.plugins.findbugs.FindBugsReporter>
            <threshold></threshold>
            <failureThreshold></failureThreshold>
            <newFailureThreshold></newFailureThreshold>
            <newThreshold></newThreshold>
            <healthy></healthy>
            <unHealthy></unHealthy>
            <pluginName>[FINDBUGS] </pluginName>
            <thresholdLimit>low</thresholdLimit>
          </hudson.plugins.findbugs.FindBugsReporter>
          <hudson.maven.reporters.MavenMailer>
            <recipients>ISD_DEVELOPMENT_JAVA</recipients>
            <dontNotifyEveryUnstableBuild>true</dontNotifyEveryUnstableBuild>
            <sendToIndividuals>false</sendToIndividuals>
          </hudson.maven.reporters.MavenMailer>
        </reporters>
        <publishers>
          <hudson.tasks.ArtifactArchiver>
            <artifacts>syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear,syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear,syp-parent/syp-lib/auth/auth-web/target/auth-web.war,syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war,syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war,syp-parent/syp-lib/resources/target/resources.war,syp-parent/casePrep/casePrep/target/casePrep.war,syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war,syp-parent/ois2/target/ois2.war,syp-parent/casePrep/case-remote-interface/case-remote-interface-ear/target/case-remote-interface-ear.ear,syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear,syp-parent/casePrep/case-prep-ear/target/case-prep-ear.ear,syp-parent/mip/mip-ws/target/mip-ws.war,syp-parent/sypap-ws-sts/target/sypap-ws-sts.war,syp-parent/system-admin/target/system-admin.war</artifacts>
            <latestOnly>false</latestOnly>
          </hudson.tasks.ArtifactArchiver>
          <hudson.tasks.test.AggregatedTestResultPublisher/>
        </publishers>
        <buildWrappers/>
      </maven2-moduleset>
      

          [JENKINS-6371] missing build artifacts

          Alan Harder added a comment -

          Doesn't look related to Copy Artifacts plugin.. changing component.

          To determine if it is an archiving problem or display problem, please click on "Build Artifacts" (in Hudson 1.355 that should be a link to a directory browser of the artifacts area). Browse these dirs (or click "download all in zip") to see how many of the artifacts are present there.. are they missing here too?

          Alan Harder added a comment - Doesn't look related to Copy Artifacts plugin.. changing component. To determine if it is an archiving problem or display problem, please click on "Build Artifacts" (in Hudson 1.355 that should be a link to a directory browser of the artifacts area). Browse these dirs (or click "download all in zip") to see how many of the artifacts are present there.. are they missing here too?

          Alan Harder added a comment -

          Also, does it work correctly if you change the artifacts to archive to:

          **/target/*.ear,**/target/*.war
          

          ?

          Alan Harder added a comment - Also, does it work correctly if you change the artifacts to archive to: **/target /*.ear,**/ target/*.war ?

          swiety added a comment -

          Thanks mindless.
          I have followed your advise, downloaded all the files in single archive.zip file and can see all the files are there, so still don't understand why they can't be downloaded from the webpage. The contents of this archive is:

          $ unzip -l archive.zip | egrep '\.?ar$'
           24909115  27/04/10 15:58   archive/syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war
            7813865  27/04/10 15:59   archive/syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war
             107226  27/04/10 15:59   archive/syp-parent/syp-lib/resources/target/resources.war
           19268129  27/04/10 15:59   archive/syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear
           26399487  27/04/10 15:59   archive/syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear
           19781754  27/04/10 15:59   archive/syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear
           11917076  27/04/10 15:59   archive/syp-parent/syp-lib/auth/auth-web/target/auth-web.war
           20264951  27/04/10 15:59   archive/syp-parent/casePrep/case-remote-interface/case-remote-interface-ear/target/case-remote-interface-ear.ear
           32764900  27/04/10 15:59   archive/syp-parent/casePrep/casePrep/target/casePrep.war
           22901262  27/04/10 15:59   archive/syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war
           38955467  27/04/10 15:59   archive/syp-parent/casePrep/case-prep-ear/target/case-prep-ear.ear
           45235167  27/04/10 15:59   archive/syp-parent/ois2/target/ois2.war
            1265752  27/04/10 15:59   archive/syp-parent/sypap-ws-sts/target/sypap-ws-sts.war
           34724814  27/04/10 15:59   archive/syp-parent/system-admin/target/system-admin.war
           27258694  27/04/10 15:59   archive/syp-parent/mip/mip-ws/target/mip-ws.war
          

          I have looked into the filesystem of a successful build and still can see that the resources.war file (one of the missing ones) exists in this build:

           find builds/3091/ -name resources.war -ls
          2326893  112 -rw-r--r--   1 huds     huds       107226 Apr 27 15:57 builds/3091/archive/syp-parent/syp-lib/resources/target/resources.war
          

          Also did try to use the suggested file set pattern (

          **/target/*.ear,**/target/*.war

          ), but without success. The files I can see are listed below, you can see the resources.war file still is not there.

          Build Artifacts
          case-prep-ear.ear 
          case-remote-interface-ear.ear 
          quartzCPS.war 
          casePrep.war 
          doc-repo-ws.war 
          mip-ws.war 
          ois2.war 
          auth-web.war 
          courtDiaryAdmin.war 
          court-diary-ear.ear 
          lynx-extract-ui-test.war 
          lynx1-audit.ear 
          lynx1-audit-ws.war 
          

          swiety added a comment - Thanks mindless. I have followed your advise, downloaded all the files in single archive.zip file and can see all the files are there, so still don't understand why they can't be downloaded from the webpage. The contents of this archive is: $ unzip -l archive.zip | egrep '\.?ar$' 24909115 27/04/10 15:58 archive/syp-parent/syp-lib/lynx-extract/lynx-extract-ui-test/target/lynx-extract-ui-test.war 7813865 27/04/10 15:59 archive/syp-parent/syp-lib/rich-screen/rich-screen-web/target/rich-screen-web.war 107226 27/04/10 15:59 archive/syp-parent/syp-lib/resources/target/resources.war 19268129 27/04/10 15:59 archive/syp-parent/syp-lib/report-producer/report-producer-ear/target/report-producer.ear 26399487 27/04/10 15:59 archive/syp-parent/syp-lib/court-diary/court-diary-ear/target/court-diary-ear.ear 19781754 27/04/10 15:59 archive/syp-parent/syp-lib/lynx1-audit/lynx1-audit-ear/target/lynx1-audit.ear 11917076 27/04/10 15:59 archive/syp-parent/syp-lib/auth/auth-web/target/auth-web.war 20264951 27/04/10 15:59 archive/syp-parent/casePrep/ case -remote- interface / case -remote- interface -ear/target/ case -remote- interface -ear.ear 32764900 27/04/10 15:59 archive/syp-parent/casePrep/casePrep/target/casePrep.war 22901262 27/04/10 15:59 archive/syp-parent/casePrep/doc-repo/doc-repo-ws/target/doc-repo-ws.war 38955467 27/04/10 15:59 archive/syp-parent/casePrep/ case -prep-ear/target/ case -prep-ear.ear 45235167 27/04/10 15:59 archive/syp-parent/ois2/target/ois2.war 1265752 27/04/10 15:59 archive/syp-parent/sypap-ws-sts/target/sypap-ws-sts.war 34724814 27/04/10 15:59 archive/syp-parent/system-admin/target/system-admin.war 27258694 27/04/10 15:59 archive/syp-parent/mip/mip-ws/target/mip-ws.war I have looked into the filesystem of a successful build and still can see that the resources.war file (one of the missing ones) exists in this build: find builds/3091/ -name resources.war -ls 2326893 112 -rw-r--r-- 1 huds huds 107226 Apr 27 15:57 builds/3091/archive/syp-parent/syp-lib/resources/target/resources.war Also did try to use the suggested file set pattern ( **/target /*.ear,**/ target/*.war ), but without success. The files I can see are listed below, you can see the resources.war file still is not there. Build Artifacts case -prep-ear.ear case -remote- interface -ear.ear quartzCPS.war casePrep.war doc-repo-ws.war mip-ws.war ois2.war auth-web.war courtDiaryAdmin.war court-diary-ear.ear lynx-extract-ui-test.war lynx1-audit.ear lynx1-audit-ws.war

          Alan Harder added a comment -

          You can try setting the two ArtifactList related properties shown here:
          http://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties
          and see if that helps.

          Alan Harder added a comment - You can try setting the two ArtifactList related properties shown here: http://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties and see if that helps.

          swiety added a comment - - edited

          Thanks Mindless again, that was it.
          I have added the

          -Dhudson.model.Run.ArtifactList.treeCutoff=100

          and now I can see all the artifacts - in the current and in the previous builds.

          There is probably something broken with this treeCutoff calculation, when I have decreased it to 10 I was able to see only 3 artifacts.

          Leaving this issue open then as increasing the treeCutoff parameter seems to be workaround only.

          swiety added a comment - - edited Thanks Mindless again, that was it. I have added the -Dhudson.model.Run.ArtifactList.treeCutoff=100 and now I can see all the artifacts - in the current and in the previous builds. There is probably something broken with this treeCutoff calculation, when I have decreased it to 10 I was able to see only 3 artifacts. Leaving this issue open then as increasing the treeCutoff parameter seems to be workaround only.

          Alan Harder added a comment -

          I'm not able to find a problem.. before you reported this issue, were you setting either listCutoff or treeCutoff? Setting treeCutoff to a value less than listCutoff (defaults to 16) would likely confuse things. Are you able to see any problems when treeCutoff > listCutoff?

          Alan Harder added a comment - I'm not able to find a problem.. before you reported this issue, were you setting either listCutoff or treeCutoff? Setting treeCutoff to a value less than listCutoff (defaults to 16) would likely confuse things. Are you able to see any problems when treeCutoff > listCutoff?

          swiety added a comment -

          before you reported this issue, were you setting either listCutoff or treeCutoff?

          No.

          Setting treeCutoff to a value less than listCutoff (defaults to 16) would likely confuse things.

          Ok, so maybe that's the reason why I see only 3 artefacts when treeCutoff is set to 10.

          Are you able to see any problems when treeCutoff > listCutoff?

          Yes. Although I can see all my 15 artefacts when treeCutoff is set to 100 and listCutoff is not set (so defaults to 16), when treeCutoff is unset (or set explicitly to 40) I can only see 11 artefacts (so 4 are missing), as originally reported.

          Looking at the artifactsList.jelly (http://fisheye.jenkins-ci.org/browse/Hudson/trunk/hudson/main/core/src/main/resources/lib/hudson/artifactList.jelly?r=HEAD) file I can't see any problem either, my only suspection would be that hudson.model.Run.getArtifactsUpTo(int n) (http://fisheye.jenkins-ci.org/browse/Hudson/trunk/hudson/main/core/src/main/java/hudson/model/Run.java?r=30290#l751) method returns less artifacts than requested.

          swiety added a comment - before you reported this issue, were you setting either listCutoff or treeCutoff? No. Setting treeCutoff to a value less than listCutoff (defaults to 16) would likely confuse things. Ok, so maybe that's the reason why I see only 3 artefacts when treeCutoff is set to 10. Are you able to see any problems when treeCutoff > listCutoff? Yes. Although I can see all my 15 artefacts when treeCutoff is set to 100 and listCutoff is not set (so defaults to 16), when treeCutoff is unset (or set explicitly to 40) I can only see 11 artefacts (so 4 are missing), as originally reported. Looking at the artifactsList.jelly ( http://fisheye.jenkins-ci.org/browse/Hudson/trunk/hudson/main/core/src/main/resources/lib/hudson/artifactList.jelly?r=HEAD ) file I can't see any problem either, my only suspection would be that hudson.model.Run.getArtifactsUpTo(int n) ( http://fisheye.jenkins-ci.org/browse/Hudson/trunk/hudson/main/core/src/main/java/hudson/model/Run.java?r=30290#l751 ) method returns less artifacts than requested.

          Alan Harder added a comment -

          ok, think I've found it. There's a double-counting bug when the artifacts are in various subdirectories.. I tested with a bunch of artifacts in one directory and this doesn't trigger the bug. Will fix for 1.357.. thx for the report.

          Alan Harder added a comment - ok, think I've found it. There's a double-counting bug when the artifacts are in various subdirectories.. I tested with a bunch of artifacts in one directory and this doesn't trigger the bug. Will fix for 1.357.. thx for the report.

          Code changed in hudson
          User: : mindless
          Path:
          trunk/hudson/main/core/src/main/java/hudson/model/Run.java
          trunk/hudson/main/core/src/main/resources/lib/hudson/artifactList.jelly
          trunk/hudson/main/test/src/test/java/hudson/model/JobTest.java
          trunk/hudson/main/test/src/test/resources/hudson/model/JobTest/testGetArtifactsUpTo.zip
          trunk/www/changelog.html
          http://jenkins-ci.org/commit/30451
          Log:
          [FIXED JENKINS-6371] Fix getArtifactsUpTo so it doesn't count collapsed-directories
          as artifacts, resulting in too few artifacts returned (since 1.348).
          Also fix limit check so it returns "n" items, not n+1. Added test.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/core/src/main/java/hudson/model/Run.java trunk/hudson/main/core/src/main/resources/lib/hudson/artifactList.jelly trunk/hudson/main/test/src/test/java/hudson/model/JobTest.java trunk/hudson/main/test/src/test/resources/hudson/model/JobTest/testGetArtifactsUpTo.zip trunk/www/changelog.html http://jenkins-ci.org/commit/30451 Log: [FIXED JENKINS-6371] Fix getArtifactsUpTo so it doesn't count collapsed-directories as artifacts, resulting in too few artifacts returned (since 1.348). Also fix limit check so it returns "n" items, not n+1. Added test.

            mindless Alan Harder
            swiety swiety
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: