Opened 16 years ago

Last modified 10 years ago

#3576 closed Bug report

Failed upload - local file remains locked

Reported by: luckyrat Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc: luckyrat, Tim Kosse
Component version: Operating system type:
Operating system version:

Description

O/S: Windows XP SP2 (English)
Filezilla: 3.0.11 (English)

An attempted upload fails becuase I do not have write permissions on the server for the file in question [expected].

FileZilla retains a lock on the file in the local filesystem [unexpected].

Filezilla restart is required to release the file (even a successful upload after fixing file permissions does not release the earlier lock).

Full log below.

PS in case it's relevant: I was asked to respond to a "target file already exists" dialog box three consecutive times as part of this single upload attempt.

Status: Connecting to ftp.musites.com:2222...
Trace: Going to execute "C:\Program Files\FileZilla FTP Client\fzsftp.exe"
Response: fzSftp started
Trace: CSftpControlSocket::ConnectParseResponse(fzSftp started)
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ConnectSend()
Command: open "luckyrat@…" 2222
Trace: Looking up host "ftp.musites.com"
Trace: Connecting to 70.84.62.226 port 2222
Trace: Server version: SSH-2.0-OpenSSH_3.9p1
Trace: Using SSH protocol version 2
Trace: We claim version: SSH-2.0-PuTTY_Local:_Jun_15_2008_14:47:43
Trace: Doing Diffie-Hellman group exchange
Trace: Doing Diffie-Hellman key exchange with hash SHA-1
Trace: Host key fingerprint is:
Trace: ssh-rsa 1024 ad:1a:ad:83:38:98:0e:cb:d1:88:b6:5a:dd:fe:c6:91
Trace: Initialised AES-256 SDCTR client->server encryption
Trace: Initialised HMAC-SHA1 client->server MAC algorithm
Trace: Initialised AES-256 SDCTR server->client encryption
Trace: Initialised HMAC-SHA1 server->client MAC algorithm
Trace: Keyboard-interactive authentication refused
Command: Pass:
Trace: Sent password
Trace: Access granted
Trace: Opened channel for session
Trace: Started a shell/command
Status: Connected to ftp.musites.com
Trace: CSftpControlSocket::ConnectParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Retrieving directory listing...
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ChangeDirSend()
Command: pwd
Response: Current directory is: "/home/luckyrat"
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Status: Calculating timezone offset of server...
Command: mtime ".cpcpan"
Response: 1206990228
Trace: CSftpControlSocket::ListParseResponse(1206990228)
Status: Timezone offsets: Server: -18048 seconds. Local: 3600 seconds. Difference: 21648 seconds.
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Directory listing successful
Status: Retrieving directory listing...
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ChangeDirSend()
Command: cd "/home/luckyrat/public_html/christomlinson.name/templates"
Response: New directory is: "/home/luckyrat/public_html/christomlinson.name/templates"
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat/public_html/christomlinson.name/templates
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Directory listing successful
Status: Retrieving directory listing...
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ChangeDirSend()
Command: cd "luckyrat_ct_name_1"
Response: New directory is: "/home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1"
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Directory listing successful
Status: Retrieving directory listing...
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ChangeDirSend()
Command: cd "css"
Response: New directory is: "/home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css"
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Directory listing successful
Trace: CSftpControlSocket::FileTransfer(...)
Status: Starting upload of C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::FileTransferSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Command: put "C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css" "menu.css"
Error: /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css/menu.css: open for write: permission denied
Trace: FileTransferParseResponse()
Trace: CSftpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CSftpControlSocket::FileTransfer(...)
Status: Starting upload of C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::FileTransferSubcommandResult()
Status: Retrieving directory listing...
Trace: sftpcontrolsocket.cpp(973): List called from other command caller=0p12e2ff0
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::FileTransferSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Command: put "C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css" "menu.css"
Error: /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css/menu.css: open for write: permission denied
Trace: FileTransferParseResponse()
Trace: CSftpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CSftpControlSocket::FileTransfer(...)
Status: Starting upload of C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::FileTransferSubcommandResult()
Status: Retrieving directory listing...
Trace: sftpcontrolsocket.cpp(973): List called from other command caller=0p12e2ff0
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::FileTransferSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Command: put "C:\Documents and Settings\Chris Tomlinson\My Documents\web sites\chris.tomlinson.name\template\luckyrat_ct_name_1\css\menu.css" "menu.css"
Error: /home/luckyrat/public_html/christomlinson.name/templates/luckyrat_ct_name_1/css/menu.css: open for write: permission denied
Trace: FileTransferParseResponse()
Trace: CSftpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)

Change History (1)

comment:1 by Tim Kosse, 16 years ago

This is a file descriptor leak in PuTTY's psftp component, which FileZilla uses to handle SFTP connections.

I'll include a patched version in the next version of FileZilla. I've also submitted the patch to the upstream developers.

Note: See TracTickets for help on using tickets.