Uploaded image for project: 'Commons VFS'
  1. Commons VFS
  2. VFS-634

DefaultFileReplicator fails to clean all local files on close()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.1, 2.2
    • None
    • None
    • windows

    Description

      Hi,
      We face an issue when we use the DefaultFileSystemManager.
      With this example :

      import org.apache.commons.vfs2.FileObject;
      import org.apache.commons.vfs2.FileSystemException;
      import org.apache.commons.vfs2.Selectors;
      import org.apache.commons.vfs2.VFS;
      import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
      
      /**
       * @author GHALOUIN
       *
       */
      public class TestVFS {
      
          /**
           * @param args
           * @throws FileSystemException
           */
          public static void main(final String[] args) throws FileSystemException {
              final DefaultFileSystemManager vfsManager = (DefaultFileSystemManager) VFS.getManager();
              final FileObject tempDir = vfsManager.resolveFile("tmp://simulation");
      
              final FileObject fileSrc = vfsManager.resolveFile("C:/toto.txt");
              tempDir.resolveFile("toto").copyFrom(fileSrc, Selectors.SELECT_SELF);
      
              vfsManager.close();
          }
      
      }
      

      At the close call we have the following error :

      INFOS: Using "C:\Users\ghalouin\AppData\Local\Temp\vfs_cache" as temporary files store.
      avr. 21, 2017 4:21:27 PM org.apache.commons.vfs2.impl.StandardFileSystemManager warn
      AVERTISSEMENT: Could not clean up temporary file "tmp_382_tempfs".
      org.apache.commons.vfs2.FileSystemException: Incorrect file system URI "file:///C:/" in name "file:///C:/Users/ghalouin/AppData/Local/Temp/vfs_cache/tmp_382_tempfs", was expecting "file:///C:".
      at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:324)
      at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:317)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:84)
      at org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider.findLocalFile(DefaultLocalFileProvider.java:106)
      at org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider.findLocalFile(DefaultLocalFileProvider.java:119)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.toFileObject(DefaultFileSystemManager.java:1003)
      at org.apache.commons.vfs2.impl.DefaultVfsComponentContext.toFileObject(DefaultVfsComponentContext.java:78)
      at org.apache.commons.vfs2.impl.DefaultFileReplicator.deleteFile(DefaultFileReplicator.java:172)
      at org.apache.commons.vfs2.impl.DefaultFileReplicator.close(DefaultFileReplicator.java:111)
      at org.apache.commons.vfs2.impl.PrivilegedFileReplicator$CloseAction.run(PrivilegedFileReplicator.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.commons.vfs2.impl.PrivilegedFileReplicator.close(PrivilegedFileReplicator.java:113)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.closeComponent(DefaultFileSystemManager.java:500)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.close(DefaultFileSystemManager.java:604)
      at testVFS.TestVFS.main(TestVFS.java:29)

      Attachments

        1. VFS-634-draft1.patch
          2 kB
          Bernd Eckenfels

        Activity

          People

            Unassigned Unassigned
            GilianHalouin Gilian HALOUIN
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: