Bug#598739: evince: memory leak when trying to select text in a pdf

Mathias Kende mathias at kende.fr
Fri Oct 1 15:36:37 UTC 2010


Package: evince
Version: 2.30.3-1
Severity: important
Tags: squeeze

When I try to select text in "image based" PDF the memory use of evince start
to grow fast until the system becomes unusable. In the meantime evince will
also not respond to user interaction.

Step to reproduce :
1 - open some PDF with bitmap text (I am not familiar with the PDF technology
so I don't know exactly how to describe this sort of non-modern PDF file).
These files will triger this bug :
http://caml.inria.fr/pub/papers/doligez-these.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.139.6664&rep=rep1&type=pdf

2 - Try to select some text using the mouse cursor.
Nothing will happen, or a small amount of text will be highlighted.

3 - The memory used by evince will start to grow fast (around 50 or 100MB/s).

I am attaching a valgrind report of this bug. I don't know if it is accurate as
I am killing memcheck manually (before the complete freeze of the UI when the
system starts to swap too much). Also to pace of memory allocation is a lot
slower with valgrind.



-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages evince depends on:
ii  evince-common           2.30.3-1         Document (postscript, pdf) viewer
ii  gconf2                  2.28.1-3         GNOME configuration database syste
ii  gnome-icon-theme        2.30.3-1         GNOME Desktop icon theme
ii  libatk1.0-0             1.30.0-1         The ATK accessibility toolkit
ii  libc6                   2.11.2-6         Embedded GNU C Library: Shared lib
ii  libcairo2               1.8.10-6         The Cairo 2D vector graphics libra
ii  libdbus-1-3             1.2.24-3         simple interprocess messaging syst
ii  libdbus-glib-1-2        0.88-2           simple interprocess messaging syst
ii  libevince2              2.30.3-1         Document (postscript, pdf) renderi
ii  libfontconfig1          2.8.0-2.1        generic font configuration library
ii  libfreetype6            2.4.2-1          FreeType 2 font engine, shared lib
ii  libgconf2-4             2.28.1-3         GNOME configuration database syste
ii  libglib2.0-0            2.24.2-1         The GLib library of C routines
ii  libgnome-keyring0       2.30.1-1         GNOME keyring services library
ii  libgtk2.0-0             2.20.1-1+b1      The GTK+ graphical user interface
ii  libice6                 2:1.0.6-1        X11 Inter-Client Exchange library
ii  libnautilus-extension1  2.30.1-1         libraries for nautilus components
ii  libpango1.0-0           1.28.1-1         Layout and rendering of internatio
ii  libsm6                  2:1.1.1-1        X11 Session Management library
ii  libx11-6                2:1.3.3-3        X11 client-side library
ii  libxml2                 2.7.7.dfsg-4     GNOME XML library
ii  shared-mime-info        0.71-3           FreeDesktop.org shared MIME databa
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages evince recommends:
ii  dbus-x11                      1.2.24-3   simple interprocess messaging syst
ii  gvfs                          1.6.3-1    userspace virtual filesystem - ser

Versions of packages evince suggests:
ii  nautilus                      2.30.1-1   file manager and graphical shell f
pn  poppler-data                  <none>     (no description available)
ii  unrar                         1:3.9.10-1 Unarchiver for .rar files (non-fre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: evince.mem
Type: text/x-pascal
Size: 3232101 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20101001/4e6b9ed8/attachment-0001.pas>


More information about the pkg-gnome-maintainers mailing list