Opened 13 months ago

Last modified 7 weeks ago

#18637 assigned bug

Thumbnail not removed from Tracker cache when deleting file

Reported by: pulkomandy Owned by: jscipione
Priority: normal Milestone: Unscheduled
Component: Kits/libtracker.so Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Consider the following scenario:

  • There is a file with a thumbnail
  • Delete the file
  • Create a new file in the same directory, that received the same inode

The new file gets rendered with the thumbnail of the old one. I assume there is some caching going on that is not cleared, and so the thumbnail is wrongly matched with the new file that reused the inode?

Change History (4)

comment:1 by waddlesplash, 13 months ago

Thumbnails are stored in the icon cache. I would expect this is a problem for files with unique icons too.

comment:2 by jscipione, 13 months ago

There is indeed an icon cache for thumbs and other icons in Tracker, although if you delete a file and create a new one I would expect the newer modification time of the file should invalidate the cache and rebuild the thumbnail, but apparently not. I suppose we should delete the entry from the icon cache when you empty the trash or delete the file. Deleting a file will also delete its attributes so Tracker wouldn’t know when the thumbnail was created anymore as we store that information in an attribute on the file.

comment:3 by jscipione, 12 months ago

Potentially fixed by hrev57428 as the thumbnail gen should invalidate the icon cache assuming the mod time check is working.

comment:4 by pulkomandy, 7 weeks ago

Happened to me again in hrev58179. I have a pdf file that ended up with a thumbnail from another unrelated picture.

This happens on my desktop. I probably moved the previous picture elsewhere using an mv command (so I did not delete it, that may make a difference), and then downloaded the pdf file using NetSurf (not sure that's important, just tracking what I did).

Note: See TracTickets for help on using tickets.