curlftps became very slow after upgrade to 13.10.

Bug #1267749 reported by Jan Vratny on 2014-01-10
86
This bug affects 17 people
Affects Status Importance Assigned to Milestone
curlftpfs (Ubuntu)
Undecided
Unassigned

Bug Description

After upgrade to 13.10, working on curlftpfs mounted fs became very slow. On 13.04 opening a file from mounted ftp took about 1 sec, after upgrade 10 times longer. Even worse when saving a file. Does not depend on editor i'm using, nor ftp site i'm connected to, happens both on ftp and ftps.

Probably sometimes reconnects, because when i try to save file, sometimes error occurs (cannot write file "filename"), when i try againg, editor complains: "file changed since last save".

release:
Description: Ubuntu 13.10
Release: 13.10

package version:
 apt-cache policy curlftpfs
curlftpfs:
  Installed: 0.9.2-5ubuntu1
  Candidate: 0.9.2-5ubuntu1
  Version table:
 *** 0.9.2-5ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/universe i386 Packages
        100 /var/lib/dpkg/status

if i may provide any more information/debug info, tell me what to type in terminal.

Jan Vratny (jan-vratny) on 2014-01-10
information type: Public → Public Security
Jan Vratny (jan-vratny) on 2014-01-10
information type: Public Security → Public
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in curlftpfs (Ubuntu):
status: New → Confirmed
Jan Vratny (jan-vratny) wrote :

Problem remains in 14.04.

kevinf (kevinf) wrote :

/etc/fstab
curlftpfs#ftp://u:p@server /mnt/mount fuse defaults 0 0

Directory listing is extremely slow on Ubuntu 13.10, this is on a local lan.

Using the same server on my Ubuntu 13.04 is WAY faster.

note: my raring AND saucy machines are running:
ii curlftpfs 0.9.2-5ubuntu1

It is not a bandwidth issue, as cd /mnt/mount && dd if=/dev/zero of=test.me

eg:
On raring, I dd, count to 3, then Ctrl+C, it terminates and transfered 3 seconds worth @ 10MB/s.
On Saucy, I Ctrl+C after 3 seconds, it hangs, and reports 0 bytes of transfer. If I count to 10, it also reports 10MB/s, but only 5 seconds of transfer time.

perhaps its fuse to blame?

raring: ii fuse 2.9.0-1ubuntu3 amd64 Filesystem in Userspace
saucy: ii fuse 2.9.2-4ubuntu3 amd64 Filesystem in Userspace

So I downgraded my saucy machine to libfuse2/fuse @ 2.9.0-1ubuntu3, umounted my share, remount. Same problem.

What else to try?

kevinf (kevinf) wrote :

futher to the above, i just downgraded gvfs* from 1.18 to 1.16. No change.

root@raring:~# dpkg -l | grep gvfs
ii gvfs:amd64 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - GIO module
ii gvfs-backends 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - backends
ii gvfs-bin 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - binaries
ii gvfs-common 1.16.1-0ubuntu1.1 all userspace virtual filesystem - common data
ii gvfs-daemons 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - servers
ii gvfs-libs:amd64 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - private

root@saucy:~# dpkg -l | grep gvfs
ii gvfs:amd64 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - GIO module
ii gvfs-backends 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - backends
ii gvfs-bin 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - binaries
ii gvfs-common 1.16.1-0ubuntu1.1 all userspace virtual filesystem - common data files
ii gvfs-daemons 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - servers
ii gvfs-libs:amd64 1.16.1-0ubuntu1.1 amd64 userspace virtual filesystem - private libraries

kevinf (kevinf) on 2014-05-27
description: updated
kevinf (kevinf) wrote :

Solved! http://forum.xbmc.org/showthread.php?tid=176334&pid=1591001#pid1591001

Its libcurl3-gnutls to blame

Raring: 7.29.0-1ubuntu3.4
Saucy: 7.32.0-1ubuntu1.4

Downgrading solves the problem.

Jan Vratny (jan-vratny) wrote :

Solution worked for me. Thanks.

Jared (shmup) wrote :

This solution isn't a very good one as of today, because:

The following packages have unmet dependencies:
python-pycurl : Depends: libcurl3-gnutls (>= 7.35.0) but 7.29.0-1ubuntu3 is installed

Greg Bell (gbell-spamless) wrote :

Downgrading as of today (Jan 2015) doesn't seem really feasibile since raring is gone. Can't find libcurl3-gnutls-7.29 anywhere. Isn't this majorly awesome unix-y functionality that everybody uses? Surprised it's broken.

Partial workaround is to use Vim's built-in FTP support. vim ftp://mysite.net/myfile.txt

Alexander Schittler (damongant) wrote :

This bug makes curlftpfs close to unusable, with up to 3 minutes to get a directory listing after half an hour of use. The thing seems to get progressively slower.

yehonal (hw-2) wrote :

i've this bug too, curlftpfs is 800% slower compared to ftp clients such as filezilla..
since it seems to be the only way to mount an ftp folder, it must be fixed

Also affects Ubuntu 12.04.

ii curlftpfs 0.9.2-5 filesystem to access FTP hosts based on FUSE and cURL
ii libcurl3-gnutls 7.22.0-3ubuntu4.14 Multi-protocol file transfer library (GnuTLS)

Directory listings are extremely slow and most of them failed. Copying a file, I'm getting ~300kB/s, compared to 5.2MB/s with lftp.

Igor A Tarasov (dicr) wrote :

I'm getting file transfer speen 0.4 Mb/s with curlftpfs compared to 2.28Mb/s direct ftp.

Lops (lops777) wrote :

Same for me on Ubuntu 13.10 - extremely slow on a broadband connection and I am disappointed about the developers not fixing that thing. Seems they do not use their own software.

I have the same issue, listing directories with only more than 50 items take forever. Please fix this.

Ubuntu User (j-ubuntu1) wrote :

The issue happened in 16.04 also.

Mr. Tabarnouche (tabarnak) wrote :

I got 5-6 MB/s when transferring data, its slow only when its time to list directories. More there was directories to list, more it take time to show the listing.

kevinf (kevinf) wrote :

It is fixed in the latest packages in 16.04 Xenial, I hit an upgrade wall myself, so I was forced to unhold the package.

This is what I currently have installed:

root@brix:~# dgrep libcurl
ii libcurl3:amd64 7.47.0-1ubuntu2.2 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libcurl3-gnutls:amd64 7.47.0-1ubuntu2.2 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii python3-pycurl 7.43.0-1ubuntu1 amd64 Python bindings to libcurl (Python 3)

ioweb.gr (ioweb.gr) wrote :

@kevinf I just checked and I have the same setup as you but unfortunately very different results.

ii libcurl3:amd64 7.47.0-1ubuntu2.2 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libcurl3-gnutls:amd64 7.47.0-1ubuntu2.2 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libcurl4-openssl-dev:amd64 7.47.0-1ubuntu2.2 amd64 development files and documentation for libcurl (OpenSSL flavour)
ii python-pycurl 7.43.0-1ubuntu1 amd64 Python bindings to libcurl
ii python3-pycurl 7.43.0-1ubuntu1 amd64 Python bindings to libcurl (Python 3)

it takes over 3 minutes to even execute ls in a directory that contains a curlftpfs mount. Same thing with pressing tab.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers