1. 05 Feb, 2019 2 commits
  2. 30 Jan, 2019 4 commits
    • Bastien Nocera's avatar
      thumbnail: Fix slow thumbnailer due to missing font cache · 436c72d1
      Bastien Nocera authored
      On some distributions, the font cache doesn't live in /usr but in /var,
      which we don't allow access to when sandboxing the thumbnailers. Bind
      mount the fontconfig cache directory read-only if it lives outside /usr,
      to speed up thumbnailer startup.
      Closes: #90
    • Bastien Nocera's avatar
      thumbnail: Fix runtime warning getting a preview icon · fbd7b59c
      Bastien Nocera authored
      If we tried to get a preview thumbnail for a file, but that preview icon
      did not exist, then we'd generate a warning trying to add a reference to
      that GIcon.
      Fixes: e629e46a
    • Bastien Nocera's avatar
      ci: Fix CI problems caused by uninstalled glib2 translations · 59374329
      Bastien Nocera authored
      The glib2 Hebrew translations were not getting installed since an update
      in the Fedora Docker image which blocked any non-English translations
      from being installed. Even though the glibc Hebrew translations were
      unaffected, the glib2 one still was, causing half of the wall clock to
      be translated (glibc-provided strings) and half not (glib2-provided
      With help from Ray Strode.
    • Mart Raudsepp's avatar
      thumbnail: bind mount /etc/ld.so.cache to the sandbox · 77d37aa9
      Mart Raudsepp authored
      This is especially important for libstdc++ on distributions that
      don't have it directly in a libdir and the runtime linker doesn't
      look where needed without /etc/ld.so.cache (e.g. if libstdc++ is
      in a GCC per-version subdirectory handled via /etc/ld.so.conf.d/).
      If /etc/ld.so.cache is not available, the runtime linker will look
      only at a set of predetermined paths - as seen with LD_DEBUG=libs
      added to the bwrap call with "--setenv LD_DEBUG libs":
      find library=libstdc++.so.6 [0]; searching
       search cache=/etc/ld.so.cache
       search path=/lib64:/usr/lib64		(system search path)
        trying file=/lib64/libstdc++.so.6
        trying file=/usr/lib64/libstdc++.so.6
      followed by:
      /usr/bin/totem-video-thumbnailer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
      If /etc/ld.so.cache is available, it will use that for the paths:
      find library=libstdc++.so.6 [0]; searching
       search cache=/etc/ld.so.cache
        trying file=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/libstdc++.so.6
      By bind mounting just that file out of /etc, we get it to work on
      such a system.
      Closes: #81
  3. 16 Dec, 2018 2 commits
  4. 11 Dec, 2018 2 commits
    • Iain Lane's avatar
      thumbnail: Handle non-usrmerged systems and non-existing directories · 1644502f
      Iain Lane authored
      On systems where /usr-merge hasn't been carried out, /bin (etc) won't
      point to /usr/bin. In that case we should --ro-bind the directory
      instead of --symlinking it.
      This implements the suggestion from Simon McVittie on
      It also handles source directories not existing, which for example
      /lib64 won't on 32-bit systems.
      Closes: #4
      Closes: #89
      (cherry picked from commit 259e7e4e)
    • Bastien Nocera's avatar
      thumbnail: Fix use-after-free when getting a preview icon · 43dac410
      Bastien Nocera authored
      g_file_info_get_attribute_object() is transfer none, so when getting a
      preview GIcon from a gvfs-backed file that supports it, we need to
      reference the preview otherwise we might crash.
      ==19044== Invalid read of size 8
      ==19044==    at 0x48607E7: get_preview_thumbnail (gnome-desktop-thumbnail.c:978)
      ==19044==    by 0x48607E7: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Address 0x700f750 is 0 bytes inside a block of size 40 free'd
      ==19044==    at 0x4839A0C: free (vg_replace_malloc.c:530)
      ==19044==    by 0x48DFCD0: g_type_free_instance (gtype.c:1943)
      ==19044==    by 0x4E7F7B5: _g_file_attribute_value_clear (gfileattribute.c:176)
      ==19044==    by 0x4E83D46: g_file_info_finalize (gfileinfo.c:327)
      ==19044==    by 0x48C1C61: g_object_unref (gobject.c:3346)
      ==19044==    by 0x48607D5: get_preview_thumbnail (gnome-desktop-thumbnail.c:974)
      ==19044==    by 0x48607D5: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Block was alloc'd at
      ==19044==    at 0x483880B: malloc (vg_replace_malloc.c:299)
      ==19044==    by 0x4B54F20: g_malloc (gmem.c:99)
      ==19044==    by 0x4B6C3C2: g_slice_alloc (gslice.c:1024)
      ==19044==    by 0x4B6C9F8: g_slice_alloc0 (gslice.c:1050)
      ==19044==    by 0x48DFA33: g_type_create_instance (gtype.c:1846)
      ==19044==    by 0x48C2397: g_object_new_internal (gobject.c:1805)
      ==19044==    by 0x48C4113: g_object_new_valist (gobject.c:2128)
      ==19044==    by 0x48C443B: g_object_new (gobject.c:1648)
      ==19044==    by 0x7451CF7: g_vfs_icon_new (gvfsicon.c:178)
      ==19044==    by 0x7451D47: g_vfs_icon_from_tokens (gvfsicon.c:268)
      ==19044==    by 0x4E8BA45: g_icon_new_from_tokens (gicon.c:381)
      ==19044==    by 0x4E8BA45: g_icon_new_for_string (gicon.c:462)
      ==19044==    by 0x7450C5F: _g_dbus_get_file_attribute (gvfsdaemonprotocol.c:300)
      ==19044==    by 0x7450D26: _g_dbus_get_file_info (gvfsdaemonprotocol.c:340)
      ==19044==    by 0x867A74C: g_daemon_file_query_info (gdaemonfile.c:830)
      ==19044==    by 0x486078D: get_preview_thumbnail (gnome-desktop-thumbnail.c:960)
      ==19044==    by 0x486078D: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044== Invalid read of size 8
      ==19044==    at 0x48607F0: get_preview_thumbnail (gnome-desktop-thumbnail.c:978)
      ==19044==    by 0x48607F0: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Address 0xaaaaaaaaaaaaaaaa is not stack'd, malloc'd or (recently) free'd
      Root-caused by "Just Me"
      Closes: #87
  5. 17 Nov, 2018 1 commit
  6. 04 Nov, 2018 1 commit
  7. 03 Nov, 2018 1 commit
  8. 02 Nov, 2018 1 commit
  9. 27 Oct, 2018 2 commits
  10. 16 Oct, 2018 1 commit
  11. 29 Sep, 2018 1 commit
  12. 28 Sep, 2018 1 commit
  13. 25 Sep, 2018 1 commit
  14. 24 Sep, 2018 1 commit
  15. 18 Sep, 2018 1 commit
  16. 06 Sep, 2018 2 commits
  17. 05 Sep, 2018 2 commits
  18. 04 Sep, 2018 2 commits
  19. 03 Sep, 2018 2 commits
  20. 02 Sep, 2018 3 commits
  21. 31 Aug, 2018 1 commit
  22. 29 Aug, 2018 1 commit
  23. 28 Aug, 2018 4 commits
  24. 27 Aug, 2018 1 commit