Index for media files & documents not updating (Xperia10 II, 4.1.0.23)

Okay, I found the offending sparql query, that makes tracker crash and burn for me. For me tracker dies with the following debug messages:

(tracker-miner-fs:1197): Tracker-CRITICAL **: 14:36:25.957: Could not execute sparql: GDBus.Error:org.freedesktop.Tracker1.SparqlError.Internal: Not a ISO 8601 date string. Allowed form is [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]

In strace, the offending query is:

INSERT DATA {\nGRAPH <urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540> {\n_:1 a nfo:FileDataObject , nie:InformationElement , nfo:Folder ; \n  nie:dataSource <urn:nepomuk:datasource:6b397c2211a096d778fae0a21cf10ea2> ; \n  nfo:belongsToContainer <urn:uuid:30e161e0-33ce-4ee1-8520-90ae893368e5> ; \n  nfo:fileSize 4096 ; \n  nie:isStoredAs _:1 ; \n  nfo:fileLastModified \"292278994-08-17T07:12:55.807Z\" ; \n  nfo:fileName \"With Love\" ; \n  nfo:fileLastAccessed \"2021-05-26T11:45:26Z\" ; \n  nie:mimeType \"inode/directory\" ; \n  nie:url \"file:///run/media/defaultuser/ec5e57e8-5cd2-4dd4-8a82-d0d2f274de59/Music/Christina%20Grimmie/Christina%20Grimmie/With%20Love\" ; \n  tracker:available TRUE .\n}\n};\n

As you can see, the modification timestamp is horribly wrong. So sparql rightfully chokes on it.

If I run stat from the command line manually, I get the following:

  File: /run/media/defaultuser/ec5e57e8-5cd2-4dd4-8a82-d0d2f274de59/Music/Christina Grimmie/Christina Grimmie/With Love/
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: b341h/45889d    Inode: 9437904     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (100000/defaultuser)   Gid: ( 1000/  system)
Access: 2021-05-26 13:45:26.000000000
Modify: 1970-01-01 00:00:00.000000000
Change: 2019-07-15 19:47:12.000000000

So I guess it just has no modification timestamp?

It seems like newer versions of tracker fallback to setting it to the unix epoch start: src/miners/fs/tracker-miner-files.c · master · mirror / tracker-miners · GitLab

But that is a new change: tracker-miner-fs: Fall back if no modification date is found (c6beebb1) · Commits · mirror / tracker-miners · GitLab

Maybe that causes some issues or that change isn’t in Sailfish yet?

It also explains why it only breaks on 64bit. The date is ~INT_MAX, which on 32bit has 4 digits (2038) and on 64bit has a lot more.

2 Likes