gvfsd-http eats 100% CPU

Bug #1174663 reported by Matteo Dell'Amico
46
This bug affects 10 people
Affects Status Importance Assigned to Milestone
gvfs (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Every now and then, I find that gvfsd-http is eating 100% CPU; I have to kill it manually. By having a look with strace I see an endless loop of

poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout)
recvfrom(18, "", 4, 0, NULL, NULL)

I wonder whether this is happening because I set up a SOCKS proxy, and something similar to what is described in https://bugs.launchpad.net/ubuntu/+source/telepathy-gabble/+bug/1094032 is happening.

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: gvfs-backends 1.16.1-0ubuntu1
ProcVersionSignature: Ubuntu 3.8.0-19.29-generic 3.8.8
Uname: Linux 3.8.0-19-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
Date: Tue Apr 30 10:53:24 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2012-07-23 (280 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
SourcePackage: gvfs
UpgradeStatus: Upgraded to raring on 2013-04-29 (0 days ago)

Revision history for this message
Matteo Dell'Amico (della) wrote :
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in gvfs (Ubuntu):
status: New → Confirmed
Revision history for this message
Christian Kirbach (christian-kirbach-e) wrote :

I can see this as well. netstat shows lots of connections kept in CLOSE_WAIT state.

adding a backtrace at some random point I hooked into the process.

I hooked in a couple of times and it seems to always or most often work in g_main_context_find_source_by_user_data()

My strace on gvfsd-http looks like

futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x36b3000) = 0x36b3000
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x36d4000) = 0x36d4000
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x36f5000) = 0x36f5000
brk(0x36f4000) = 0x36f4000
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x3715000) = 0x3715000
futex(0x166aa70, FUTEX_WAKE_PRIVATE, 1) = 1

Revision history for this message
Mehdi (mehdi-ti) wrote :

I use socks proxy now and then, and I have encounter the exact problem several times. I can confirm the bug, yet I'm not sure if it's occurring only when using socks proxy.

I'm getting 100% cpu usage from the following process:

/usr/lib/gvfs/gvfsd-http --spawner :1.7 /org/gtk/gvfs/exec_spaw/2

the trace for the process outputs the following in an "endless loop":

[pid 7705] poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout)
[pid 7705] recvfrom(9, "", 4, 0, NULL, NULL) = 0

Revision history for this message
Pierre van Male (vmalep) wrote :

Dear all,

Recently, I noticed that I was experiencing the same problem (Ubuntu 13.04).

I use to create an SSH tunnel to a personal server (ssh -D ...) and configure a system-wide proxy via this tunnel.

I will remove the proxy for the coming days and see if the problem persists.

Best regards,
Pierre

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.