Uploaded image for project: 'MINA SSHD'
  1. MINA SSHD
  2. SSHD-97

Uploading file via SFTP leaves file in locked state on Windows

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.5.0
    • 0.6.0
    • None
    • JDK 1.6.0_18 (32bit) running on Win 7 (64 bit). I've a fairly out-of-the-box Mina SSHD / sftp config. I'm serving from my local Windows machine.

    Description

      Uploading a file via SFTP leaves the file in a locked state. Specifically, when I upload a file using sftpd, the file is locked in windows, even after the upload is complete.

      I verified this by using Yourkit Profiler (see attached screenshots). There are two writes to the file

      • first: NativeSshFile.truncate() erases the old file. This is what fails to clean up
      • second: NativeSshFile.createOutputStream(). This is properly closed after use.

      The fix is simple. In the truncate() method, close the RandomAccessFile after it is created. See attached patch.

      I tested this by putting the truncate method in a subclass of NativeSshFile and it solved the problem.

      After applying the patch to the Mina SSHD source code, I ran "mvn test" which passed.

      Attachments

        1. stacktrace.png
          132 kB
          William Glass-Husain
        2. patch.txt
          1 kB
          William Glass-Husain
        3. notclosed.png
          107 kB
          William Glass-Husain

        Activity

          People

            gnodet Guillaume Nodet
            wglass William Glass-Husain
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: