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

(possible)race condition in file archiving

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: Major Major
    • core, maven-plugin
    • None
    • 12 slaves, LTS 1.466.2+JENKINS-15382
      Linux master, linux ssh slaves

      Whilst stress testing our jenkins instnace to check the underlying hardware I was able to reproduce the following:

      Just copied "file" to "target" but now I can't find it

      The stress test is the following:
      a maven2 type job building constantly on all executors (self triggering and building to a schedule * * * * * * - such that once a build is finished it will start a new build).
      maven2 job is a large multimodule build
      build is with maven 3.0.4
      maven is running in parrallel mode (-T3C)

      job retention is set to indefinate - but artifacts should only keep the last job
      <logRotator>
      <daysToKeep>-1</daysToKeep>
      <numToKeep>-1</numToKeep>
      <artifactDaysToKeep>1</artifactDaysToKeep>
      <artifactNumToKeep>1</artifactNumToKeep>
      </logRotator>

      (Note we have not seen this error in production)

      00:24:58.463 [JENKINS] Archiving /opt/jenkins/workspace/tests/maven3-stress/XXXXX/RPMS/noarch/XXXX-4.2.0-5_20130123223356_el5.noarch.rpm to /opt/jenkins/data/jobs/tests/jobs/maven3-stress/modules/XXXXXX/builds/2013-01-23_22-08-06/archive/XXXXX/4.2.0-5-SNAPSHOT/XXXXX-4.2.0-5-SNAPSHOT-rpm.rpm
      00:24:58.463 java.lang.reflect.InvocationTargetException
      00:24:58.464 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      00:24:58.476 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      00:24:58.578 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      00:24:58.583 at java.lang.reflect.Method.invoke(Method.java:597)
      00:24:58.598 at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
      00:24:58.604 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
      00:24:58.605 at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
      00:24:58.611 at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
      00:24:58.693 at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
      00:24:58.694 at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      00:24:58.699 at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      00:24:58.699 at hudson.remoting.Request$2.run(Request.java:326)
      00:24:58.699 at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      00:24:58.699 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      00:24:58.699 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      00:24:59.034 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      00:24:59.034 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      00:24:59.601 at java.lang.Thread.run(Thread.java:662)
      00:24:59.602 Caused by: java.lang.AssertionError: Just copied /opt/jenkins/workspace/tests/maven3-stress/XXXXX/target/rpm/XXXX/RPMS/noarch/XXXXX-4.2.0-5_20130123223356_el5.noarch.rpm to /opt/jenkins/data/jobs/tests/jobs/maven3-stress/modules/XXXXX/builds/2013-01-23_22-08-06/archive/XXXX/XXXX/4.2.0-5-SNAPSHOT/XXXXXXX-4.2.0-5-SNAPSHOT-rpm.rpm but now I can't find it
      00:24:59.602 at hudson.maven.reporters.MavenArtifact.archive(MavenArtifact.java:278)
      00:24:59.602 at hudson.maven.reporters.MavenArtifactArchiver.postBuild(MavenArtifactArchiver.java:124)
      00:24:59.602 at hudson.maven.Maven3Builder$MavenExecutionListener.sessionEnded(Maven3Builder.java:262)
      00:24:59.602 at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:64)
      00:24:59.602 at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
      00:24:59.917 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:170)
      00:24:59.919 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
      00:25:00.050 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
      00:25:00.051 at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
      00:25:00.423 ... 18 more

      (note filenames redacted to protect the guilty)

            Unassigned Unassigned
            teilo James Nord
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: