Broken Extractor and no Leads

Everyone on the internet seems to be full of good ideas about how to turn tracker off. I am rather fond of it, but on my main computer, a Ubuntu 20.04 box, it has started failing and despite purge and reinstall of the package I have not been able to revive its function. Especially the text indexing which I find so useful. Is there any step-by-step guidance short of ‘reinstall your OS’, to find the cause of this?

It would be good if the tracker binary itself had a bit more of a diagnostic bend, too.

me@me-somebox:~$ tracker daemon start
Store:
21 Oct 2021, 21:44:17:  ✗     Store                - Unavailable

Miners:
21 Oct 2021, 21:44:17:  ✗     Extractor            - Not running or is a disabled plugin
21 Oct 2021, 21:44:17:  ✓     File System          - Idle

Hi Jörn,

Tracker developer here.

It would be good if the tracker binary itself had a bit more of a diagnostic bend, too.

FTR, we thought the exact same. In the 3.x series there’s been substantial improvements to diagnosing indexing failures from the command line.

Unfortunately, AFAIU Ubuntu still stays in the now old 2.x. It is unfortunate that it has become a late adopter. Tracker is now heading towards the 3.3.x. series (current stable is 3.2.x), the upstream Tracker team has limited capacity and does not support 2.x anymore.

it has started failing and despite purge and reinstall of the package I have not been able to revive its function. Especially the text indexing which I find so useful.

This is unfortunate, as it seems from your output, tracker-extract is failing to start, this process is the one extracting metadata from your files. Since this depends on a number of libraries to do the task, there 2 reasons why it might have started failing:

  • A library update introduced new syscalls being done at runtime that are forbidden for that process. There’s e.g. been some noise lately with clone3.
  • A library update introduced crashes where it previously did not.

Since that process uses seccomp to limit the amount of things metadata extractors can do, a forbidden syscall is the most likely to happen if the rest of the software stack got updates with a stale tracker-miners. Either way probably Ubuntu should be contacted about this, I think any fix/backport will be better done on their side.

Running the tracker-extract executable manually might help figure things out, e.g.:

$ /usr/lib/tracker/tracker-extract

That should hint which of those is, and coredumpctl could be used to get further information from there.

That file is not there:

jg@jg-OptiPlex-9020-AIO:~$  /usr/lib/tracker/tracker-extract
bash: /usr/lib/tracker/tracker-extract: No such file or directory

Is it possible that is installed somewhere else on Ubuntu?

The packages seem to be there. I see a version inconsistency between focal/updates (2.3.6) and focal (2.3.3) and wonder if this could have something do to with it.

jg@jg-OptiPlex-9020-AIO:~$ sudo apt list | grep tracker
...
gir1.2-tracker-2.0/focal-updates 2.3.6-0ubuntu1 amd64
libtracker-control-2.0-0/focal-updates,now 2.3.6-0ubuntu1 amd64 [installed,automatic]
libtracker-control-2.0-dev/focal-updates 2.3.6-0ubuntu1 amd64
libtracker-control-doc/focal-updates,focal-updates 2.3.6-0ubuntu1 all
libtracker-miner-2.0-0/focal-updates,now 2.3.6-0ubuntu1 amd64 [installed,automatic]
libtracker-miner-2.0-dev/focal-updates 2.3.6-0ubuntu1 amd64
libtracker-miner-doc/focal-updates,focal-updates 2.3.6-0ubuntu1 all
libtracker-sparql-2.0-0/focal-updates,now 2.3.6-0ubuntu1 amd64 [installed,automatic]
libtracker-sparql-2.0-dev/focal-updates 2.3.6-0ubuntu1 amd64
tracker-extract/focal,now 2.3.3-2 amd64 [installed]
tracker-miner-fs/focal,now 2.3.3-2 amd64 [installed]
tracker/focal-updates,now 2.3.6-0ubuntu1 amd64 [installed]

jg@jg-OptiPlex-9020-AIO:~$

It indeed is. You can check the actual location with:

$ dpkg -L tracker-extract | grep "tracker-extract$"

edit: Fixed wrong grep expression

Nope. Also checked with sudo.

jg@jg-OptiPlex-9020-AIO:~$ dpkg -L tracker-extract | grep "tracker-extract^"
jg@jg-OptiPlex-9020-AIO:~$

This is what’s in the box:

jg@jg-OptiPlex-9020-AIO:~$ dpkg -L tracker-extract
/.
/etc
/etc/xdg
/etc/xdg/autostart
/etc/xdg/autostart/tracker-extract.desktop
/usr
/usr/lib
/usr/lib/systemd
/usr/lib/systemd/user
/usr/lib/systemd/user/tracker-extract.service
/usr/lib/systemd/user/tracker-writeback.service
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-abw.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-bmp.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-desktop.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-dummy.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-dvi.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-epub.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-flac.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-gif.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-gstreamer.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-html.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-icon.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-jpeg.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-mp3.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-msoffice-xml.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-msoffice.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-oasis.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-pdf.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-playlist.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-png.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-ps.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-raw.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-text.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-tiff.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-vorbis.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-xmp.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/extract-modules/libextract-xps.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/libtracker-extract.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/writeback-modules
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/writeback-modules/libwriteback-gstreamer.so
/usr/lib/x86_64-linux-gnu/tracker-miners-2.0/writeback-modules/libwriteback-xmp.so
/usr/libexec
/usr/libexec/tracker-extract
/usr/libexec/tracker-writeback
/usr/share
/usr/share/dbus-1
/usr/share/dbus-1/services
/usr/share/dbus-1/services/org.freedesktop.Tracker1.Miner.Extract.service
/usr/share/dbus-1/services/org.freedesktop.Tracker1.Writeback.service
/usr/share/doc
/usr/share/doc/tracker-extract
/usr/share/doc/tracker-extract/AUTHORS
/usr/share/doc/tracker-extract/NEWS.gz
/usr/share/doc/tracker-extract/README.md
/usr/share/doc/tracker-extract/changelog.Debian.gz
/usr/share/doc/tracker-extract/copyright
/usr/share/glib-2.0
/usr/share/glib-2.0/schemas
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Extract.gschema.xml
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Miner.Files.gschema.xml
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Writeback.gschema.xml
/usr/share/glib-2.0/schemas/org.freedesktop.TrackerMiners.enums.xml
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/tracker-extract.1.gz
/usr/share/man/man1/tracker-writeback.1.gz
/usr/share/tracker
/usr/share/tracker/miners
/usr/share/tracker-miners
/usr/share/tracker-miners/extract-rules
/usr/share/tracker-miners/extract-rules/10-abw.rule
/usr/share/tracker-miners/extract-rules/10-bmp.rule
/usr/share/tracker-miners/extract-rules/10-comics.rule
/usr/share/tracker-miners/extract-rules/10-desktop.rule
/usr/share/tracker-miners/extract-rules/10-dvi.rule
/usr/share/tracker-miners/extract-rules/10-ebooks.rule
/usr/share/tracker-miners/extract-rules/10-epub.rule
/usr/share/tracker-miners/extract-rules/10-flac.rule
/usr/share/tracker-miners/extract-rules/10-gif.rule
/usr/share/tracker-miners/extract-rules/10-html.rule
/usr/share/tracker-miners/extract-rules/10-ico.rule
/usr/share/tracker-miners/extract-rules/10-jpeg.rule
/usr/share/tracker-miners/extract-rules/10-mp3.rule
/usr/share/tracker-miners/extract-rules/10-msoffice.rule
/usr/share/tracker-miners/extract-rules/10-oasis.rule
/usr/share/tracker-miners/extract-rules/10-pdf.rule
/usr/share/tracker-miners/extract-rules/10-png.rule
/usr/share/tracker-miners/extract-rules/10-ps.rule
/usr/share/tracker-miners/extract-rules/10-raw.rule
/usr/share/tracker-miners/extract-rules/10-svg.rule
/usr/share/tracker-miners/extract-rules/10-tiff.rule
/usr/share/tracker-miners/extract-rules/10-vorbis.rule
/usr/share/tracker-miners/extract-rules/10-xmp.rule
/usr/share/tracker-miners/extract-rules/10-xps.rule
/usr/share/tracker-miners/extract-rules/11-msoffice-xml.rule
/usr/share/tracker-miners/extract-rules/15-gstreamer-guess.rule
/usr/share/tracker-miners/extract-rules/15-playlist.rule
/usr/share/tracker-miners/extract-rules/15-source-code.rule
/usr/share/tracker-miners/extract-rules/90-gstreamer-audio-generic.rule
/usr/share/tracker-miners/extract-rules/90-gstreamer-image-generic.rule
/usr/share/tracker-miners/extract-rules/90-gstreamer-video-generic.rule
/usr/share/tracker-miners/extract-rules/90-text-generic.rule
/usr/share/tracker/miners/org.freedesktop.Tracker1.Miner.Extract.service

If I start the one in there, this happens:

jg@jg-OptiPlex-9020-AIO:~$ /usr/libexec/tracker-extract
Tracker-Message: 20:15:25.643: Set scheduler policy to SCHED_IDLE
Tracker-Message: 20:15:25.643: Setting priority nice level to 19
jg@jg-OptiPlex-9020-AIO:~$ 

But the tracker still marks the extractor as broken.

That means there are no extraction failures and no files left to get metadata extracted. This daemon is able to shut down in inactivity situations to free up memory, and will be started later on as necessary.

Let’s take a step back, how did you determine the tracker daemon --start output is related to you not being able to search?

How do you regularly search files? Did you try with the tracker search command?

Aha! You are right!

tracker search --files is working.

I was using the Nautilus widget and it was broken.

And now I cannot reproduce the failure…

I was led because the status message in the daemon had not changed.

Thanks for helping with this! :smile: I just wish I knew what caused it when it was not working. I do not like mystery behaviour. :frowning:

Happy to help :slight_smile:. I’m also unclear how it broke and fixed itself, perhaps it was a one-off situation that Nautilus failed to connect to the Tracker daemon.

If you can pinpoint it to Nautilus in the future that should be definitely moved forward in Ubuntu bug reporting system, AFAIU Nautilus is patched there to revert the upstream port to Tracker 3.x.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.