Bug 1163743

Summary: gvfsd-metadata causes high cpu and disk usage
Product: Red Hat Enterprise Linux 7 Reporter: Ondrej Holy <oholy>
Component: gvfsAssignee: Ondrej Holy <oholy>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.2CC: dblechte, jbastian, jhunt, lmiksik, mstana, oholy, vbenes
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gvfs-1.16.4-8.el7 Doc Type: Bug Fix
Doc Text:
Cause: When an application tries to save a larger metadata than the size of a journal (e.g. when Firefox saves data URI of downloaded file), it triggers the journal to be flushed to make space for the entry and the operation is then retried, but it never fits, and the loop continues forever. Consequence: It causes constant cpu and disk usage, because gvfsd-metadata deamon creates and deletes new journal files all the time. This could damage the disk. Fix: The operation is retried only once after the flush of journal. Result: The metadata entry isn't saved if it is too large. The deamon prints warning consequently.
Story Points: ---
Clone Of:
: 1210203 (view as bug list) Environment:
Last Closed: 2015-03-05 13:34:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1210203    

Description Ondrej Holy 2014-11-13 11:48:03 UTC
Description of problem:

When an application tries to save a larger key-value pair than the size of the journal (32kb), it triggers the journal to be flushed to make space for the entry and the operation is then retried, but it never fits, and the loop continues forever.

It causes constant cpu and disk usage, because gvfs-metadata creates and deletes files in ~/.local/share/gvfs-metadata/ all the time. This could damage the disk.


How reproducible:

It can be reproduced everytime by saving larger key-value pair than the size of journal (32kb). This bug could be triggered e.g. by Firefox (following steps are copied from upstream bugzilla).


Steps to Reproduce:

1. browse to http://rossl.org/junk/meta.html in Firefox
2. right-click and save the image
3. this should trigger gvfsd-metadata bug, because firefox saves the download URI in metadata::download-uri


Additional info:

The bug was successfully fixed upstream: 
https://bugzilla.gnome.org/show_bug.cgi?id=637095

Provided patch is applicable also for RHEL7 (it is also backported in F19 and F20):
https://bug637095.bugzilla-attachments.gnome.org/attachment.cgi?id=284795

The only way how to stop looping is killing gvfsd-metadata deamon. As a workaround gvfsd-metadata could be disabled (removing its binary /usr/libexec/gvfsd-metadata).

Comment 7 errata-xmlrpc 2015-03-05 13:34:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0604.html