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

TemporaryDirectoryAllocator changes have destabilized core test suite (regression in 2.406)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • 2.410

      Steps to reproduce

      Run the Jenkins core test suite in a loop on ci.jenkins.io.

      Expected results

      While the test suite has (in recent months) not had a 100% pass rate, it has had one very close to that after a concerted effort to eliminate flaky tests earlier this year. The only known issues that I recall seeing repeatedly include a Remoting bug (something to do with "Invalid object ID" and "iota") as well as some timeouts on Windows due to slow test execution. In any case, there have not been any regular test teardown issues in many months.

      Actual results

      As of jenkinsci/jenkins-test-harness#198 it is now not uncommon for a test run to fail with an unrelated issue in test teardown, such as

      java.io.IOException: /home/jenkins/agent/workspace/Core_jenkins_PR-8099/test/target/j h15422502426256102220/jobs/aProject/builds/1
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:144)
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.dispose(TemporaryDirectoryAllocator.java:99)
      	at org.jvnet.hudson.test.TestEnvironment.dispose(TestEnvironment.java:84)
      	at org.jvnet.hudson.test.JenkinsRule.after(JenkinsRule.java:524)
      	at org.jvnet.hudson.test.JenkinsRule$1.evaluate(JenkinsRule.java:625)
      	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299)
      	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
      	at java.base/java.lang.Thread.run(Thread.java:1589)
      Caused by: java.nio.file.DirectoryNotEmptyException: /home/jenkins/agent/workspace/Core_jenkins_PR-8099/test/target/j h15422502426256102220/jobs/aProject/builds
      	at java.base/sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:246)
      	at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
      	at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191)
      	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:141)
      	... 11 more
      

      which is a regression of the status quo and has impacted core development. Suggest an active effort to run tests in a loop to track down and fix these failures or a revert of jenkinsci/jenkins-test-harness#198 to restore the status quo.

            jglick Jesse Glick
            basil Basil Crow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: