GNOME with Tracker 3 -- call for testing

Hi everyone!
We are optimistic to achieve our goal of switching completely to Tracker 3 for GNOME 3.38. The beta period for GNOME 3.38 starts on Saturday 8th August so now is the perfect time for wider testing, as we have time to fix bugs and merge the various in-progress branches before code freeze starts on 5th September.

If you’re reading this, you’re part of GNOME’s volunteer QA team and we need your help :slight_smile: Below is a list of functionality to test, and a list of ways you can download builds of the latest tracker3 ports.

Getting builds

GNOME’s CI infrastructure is amazing so you don’t need to build anything from source, and testing an app on your machine could be a 5 minute job.

Flatpak bundles

The core apps are available as .flatpak bundles, built by GitLab CI.

These bundles contain Tracker Miners 3 so they should work on any OS, although if you do have Tracker 3 installed in the host OS they will use it. It’s important that the apps work in both situations.

Bijiben (Notes) doesn’t currently publish a Flatpak bundle in CI, but the tracker3 port is merged to master.

Distros

Unofficial, manually updated Fedora packages of Tracker 3 can be found at
https://copr.fedorainfracloud.org/coprs/ssssam/tracker3/packages/. Please let us know when distros are packaging tracker3 in their unstable repos, so we can test!

GNOME VM images

The most comprehensive way to test is using a VM image built from the sam/tracker3 branch of gnome-build-meta. You can download the latest VM image here. Follow these instructions to run it.

What to test

The purpose of Tracker Miners is to index home directory contents, so first
make sure that you have interesting stuff in your ~/Music, ~/Documents,
~/Pictures and ~/Videos directories.

Bugs may cause errors or performance problems while indexing this content (although behaviour should be similar to Tracker 2.x in most cases – the major changes are in the core of Tracker).

Here’s a list of GNOME functionality that relies on Tracker and should be widely tested. There are a few FIXMEs marking things I’m not sure about.

  • GTK file chooser (master)
    • Open an app (let’s say gedit), open GTK file chooser, start typing ‘example phrase’
      • Filenames matching ‘example phrase’ should appear.
  • Nautilus (Files) (branch sam/tracker-3)
    • Start typing ‘example phrase’
      • Filenames matching ‘example phrase’ should appear.
      • Click the dropdown arrow and try full-text searches, and searches for specific content types
    • Switch to list view, use the ‘star’ icon to star files
      • Star should appear and persist across app restarts
      • Star should follow file if the file is moved around (within indexed dirs)
    • Use batch rename
      • Select multiple music files, or multiple photos. Select ‘Rename’ and then click the ‘+ Add’ button – it should show fields that include track number, camera model ,etc.
  • GNOME Music (branch wip/carlosg/tracker3
    • Open app
      • Music from ~/Music dir should appear.
    • Move songs in and out of Music dir
      • UI should update automatically.
    • Playlists
      • FIXME: how do you create playlists?
  • GNOME Photos (branch sam/tracker3)
    • Open app
      • Pictures from ~/Pictures dir should appear.
    • Move photos in and out of Pictures dir
      • UI should update automatically
    • Star a photo
    • Create an album
      • Rename a photo on disk and the album should still contain the photo
    • FIXME: gnome-online-miners also need testing
  • GNOME Videos (Totem) (branch sam/tracker3-flatpak-bundle)
    • Open app, videos from ~/Videos should appear in the app.
  • GNOME Boxes (branch wip/carlosg/tracker3)
    • FIXME: not sure how to test this
  • Rygel (master):
    • See Phako’s post below this one

Some non-core apps can also be tested:

  • Bijiben

If you see any problems, please comment here with clear instructions on how we can reproduce the problem. If you tested something and it works fine, please also comment so we know that it’s been tested!

If you have problems with any step of the workflow, please also comment as it’s important that we have a working process for testing major changes like this in GNOME.

Thanks in advance for helping make the tracker2 -> tracker3 transition as smooth as possible :slight_smile:

Sam

4 Likes

The simplest way to check after getting it compiled is to get gupnp-av-cp from GUPnP-Tools and browse your server. You have to make sure to enable=false in the [Tracker] section and enable=true in the [Tracker3] section of rygel.conf. This has to be done before starting the server (or re-starting the server) since the two plugins will have symbol clashes and cannot be loaded in parallel

VM images are now available!

You can download the latest disk.img.xz file here, or from gnome-build-meta!753.

Please report any issues you find (apart from Photos, which we know is still WIP). Some tips for testing:

  • start applications from the Terminal rather than the shell, so you can see errors and warnings
  • use journalctl --user-unit tracker-miner-fs-3.service --user-unit tracker-extract-3.service to see logs for the Tracker daemons

Here are the issues I’ve spotted so far.

FIXED: tracker-miner-fs-3 critical on startup

Already reported as https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/115. Fixed in https://gitlab.gnome.org/GNOME/tracker-miners/-/merge_requests/248

FIXED: Nautilus crashed during search

How to reproduce:

  1. create a text document in ~/Documents
  2. search for a random string in Nautilus

Warnings or crashes start to occur, e.g.:

(org.gnome.Nautilus:3336): Tracker-CRITICAL **: 18:56:54.307: tracker_sparql_connection_query_async: assertion 'TRACKER_IS_SPARQL_CONNECTION (connection)' failed

Fixed in https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/553

FIXED: Document doesn’t appear in GTK+ file chooser

How to reproduce:

  1. create a text document named ~/Documents/banana.txt
  2. start GEdit and click ‘open’
  3. type ‘banana’ in the search bar – file doesn’t appear

Note that GTK must be configured with -Dtracker3=true.

Nautilus crashed during search

This is fixed in Port to Tracker 3 (!553) · Merge requests · GNOME / Files · GitLab now. It was due to the TrackerSparqlConnection being unreffed, but not reffed (as it’s a singleton).

I haven’t yet updated the VM images.

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

as an update, everything required to test tracker3 in GNOME 3.38 should be merged to master of gnome-build-meta now. There seem to be (unrelated) build problems which are preventing us from getting a VM image right now.

My only remaining concern is that Photos still needs a fix to autostart Tracker 2.x on demand.

1 Like

Sorry for the basic questions.

  1. What’s the difference between Tracker2 and Tracker3, from a user’s perspective ( say, as a user of GNOME Videos app )

  2. What’s the difference between Tracker2 and Tracker3, from a developer’s perspective ( say, as a developer of GNOME Videos app )

  3. Why would one want to download a VM image ( 404 error currently ), for testing a library package ? Can’t we use the gnome-nightly repo for this ( which already has Videos / Nautilus etc ) ?

Thanks.

Arguably nothing, you shouldn’t even know or care tracker exists let alone what version is in use

The question was more oriented towards:

“Tracker3 offers a new feature X / interface X, which is not in Tracker2, and if the feature is used by a consumer of Tracker3 ( say, GNOME Videos ), then user’s of GNOME Videos should see visible change Y.”

or

“Tracker3 has been optimized for speed. So, users should see faster loading of videos in GNOME Videos”

Main reason for this question, is since the major version is bumped from 2 to 3, I was expecting something visible for a user.

2 Likes
  1. What’s the difference between Tracker2 and Tracker3 , from a user’s perspective ( say, as a user of GNOME Videos app )

The important change is that the search index is now split (one could say “sandboxed”) by content type. This was motivated by Flatpak. The desktop security model is changing – once we assumed all software on the system was inspected for security holes and data leaks by diligent distro packagers (this may or may not have ever been true, depending on your distro), but Flatpak makes it easier to install ‘untrusted’ apps.

The visible change for GNOME Videos is that, when installed via Flatpak, it requests access to the tracker:Videos graph via a portal, rather than requesting direct access to the Tracker database. In fact, there is no longer a single “Tracker database” at all. For Videos this is not so interesting as we know we can trust this app with our data anyway. It’s more interesting for untrusted apps – where previously your choice was ‘let the app search through all my data’ or ‘block the app from using the system search service completely’, you can now choose ‘let the app search through my videos but no other data’.

  1. What’s the difference between Tracker2 and Tracker3 , from a developer’s perspective ( say, as a developer of GNOME Videos app )

Many things, which you can read about in these blog posts:

  1. Why would one want to download a VM image ( 404 error currently ), for testing a library package ? Can’t we use the gnome-nightly repo for this ( which already has Videos / Nautilus etc ) ?

Tracker Miners is primarily a system service. Thus it’s not part of the Flatpak SDK.

I apologise for the broken link, Discourse will no longer let me edit that post for some reason.

2 Likes

@sthursfield Thanks for the detailed explanation.