[ 
https://issues.apache.org/jira/browse/MRELEASE-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17467521#comment-17467521
 ] 

Michael Osipov commented on MRELEASE-1066:
------------------------------------------

You are describing a typical Windows problem of exclusive file locking when 
open. POSIX does not suffer from this. Let's see how far we get. If we have 
leaks, we must fix them, but we cannot and will not fix Windows.

> FileUtils.copyDirectory(File srcDir, File destDir) fails on Windows
> -------------------------------------------------------------------
>
>                 Key: MRELEASE-1066
>                 URL: https://issues.apache.org/jira/browse/MRELEASE-1066
>             Project: Maven Release Plugin
>          Issue Type: Bug
>          Components: prepare
>         Environment: Windows
>            Reporter: Elliotte Rusty Harold
>            Assignee: Slawomir Jaranowski
>            Priority: Major
>              Labels: up-for-grabs
>             Fix For: 3.0.0
>
>
> This bug is shared (likely because of code copied from one place to another) 
> between the similar methods in commons IO, codehaus-plexus-utils, and 
> maven-shared-utils. 
> I don't have an isolated test case because this bug is platform specific and 
> I've only seen it in Travis CI builds on Windows using JDK 7 through 15. I 
> don't have a Windows system handy to test it. However it is reproducible. 
> Typical code that triggers it is in RestoreBackupPomsPhaseTest in 
> maven-release:
> ```
>         // copy poms so tests are valid without clean
>         File sourceDir = getTestFile( "src/test/resources" + projectPath );
>         File testDir = getTestFile( "target/test-classes" + projectPath );
>         FileUtils.copyDirectoryStructure( sourceDir, testDir );
> ```
> I don't know whether there might be something weird in the setup of those two 
> directories that's involved. 
> Typical error message is:
> Caused by: java.nio.file.FileSystemException:
> F:\jenkins\jenkins-slave\workspace\maven-box_maven-release_windows@2@2\windows-jdk8-m3.6.x_build\maven-release-manager\target\test-classes\projects\restore-backup-poms\basic-pom\pom.xml:
>  The process cannot access the file because it is being used by another 
> process
> "The process cannot access the file because it is being used by another 
> process" I think points to the root of the bug. This is a Windows file system 
> error message.
> Some history is here where I noticed it:
> https://github.com/apache/maven-release/pull/42
> In this case, I started with plexus-utils 3.1.0 which worked, upgraded t 
> plexus-utils 3.3.0, which didn't. And then tried the FileUtils.copyDirectory 
> from both maven-shared-utils and commons-io, all of which failed in the same 
> way. 
> I think this is caused by the use of NIO, which doesn't work quite the same 
> when copying files on Windows as on Linux and Mac OS X.
> Also see https://issues.apache.org/jira/browse/IO-663?filter=-2



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to