Bug#929048: tracker-extract: Allocates between 5 and 10 GiB of memory when examining certain DDS files
Bálint Kovács
dratini0 at gmail.com
Thu May 16 01:42:44 BST 2019
Package: tracker-extract
Version: 2.1.6-1
Severity: critical
Justification: breaks the whole system
Dear Maintainer,
* What led up to the situation?
I have been extracting resources from a game. When I extracted a handful of DDS
files, my memory usage shot up and in about 5 seconds the entire system locked
up, no moving to virtual consoles, no nothing. This kept happening, every time
I logged into my profile. To investigate I killed all tracker-related
processes.
* What exactly did you do (or not do) that was effective (or
ineffective)?
I have been able to identify that the misbehaving process is tracker-extract. I
started running tracker-extract with an rlimit on the DDS files.
* What was the outcome of this action?
Some files worked fine, some failed under an RLIMIT_AS of 5 GiB but not under
an RLIMIT_AS of 10 GiB (but it still allocated a not insignificant amount of
memory)
Full output from an affected file:
$ /usr/lib/tracker/tracker-extract -v 2 -f bad.dds
00:57
** Message: 00:57:52.901: Starting tracker-extract 2.1.6
** Message: 00:57:52.901: General options:
** Message: 00:57:52.901: Verbosity ............................ 2
** Message: 00:57:52.901: Sched Idle ........................... 1
** Message: 00:57:52.901: Max bytes (per file) ................. 1048576
(tracker-extract:9171): dconf-DEBUG: 00:57:52.901: watch_established:
"/org/freedesktop/tracker/extract/" (establishing: 1)
Setting scheduler policy to SCHED_IDLE
Setting priority nice level to 19
Loading extractor rules... (/usr/share/tracker-miners/extract-rules)
Extractor rules loaded
MIME type guessed as 'image/x-dds' (from GIO)
../../../glib/gmem.c:105: failed to allocate 65687 bytes
* What outcome did you expect instead?
Full output from an unaffected file:
$ /usr/lib/tracker/tracker-extract -v 2 -f good.dds
00:57
** Message: 00:57:46.382: Starting tracker-extract 2.1.6
** Message: 00:57:46.382: General options:
** Message: 00:57:46.382: Verbosity ............................ 2
** Message: 00:57:46.382: Sched Idle ........................... 1
** Message: 00:57:46.382: Max bytes (per file) ................. 1048576
(tracker-extract:9113): dconf-DEBUG: 00:57:46.382: watch_established:
"/org/freedesktop/tracker/extract/" (establishing: 1)
Setting scheduler policy to SCHED_IDLE
Setting priority nice level to 19
Loading extractor rules... (/usr/share/tracker-miners/extract-rules)
Extractor rules loaded
MIME type guessed as 'image/x-dds' (from GIO)
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix nmm: <http://www.tracker-project.org/temp/nmm#> .
@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
<file:///home/.../good.dds> a nfo:Image ,
nmm:Photo .
* Other information
All of the files work with imagemagick display perfectly well, they are even
the same resolution.
To remedy the situation, I have deleted all affected DDS files, but I have kept
a tarball of an affected and an unaffected sample (along with one that is not
recognized for some reason.) I have attached it to my report. Handle with care,
especially if you have a desktop with tracker on it.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages tracker-extract depends on:
ii dconf-gsettings-backend [gsettings-backend] 0.30.1-2
ii libc6 2.28-10
ii libcue2 2.2.1-2
ii libexempi8 2.5.0-2
ii libexif12 0.6.21-5.1
ii libflac8 1.3.2-3
ii libgexiv2-2 0.10.9-1
ii libgif7 5.1.4-3
ii libglib2.0-0 2.58.3-1
ii libgsf-1-114 1.14.45-1
ii libgstreamer-plugins-base1.0-0 1.14.4-1
ii libgstreamer1.0-0 1.14.4-1
ii libgxps2 0.3.1-1
ii libicu63 63.1-6
ii libiptcdata0 1.0.5-2.1
ii libjpeg62-turbo 1:1.5.2-2+b1
ii libosinfo-1.0-0 1.2.0-1
ii libpng16-16 1.6.36-5
ii libpoppler-glib8 0.71.0-3
ii libseccomp2 2.3.3-4
ii libtagc0 1.11.1+dfsg.1-0.3
ii libtiff5 4.0.10-4
ii libtotem-plparser18 3.26.2-1
ii libtracker-miner-2.0-0 2.1.8-2
ii libtracker-sparql-2.0-0 2.1.8-2
ii libvorbisfile3 1.3.6-2
ii libxml2 2.9.4+dfsg1-7+b3
ii tracker 2.1.8-2
tracker-extract recommends no packages.
tracker-extract suggests no packages.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dds_examples.tar.xz
Type: application/x-xz
Size: 1539900 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20190516/9961d018/attachment-0001.xz>
More information about the pkg-gnome-maintainers
mailing list