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

Maven Projects don't delete temp 'resource-xxx' directories from /tmp

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core, maven-plugin, remoting
    • Jenkins ver. 2.190.2 on Ubuntu Linux 64-bit
      os.version = 4.4.0-177-generic
      openjdk-8 (1.8.0_232)

      We've noticed that the /tmp directory on our slaves is filling up with directories with names beginning with "resource-" (ex. "resource-504258138138001911").

      I was able to narrow down how to reproduce the issue.  Most of our jobs are "Freestyle" projects, but one is a "Maven Project"; and whenever that job runs, it creates a /tmp/resources-xxx temp directory but never deletes it.  The Freestyle projects that run the exact same "mvn clean install" command using the Execute shell plugin don't experience this issue.

      If you want to reproduce it, create a Maven Project, clone a git repo that has a maven project that has some JUnit tests.  Run "ls -al /tmp" before and after executing the "clean install" maven goal.  You will see 2 new /tmp/resource directories after running the Maven goal (which should also run some tests).

       

      My guess as to the problem is someone is probably calling Files.createTempDirectory("resource-") without calling File.deleteOnExit() afterwards.

          [JENKINS-63118] Maven Projects don't delete temp 'resource-xxx' directories from /tmp

          Chris Just created issue -
          Chris Just made changes -
          Description Original: We've noticed that the /tmp directory on our slaves is filling up with directories with names beginning with "resource-" (ex. "resource-504258138138001911").

          I was able to narrow down how to reproduce the issue.  Most of our jobs are "Freestyle" projects, but one is a "Maven Project"; and whenever that job runs, it creates a /tmp/resources-xxx temp directory but never deletes it.  The Freestyle projects that run the exact same "mvn clean install" command using the Execute shell plugin don't experience this issue.

          If you want to reproduce it, create a Maven Project, clone a git repo that has a maven project that has some JUnit tests.  Run "ls -al /tmp" before and after executing the "clean install" maven goal.  You will see 2 new /tmp/resource directories after running the Maven goal (which should also run some tests).
          New: We've noticed that the /tmp directory on our slaves is filling up with directories with names beginning with "resource-" (ex. "resource-504258138138001911").

          I was able to narrow down how to reproduce the issue.  Most of our jobs are "Freestyle" projects, but one is a "Maven Project"; and whenever that job runs, it creates a /tmp/resources-xxx temp directory but never deletes it.  The Freestyle projects that run the exact same "mvn clean install" command using the Execute shell plugin don't experience this issue.

          If you want to reproduce it, create a Maven Project, clone a git repo that has a maven project that has some JUnit tests.  Run "ls -al /tmp" before and after executing the "clean install" maven goal.  You will see 2 new /tmp/resource directories after running the Maven goal (which should also run some tests).

           

          My guess as to the problem is someone is probably calling [Files.createTempDirectory("resource-")|[https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#createTempDirectory-java.nio.file.Path-java.lang.String-java.nio.file.attribute.FileAttribute...-]] without calling File.deleteOnExit() afterwards.
          Oleg Nenashev made changes -
          Component/s New: maven-plugin [ 16033 ]
          Thomas de Grenier de Latour made changes -
          Component/s New: remoting [ 15489 ]

            Unassigned Unassigned
            cpjust Chris Just
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: