GNOME Bugzilla – Bug 783869
large tracker database causes nautilus plugin to freeze
Last modified: 2017-09-24 18:45:29 UTC
Forwarding from https://bugs.debian.org/861989. Nautilus can sometimes freeze when right clicking on a file and selecting 'Properties'. The issue is due to the nautilus tracker tags plugin. The plugin attempts to contact tracker over D-Bus and will block the UI until it gets a response. When nautilus is run with some debug environment variables set, the last few lines it prints before freezing are: ** (nautilus:26737): DEBUG: nautilus_files_view_notify_selection_changed:Selection changed in window 0x555555bb6530: ** (nautilus:26737): DEBUG: file:///home/jason/Desktop ** (nautilus:26737): DEBUG: nautilus_file_get_icon: nautilus-file.c:5474: Called file_get_icon(), at size 16, force thumbnail 0 ** (nautilus:26737): DEBUG: nautilus_file_get_icon: nautilus-file.c:5474: Called file_get_icon(), at size 48, force thumbnail 0 ** (nautilus:26737): DEBUG: nautilus_file_get_thumbnail_icon: nautilus-file.c:5323: Modifying icon size to 64, as our cached thumbnail size is 64 (nautilus:26737): Tracker-DEBUG: New TrackerTagsView with 1 files (nautilus:26737): Tracker-DEBUG: tracker-backend.vala:37: Waiting for service to become available... It can wait for a long time if the tracker-store process is unresponsive, for example due to running an integrity check on a large database. The original reporter experienced this problem with tracker 1.2.4 on Debian jessie/stable. I can reproduce this with version 1.10.5 on Debian sid.
The nautilus tracker tags plugin is unmaintained. I wrote it many years ago. The only solution is to get rid of it.
It will just go away on next release, there's plans to integrate the feature in Nautilus itself. However, you are bound to have *something* waiting/blocking for a some time if tracker-store is autostarted (as it seems to be the case) and it's caught in a long integrity check. I know nothing about your env, but early start of tracker-store should be handled by the systemd unit (not available in 1.2.x though, that's ancient...), and the process should be terminated with SIGTERM instead of killed abruptly.
The nautilus plugin is now gone in 2.0.x.