Opened 4 years ago

Last modified 18 months ago

#12345 new Bug report

Uploading empty directory results in nonsensical items listed in failed transfers

Reported by: php4fan Owned by:
Priority: high Component: FileZilla Client
Keywords: Cc:
Component version: 3.51 Operating system type: Linux
Operating system version: openSUSE Tumbleweed

Description (last modified by php4fan)

To reproduce:

  1. Upload a folder that contains some empty folders
  2. Upload it again

Expected behavior:

  • the first time, if the subfolders don't already exist on the server, they will be created
  • the second times, no folders will be created on server as they already exist.

Nothing should be listed in "failed transfers" as no transfer has failed

Observed:
After the second time (or already the first if any if the empty folders already existed on the server), the empty folders will be listed in the "Failed transfers" tab.
That makes no sense whatsoever because you don't upload an empty folder, you create it on the server. When "uploading" a folder, if it already exists on the server, you either know that by requesting the listing beforehand and hence shouldn't have to attempt creating it, or you try to create it anyway and detect that it already exists because you fail to create it. Either way, that's not an error and it shouldn't be listed as a failed transfer. The only case where a folder should be listed as a failed transfer is if you fail to create it on the server but it does not already exist.
Additionally:

  • the "reason" column says "Creating directory". That makes no sense either. You are saying that you failed to upload a directory because "creating directory".
  • When I have failed transfers, usually what I do is: reset and requeue all, and then process the queue again. This results in the folders showing up again in failed transfers. So, it looks like there was some error creating the folders on the server and that errors keeps happening and cannot be fixed. And none of that is true: there is no error to begin with, the folders simply already exist.

Note that if the folders contain files, none of this happens. All is uploaded as expected and nothing is listed under failed transfers. As expected.

I'm setting priority as high because false errors are as bad as failing to detect real errors. If an error log of any kind is polluted with false positives that I have to ignore, I'll end up missing real errors.

I think this is a regression, I hadn't observed this until recently.

Change History (4)

comment:1 by php4fan, 2 years ago

Description: modified (diff)

comment:2 by php4fan, 19 months ago

Does anybody even watch this bug tracker??

This issue still exists after two years. Pathetic.

comment:3 by Tim Kosse, 19 months ago

Status: newmoreinfo

No logs have been provided.

comment:4 by php4fan, 18 months ago

Status: moreinfonew

I don't know why I didn't get an email notification for your comment. This bug tracker is so pathetic.

I'm not sure why you would need logs. Have you tried and been unable to reproduce the issue? If so, why did nobody ask me for logs for two years?

Anyway, here are the logs from uploading a folder twice. I'm uploading a folder called "test_fz" which contains a text file and an empty subfolder.

The issue appears when uploading it the second time (after choosing to overwrite always).

The error in the logs, that the directory already exists, I guess is expected. What is not expected is that the folder now shows up in the "failed transfers" tab.

Status:	Resolving address of ftp.***********.com
Status:	Connecting to **.**.**.**:21...
Status:	Connection established, waiting for welcome message...
Status:	Invalid character sequence received, disabling UTF-8. Select UTF-8 option in site manager to force UTF-8.
Status:	Initializing TLS...
Status:	TLS connection established.
Status:	Logged in
Status:	Retrieving directory listing...
Status:	Directory listing of "/" successful
Status:	Resolving address of ftp.***********.com
Status:	Resolving address of ftp.***********.com
Status:	Connecting to **.**.**.**:21...
Status:	Connecting to **.**.**.**:21...
Status:	Connection established, waiting for welcome message...
Status:	Connection established, waiting for welcome message...
Status:	Invalid character sequence received, disabling UTF-8. Select UTF-8 option in site manager to force UTF-8.
Status:	Invalid character sequence received, disabling UTF-8. Select UTF-8 option in site manager to force UTF-8.
Status:	Initializing TLS...
Status:	Initializing TLS...
Status:	TLS connection established.
Status:	TLS connection established.
Status:	Logged in
Status:	Creating directory '/test_fz/emptydirectory'...
Status:	Logged in
Status:	Starting upload of /home/teo/Desktop/test_fz/textfile.txt
Status:	Retrieving directory listing of "/test_fz"...
Status:	File transfer successful, transferred 2 bytes in 1 second
Status:	Retrieving directory listing of "/"...
Status:	Directory listing of "/" successful
Status:	Disconnected from server
Status:	Disconnected from server
Status:	Resolving address of ftp.***********.com
Status:	Resolving address of ftp.***********.com
Status:	Connecting to **.**.**.**:21...
Status:	Connecting to **.**.**.**:21...
Status:	Connection established, waiting for welcome message...
Status:	Connection established, waiting for welcome message...
Status:	Invalid character sequence received, disabling UTF-8. Select UTF-8 option in site manager to force UTF-8.
Status:	Invalid character sequence received, disabling UTF-8. Select UTF-8 option in site manager to force UTF-8.
Status:	Initializing TLS...
Status:	Initializing TLS...
Status:	TLS connection established.
Status:	TLS connection established.
Status:	Logged in
Status:	Starting upload of /home/teo/Desktop/test_fz/textfile.txt
Status:	Retrieving directory listing of "/test_fz"...
Status:	Logged in
Status:	Creating directory '/test_fz/emptydirectory'...
Command:	CWD /test_fz
Response:	250 OK. El directorio actual es /test_fz
Command:	MKD emptydirectory
Response:	550 No puedo crear el directorio: El fichero ya existe
Status:	File transfer successful, transferred 2 bytes in 1 second
Last edited 18 months ago by php4fan (previous) (diff)
Note: See TracTickets for help on using tickets.