Opened 12 years ago

#8587 new Bug report

Race condition in upload: Collisions with previously failed transfers (?)

Reported by: Jörg Zieren Owned by:
Priority: normal Component: FileZilla Client
Keywords: upload conflict race Cc: expires-06-2013@…
Component version: Operating system type: Windows
Operating system version: Win7

Description

I'm experiencing a race condition when uploading. Approx. every 300 files, a file that's being uploaded already exists, and I'm prompted what to do. Typically the file has 0 bytes, sometimes it has <100% size. These files are from previously failed attempts in the same queue - NB that the target directory was empty before.

I'd expect FileZilla to retry failed uploads non-interactively. I'm using 8 concurrent transfers, and the remote server is "flaky" in that it likes to terminate connections randomly every once in a while.

So here's my hypothesis:

1) Thread A uploads file foo, is kicked off the server before upload completes. This leaves the file in the transfer queue (does it?).
2) Thread B finds foo in the transfer queue, tries to upload, and finds the incomplete file created by thread A in 1).

If this is true, the solution might be to do the collision handling cross-threads, i.e. B should know that A just failed to upload foo, and retry non-interactively.

I'm happy to set up a test account on this flaky server. The race is pretty easy to trigger by uploading, say, WordPress (maybe 2 or 3 times).

Also, and I assume this is related, there are files in the "Failed transfers" list. Shouldn't those be retried? (Should I open a new bug for the latter issue, in case it's not related? Or is it even a bug?)

Change History (0)

Note: See TracTickets for help on using tickets.