After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710022 - tracker-extract causing dbus denial-of-service
tracker-extract causing dbus denial-of-service
Status: RESOLVED INVALID
Product: tracker
Classification: Core
Component: Extractor
0.16.x
Other Linux
: Normal major
: ---
Assigned To: tracker-extractor
Depends on:
Blocks:
 
 
Reported: 2013-10-13 00:50 UTC by Michael Gratton
Modified: 2014-02-23 12:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Gratton 2013-10-13 00:50:36 UTC
After log in, tracker-extract is causing a denial-of-service against the session dbus daemon by keeping many (1000+) open connections to it. The large number of connections causes the session daemon to run out of file descriptors, and hence unable to accept any new connections. This leads to the desktop becoming unresponsive and non-functional, since nearly everything uses dbus these days.

A typical symptom of the problem looks like this:

> mjg@montbard:~ $ emacs
> (emacs:21035): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
> Failed to determine seats of user "1000": Too many open files

When this is occurring, lsof reports the session dbus-daemon instance has 1024 FD's open - most of them being pipes, and tracker-extract in a similar situation. On killing tracker-extract, the number of dbus-daemon FDs open returns to some small sane number, and it returns to being able to accept connections again.

This mainly seems to happen some time not long after log-in, so presumably tracker-extract has a dbus connection leak and tracker's initial scan-on-start is causing it to become pathological.
Comment 1 Martyn Russell 2013-10-14 08:04:19 UTC
Hello, thank you for reporting this bug. What's the exact version of Tracker you're using? I fixed an issue or two that could cause this in earlier 0.16.x versions.
Comment 2 Michael Gratton 2013-10-14 08:30:12 UTC
Currently on version 0.16.2 - or more precisely 0.16.2-1ubuntu1 from the Ubuntu GNOME PPA.

Anything I can do that would be useful to help debug this? I'm pretty sure it eventually happens every time I log in.
Comment 3 Martyn Russell 2013-10-14 14:48:27 UTC
Hmm, I was hoping it was fixed by bug #704048 (Don't leak file descriptors & use up all FDs). Seems that was released in 0.16.2 though.

It could well be that it's another extractor that's keeping files open. Are you able to follow the debug instructions to help produce logs and see what's really going on?

  https://wiki.gnome.org/Tracker/Documentation/Debugging

You can start tracker-extract manually with:

  /usr/libexec/tracker-extract -v 3 -d

It could be it's being killed or problematic files? The logs should tell us more. If you don't get anything there, you can run the tracker-miner-fs from the same location with -v 3 to see what instructions are being sent to the extractor and see if it's a bug there...

That would be really useful. Thanks.
Comment 4 Michael Gratton 2013-10-17 01:16:21 UTC
It's not showing up immediately, so I've set the log level to debug in gsettings, but because of TRACKER_USE_LOG_FILES being unset I'm not getting any logging at all. How do I set that for processes being activated via DBus?
Comment 5 Martyn Russell 2013-10-17 08:48:00 UTC
It should show up in syslog and/or ~/.xsession-errors IIRC if that env var is not set.
Comment 6 Michael Gratton 2014-02-23 12:19:30 UTC
Since I have not been able to successfully reproduce this, and since I haven't noticed it in a while using 0.16.4, resolving this as invalid. Will re-open if I notice it happening again.