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 729449 - tracker-control just hangs
tracker-control just hangs
Status: RESOLVED FIXED
Product: tracker
Classification: Core
Component: General
0.16.x
Other Linux
: Normal normal
: ---
Assigned To: tracker-general
: 728014 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-05-03 08:59 UTC by Paul Menzel
Modified: 2014-09-24 18:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
don't freeze if datadir is missing (998 bytes, patch)
2014-05-12 12:09 UTC, darkxst
committed Details | Review

Description Paul Menzel 2014-05-03 08:59:13 UTC
Using Debian Sid/unstable with package `tracker` 0.16.2-1+b2 installed, but *not* the package `tracker-miner-fs`, running `tracker-control` with control commands, just hangs.

	$ tracker-control --version

	Tracker 0.16.2

	This program is free software and comes without any warranty.
	It is licensed under version 2 or later of the General Public License which can be viewed at:

	  http://www.gnu.org/licenses/gpl.txt
	$ strace tracker-control -S
	[…]
	rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7fa89178c420}, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7fa89178c420}, 8) = 0
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0x947330, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x946a80, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x93bfd0, FUTEX_WAKE_PRIVATE, 1)  = 1
	eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 6
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0x947330, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x946a80, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x93bfd0, FUTEX_WAKE_PRIVATE, 1)  = 1
	poll([{fd=6, events=POLLIN}], 1, 0)     = 1 ([{fd=6, revents=POLLIN}])
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0x947330, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x946a80, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x93bfd0, FUTEX_WAKE_PRIVATE, 1)  = 1
	poll([{fd=6, events=POLLIN}], 1, 0)     = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\3\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
	read(6, 0x7fff7e135db0, 16)             = -1 EAGAIN (Resource temporarily unavailable)
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	close(6)                                = 0
	eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 6
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0x947330, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x946a80, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x93bfd0, FUTEX_WAKE_PRIVATE, 1)  = 1
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	close(6)                                = 0
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0x947330, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x946a80, FUTEX_WAKE_PRIVATE, 1)  = 1
	futex(0x93bfd0, FUTEX_WAKE_PRIVATE, 1)  = 1
	openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gvfs/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
	lstat("/usr/share/tracker/miners", 0x7fff7e136380) = -1 ENOENT (No such file or directory)
	poll([{fd=3, events=POLLIN}], 1, 0)     = 1 ([{fd=3, revents=POLLIN}])
	poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
	read(3, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=3, events=POLLIN}], 1, 4294967295
	$ strace tracker-control -s
	[…]
	rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f2261bf6420}, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f2261bf6420}, 8) = 0
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0xf8b500, FUTEX_WAKE_PRIVATE, 1)  = 1
	eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 6
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
	read(6, 0x7fff85393c60, 16)             = -1 EAGAIN (Resource temporarily unavailable)
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	close(6)                                = 0
	eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 6
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
	read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
	write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
	close(6)                                = 0
	write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
	futex(0xf8b500, FUTEX_WAKE_PRIVATE, 1)  = 1
	openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gvfs/modules", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
	lstat("/usr/share/tracker/miners", 0x7fff85394230) = -1 ENOENT (No such file or directory)
	poll([{fd=3, events=POLLIN}], 1, 0)     = 1 ([{fd=3, revents=POLLIN}])
	poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
	read(3, "\1\0\0\0\0\0\0\0", 16)         = 8
	poll([{fd=3, events=POLLIN}], 1, 4294967295

It’d be great if `tracker-control` could detect if something is missing and report an error/warning to the user.
Comment 1 Martyn Russell 2014-05-12 11:06:21 UTC
This sounds similar to bug 729968 which I just fixed.
It sounds like your set up / install is not complete to be fair.
The $prefix/share/tracker/miners/ must exist for Tracker to know what miners are available. This includes for 3rd party implementations not just Tracker's own implementations.

Are you not using the miners?
Comment 2 Martyn Russell 2014-05-12 11:11:26 UTC
*** Bug 728014 has been marked as a duplicate of this bug. ***
Comment 3 darkxst 2014-05-12 12:09:03 UTC
Created attachment 276377 [details] [review]
don't freeze if datadir is missing

This is the patch we ended up using to work-around this issue on the 0.16 branch.

All the related code has been refactored in 1.0 so no longer an issue there!
Comment 4 Martyn Russell 2014-05-12 13:05:10 UTC
Thanks for the patch, this is useful for the tracker-0.16 branch, but it won't apply to the latest stable branches sadly.
Comment 5 Paul Menzel 2014-05-12 21:18:47 UTC
(In reply to comment #1)
> This sounds similar to bug 729968 which I just fixed.
> It sounds like your set up / install is not complete to be fair.

I agree. The Tracker 1.0.x packages in Debian now depend on the miners as far as I know.

> The $prefix/share/tracker/miners/ must exist for Tracker to know what miners
> are available. This includes for 3rd party implementations not just Tracker's
> own implementations.
> 
> Are you not using the miners?

They were not installed, so I did not use them.
Comment 6 darkxst 2014-05-12 21:33:12 UTC
Martyn, this bug does not exist in the 1.0 stable branch, atleast I could not reproduce it.
Comment 7 Martyn Russell 2014-05-28 08:46:40 UTC
Comment on attachment 276377 [details] [review]
don't freeze if datadir is missing

Committed to the tracker-0.16 branch.
Comment 8 Paul Menzel 2014-07-30 15:52:46 UTC
darkxst, can the status of this issue be set to resolved? I have no way to reproduce this anymore as the distribution packages were upgraded to version 1.0.
Comment 9 David King 2014-09-24 18:25:44 UTC
Closing as per comment #8.