Opened 3 years ago

Last modified 3 weeks ago

#12483 new Bug report

Failed transfers when using more than 2 simultaneous transfers

Reported by: Beosar Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc: Beosar
Component version: Operating system type: Windows
Operating system version:

Description (last modified by Beosar)

When setting "Maximum simultaneous transfers" to more than 2, some files always fail to upload on the first try. Sometimes it asks to overwrite an "existing" file, which has an unknown size.

Download these files (I cannot attach them because of size), unzip them, set "Maximum simultaneous transfers" to 10, and upload them all at once to a server to reproduce the error: https://download.beosar.com/public/FileZilla_Upload_Bug_Files.zip

Transfer mode is "Binary". The files that failed are all 7 .lua files in the folder "plugins/server/cubeuniverse".

This bug occurred on 2 servers on the Internet, while it did work on my local Raspberry Pi. I am using SFTP.

A fast upload speed (tested with 40 mbps) might be needed to reproduce the error.

Change History (6)

comment:1 by Beosar, 3 years ago

Description: modified (diff)

comment:2 by Beosar, 3 years ago

Description: modified (diff)

comment:3 by Beosar, 3 years ago

Description: modified (diff)

comment:4 by Tim Kosse, 3 years ago

Priority: criticalnormal
Status: newmoreinfo

What does it say in the message log?

comment:5 by Beosar, 3 years ago

Status: moreinfonew
mkdir "/path/plugins/server/cubeuniverse"
Error:	mkdir /path/plugins/server/cubeuniverse: no such file or directory

It skips the creation of the directory "server" and tries to create "server/cubeuniverse", which fails because the directory "server" does not exist. So the files cannot be uploaded because the directory does not exist and it never again attempts to create it.

For some reason, it uses the absolute path here, while for all other mkdir commands it uses the relative path, i.e. just the folder name.

comment:6 by php4fan, 3 weeks ago

This pathetic bug still exists, and you don't need _more_ than 2 simultaneous transfers, 2 is enough.

This will systematically (or almost) reproduce with 2 maximum simultaneous transfers:
Upload a folder with this structure:

- root_folder
   |
   +- subfolder
       |
       +- subsub1
       |   |
       |   +- file1.txt
       |
       +- subsub2
           |
           +- file2.txt

Upload this to any server with "Maximum simultaneous transfers" set to 2. Make sure that NONE of the folders exist on the server beforehand.

I get at least one file transfer error 100% of the times, sometimes with one file, sometimes with the other, randomly.

Here are the logs fomr one attempt to upload the whole folder:

Status:	Starting upload of /home/teo/Desktop/vBulletin3.7.3-base/forum/XML/product-vbulletin-meta.xml
Status:	Starting upload of /home/teo/Desktop/vBulletin3.7.3-base/forum/includes/functions.php
Command:	CWD /product_install/vBulletin3.7.3-base/forum/XML
Response:	550 No puedo cambiar al directorio /product_install/vBulletin3.7.3-base/forum/XML: No existe el fichero o el directorio
Command:	CWD /product_install/vBulletin3.7.3-base/forum
Response:	550 No puedo cambiar al directorio /product_install/vBulletin3.7.3-base/forum: No existe el fichero o el directorio
Command:	CWD /product_install/vBulletin3.7.3-base
Response:	550 No puedo cambiar al directorio /product_install/vBulletin3.7.3-base: No existe el fichero o el directorio
Command:	CWD /product_install
Response:	250 OK. El directorio actual es /product_install
Command:	MKD vBulletin3.7.3-base
Response:	550 No puedo crear el directorio: El fichero ya existe
Command:	CWD /product_install/vBulletin3.7.3-base/forum/XML
Response:	550 No puedo cambiar al directorio /product_install/vBulletin3.7.3-base/forum/XML: No existe el fichero o el directorio
Command:	SIZE /product_install/vBulletin3.7.3-base/forum/XML/product-vbulletin-meta.xml
Response:	550 No se puede comprobar la existencia del archivo
Command:	PASV
Response:	227 Entering Passive Mode (91,192,110,74,196,66)
Command:	STOR /product_install/vBulletin3.7.3-base/forum/XML/product-vbulletin-meta.xml
Response:	553 No se puede abrir ese archivo: No existe el fichero o el directorio
Error:	Critical file transfer error
Status:	Retrieving directory listing of "/product_install/vBulletin3.7.3-base/forum/includes"...
Status:	File transfer successful, transferred 180,383 bytes in 1 second

I'm sorry it's in Spanish because the server unfortunately is.

NOTE: the root directory being uploaded "vBulletin3.7.3-base" did NOT exist on the server beforehand.

I cannot make sense of the logs, no matter how hard I try. I think not only the commands get executed in the wrong order (because I guess of some race condition), but also there must be a mismatch between the order in which things are printed in the log and the order in which they actually happen, and/or not all of the commands that are executed are shown in the log.

Note: See TracTickets for help on using tickets.