You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Steve Pietrowicz (JIRA)" <ji...@codehaus.org> on 2007/02/08 21:35:44 UTC

[jira] Created: (CONTINUUM-1156) Continuum will not successfully delete build directories containing symbolic links

Continuum will not successfully delete build directories containing symbolic links
----------------------------------------------------------------------------------

                 Key: CONTINUUM-1156
                 URL: http://jira.codehaus.org/browse/CONTINUUM-1156
             Project: Continuum
          Issue Type: Bug
          Components: Core system
    Affects Versions: 1.1
         Environment: Linux Fedora Core 5
            Reporter: Steve Pietrowicz
         Attachments: ContinuumFileUtils.java

FileUtils.cleanDirectory() will not remove symbolic links if they are located in the directory that it is trying to clean.

This occurs for me when you set up a Shell project with the "Build Fresh" option checked.

The project I'm building is invoked with a shell script.  I download the shell script through continuum and it kicks off the first build successfully.

On the next scheduled build,  the following message occurs:

---

org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Error executing action 'clean-working-directory'
	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:432)
	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.cleanWorkingDirectory(DefaultBuildController.java:361)
	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:103)
	at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: Directory /scratch/home/srp/tomcat/apache-tomcat-5.5.17/webapps/continuum/WEB-INF/working-directory/1/dir/Linux/external/TclTk/8.5a4/bin unable to be deleted.
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1332)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
	at org.apache.maven.continuum.core.action.CleanWorkingDirectoryAction.execute(CleanWorkingDirectoryAction.java:60)
	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:406)
	... 9 more

--

A search in the directory mentioned above show a symbolic link that hasn't been deleted.

The problem occurs because the Plexus class FileUtils.cleanDirectory() doesn't work as advertised.   I reported that bug on the Plexu Utils Jira, which you can see here:

 http://jira.codehaus.org/browse/PLXUTILS-28

I was able to incorporate the fix in Continuum by  creating a new class ContinuumFileUtils, and changed all occurances of FileUtils.cleanDirectory to call the new class instead.   I've uploaded a copy of the file along with this bug report.

While I think it's likely that this bug will eventually get fixed in Plexus, it's breaking Continuum builds now, so I think this needs to be fixed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (CONTINUUM-1156) Continuum will not successfully delete build directories containing symbolic links

Posted by "Jesse McConnell (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/CONTINUUM-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse McConnell updated CONTINUUM-1156:
---------------------------------------

    Fix Version/s: 1.1-alpha-#

> Continuum will not successfully delete build directories containing symbolic links
> ----------------------------------------------------------------------------------
>
>                 Key: CONTINUUM-1156
>                 URL: http://jira.codehaus.org/browse/CONTINUUM-1156
>             Project: Continuum
>          Issue Type: Bug
>          Components: Core system
>    Affects Versions: 1.1-alpha-1
>         Environment: Linux Fedora Core 5
>            Reporter: Steve Pietrowicz
>             Fix For: 1.1-alpha-#
>
>         Attachments: ContinuumFileUtils.java
>
>
> FileUtils.cleanDirectory() will not remove symbolic links if they are located in the directory that it is trying to clean.
> This occurs for me when you set up a Shell project with the "Build Fresh" option checked.
> The project I'm building is invoked with a shell script.  I download the shell script through continuum and it kicks off the first build successfully.
> On the next scheduled build,  the following message occurs:
> ---
> org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Error executing action 'clean-working-directory'
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:432)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.cleanWorkingDirectory(DefaultBuildController.java:361)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:103)
> 	at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
> 	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
> 	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
> 	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Directory /scratch/home/srp/tomcat/apache-tomcat-5.5.17/webapps/continuum/WEB-INF/working-directory/1/dir/Linux/external/TclTk/8.5a4/bin unable to be deleted.
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1332)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.apache.maven.continuum.core.action.CleanWorkingDirectoryAction.execute(CleanWorkingDirectoryAction.java:60)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:406)
> 	... 9 more
> --
> A search in the directory mentioned above show a symbolic link that hasn't been deleted.
> The problem occurs because the Plexus class FileUtils.cleanDirectory() doesn't work as advertised.   I reported that bug on the Plexu Utils Jira, which you can see here:
>  http://jira.codehaus.org/browse/PLXUTILS-28
> I was able to incorporate the fix in Continuum by  creating a new class ContinuumFileUtils, and changed all occurances of FileUtils.cleanDirectory to call the new class instead.   I've uploaded a copy of the file along with this bug report.
> While I think it's likely that this bug will eventually get fixed in Plexus, it's breaking Continuum builds now, so I think this needs to be fixed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (CONTINUUM-1156) Continuum will not successfully delete build directories containing symbolic links

Posted by "John McNair (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/CONTINUUM-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_94278 ] 

John McNair commented on CONTINUUM-1156:
----------------------------------------

I created a patch w/ unit tests and attached it to the referenced plxutils ticket:
http://jira.codehaus.org/browse/PLXUTILS-28

I don't know when they'll get around to fixing it, but it bites me too.

> Continuum will not successfully delete build directories containing symbolic links
> ----------------------------------------------------------------------------------
>
>                 Key: CONTINUUM-1156
>                 URL: http://jira.codehaus.org/browse/CONTINUUM-1156
>             Project: Continuum
>          Issue Type: Bug
>          Components: Core system
>    Affects Versions: 1.1-alpha-1
>         Environment: Linux Fedora Core 5
>            Reporter: Steve Pietrowicz
>             Fix For: 1.1-alpha-#
>
>         Attachments: ContinuumFileUtils.java
>
>
> FileUtils.cleanDirectory() will not remove symbolic links if they are located in the directory that it is trying to clean.
> This occurs for me when you set up a Shell project with the "Build Fresh" option checked.
> The project I'm building is invoked with a shell script.  I download the shell script through continuum and it kicks off the first build successfully.
> On the next scheduled build,  the following message occurs:
> ---
> org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Error executing action 'clean-working-directory'
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:432)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.cleanWorkingDirectory(DefaultBuildController.java:361)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:103)
> 	at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
> 	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
> 	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
> 	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Directory /scratch/home/srp/tomcat/apache-tomcat-5.5.17/webapps/continuum/WEB-INF/working-directory/1/dir/Linux/external/TclTk/8.5a4/bin unable to be deleted.
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1332)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.apache.maven.continuum.core.action.CleanWorkingDirectoryAction.execute(CleanWorkingDirectoryAction.java:60)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:406)
> 	... 9 more
> --
> A search in the directory mentioned above show a symbolic link that hasn't been deleted.
> The problem occurs because the Plexus class FileUtils.cleanDirectory() doesn't work as advertised.   I reported that bug on the Plexu Utils Jira, which you can see here:
>  http://jira.codehaus.org/browse/PLXUTILS-28
> I was able to incorporate the fix in Continuum by  creating a new class ContinuumFileUtils, and changed all occurances of FileUtils.cleanDirectory to call the new class instead.   I've uploaded a copy of the file along with this bug report.
> While I think it's likely that this bug will eventually get fixed in Plexus, it's breaking Continuum builds now, so I think this needs to be fixed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (CONTINUUM-1156) Continuum will not successfully delete build directories containing symbolic links

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/CONTINUUM-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter updated CONTINUUM-1156:
------------------------------------

    Patch Submitted: [Yes]

> Continuum will not successfully delete build directories containing symbolic links
> ----------------------------------------------------------------------------------
>
>                 Key: CONTINUUM-1156
>                 URL: http://jira.codehaus.org/browse/CONTINUUM-1156
>             Project: Continuum
>          Issue Type: Bug
>          Components: Core system
>    Affects Versions: 1.1-alpha-1
>         Environment: Linux Fedora Core 5
>            Reporter: Steve Pietrowicz
>             Fix For: Future
>
>         Attachments: ContinuumFileUtils.java
>
>
> FileUtils.cleanDirectory() will not remove symbolic links if they are located in the directory that it is trying to clean.
> This occurs for me when you set up a Shell project with the "Build Fresh" option checked.
> The project I'm building is invoked with a shell script.  I download the shell script through continuum and it kicks off the first build successfully.
> On the next scheduled build,  the following message occurs:
> ---
> org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Error executing action 'clean-working-directory'
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:432)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.cleanWorkingDirectory(DefaultBuildController.java:361)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:103)
> 	at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
> 	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
> 	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
> 	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Directory /scratch/home/srp/tomcat/apache-tomcat-5.5.17/webapps/continuum/WEB-INF/working-directory/1/dir/Linux/external/TclTk/8.5a4/bin unable to be deleted.
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1332)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1328)
> 	at org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1158)
> 	at org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1371)
> 	at org.apache.maven.continuum.core.action.CleanWorkingDirectoryAction.execute(CleanWorkingDirectoryAction.java:60)
> 	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:406)
> 	... 9 more
> --
> A search in the directory mentioned above show a symbolic link that hasn't been deleted.
> The problem occurs because the Plexus class FileUtils.cleanDirectory() doesn't work as advertised.   I reported that bug on the Plexu Utils Jira, which you can see here:
>  http://jira.codehaus.org/browse/PLXUTILS-28
> I was able to incorporate the fix in Continuum by  creating a new class ContinuumFileUtils, and changed all occurances of FileUtils.cleanDirectory to call the new class instead.   I've uploaded a copy of the file along with this bug report.
> While I think it's likely that this bug will eventually get fixed in Plexus, it's breaking Continuum builds now, so I think this needs to be fixed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira