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

Melloware edited comment on IO-663 at 2/21/21, 1:13 PM:
--------------------------------------------------------

So I don't have access to the server but I swapped out our same exact 
executable with the only difference being 2.6.0 vs 2.9.0-SNAPSHOT.  Our process 
runs on a Windows 2008 server and before we run any code we make a copy of all 
our input files to a new directory so we are never working on the originals.

We use `FileUtils.copyDirectory` to do the copy and our application immediately 
started reporting errors of "missing files". Sure enough when we look in the 
directory that was copied to... its completely empty.  So its like it didn't 
actually copy all the files.


was (Author: melloware):
So I don't have access to the server but I swapped out our same exact 
executable with the only difference being 2.6.0 vs 2.9.0-SNAPSHOT.  Our process 
runs on a Windows 2008 server and before we run any code we make a copy of all 
our input files to a new directory so we are never working on the originals.

We use `FileUtils.copyDirectory` to do the copy and our application immediately 
started reporting errors of "missing files". Sure enough when we look in the 
directory that was copied its completely empty.  So its like it didn't actually 
copy all the files.

> FileUtils.copyDirectory(File srcDir, File destDir) fails on Windows
> -------------------------------------------------------------------
>
>                 Key: IO-663
>                 URL: https://issues.apache.org/jira/browse/IO-663
>             Project: Commons IO
>          Issue Type: Bug
>            Reporter: Elliotte Rusty Harold
>            Priority: Critical
>
> 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 Jenkins 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 to 
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to