Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 148992 - app-text/evince-0.5.3-r1 memory leak
Summary: app-text/evince-0.5.3-r1 memory leak
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Daniel Gryniewicz (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-24 14:15 UTC by Luca Guglielmetti
Modified: 2007-02-08 17:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Guglielmetti 2006-09-24 14:15:03 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060924 Firefox/1.5.0.7
Build Identifier: 

by reading some pdf evince does not free correctory the memory

Reproducible: Always

Steps to Reproduce:
1. download http://www.imladris.immaginario.net/risorse/tdm/sindarin/Gobeth-1.0.zip
2. open the pdf file with evince
3. read 10-15 pages

Actual Results:  
$ free -m
             total       used       free     shared    buffers     cached
Mem:           502        496          6          0          0         21
-/+ buffers/cache:        475         27
Swap:          243        243          0
Total:         746        740          6

$ top
6264 evellon   15   0  709m 450m 6840 S  0.0 89.7   0:08.28 evince

# tail /var/log/messages -n 100
Sep 24 22:36:21 galvorn oom-killer: gfp_mask=0x201d2, order=0
Sep 24 22:36:21 galvorn [<c0136c7e>] out_of_memory+0x27/0x141
Sep 24 22:36:21 galvorn [<c0137f69>] __alloc_pages+0x1db/0x25a
Sep 24 22:36:21 galvorn [<c01392e5>] __do_page_cache_readahead+0xcf/0x205
Sep 24 22:36:21 galvorn [<c0112fb0>] __wake_up_common+0x2a/0x4a
Sep 24 22:36:21 galvorn [<c013621c>] filemap_nopage+0x164/0x32c
Sep 24 22:36:21 galvorn [<c013e37a>] __handle_mm_fault+0x23b/0x746
Sep 24 22:36:21 galvorn [<c010f674>] do_page_fault+0x18a/0x47e
Sep 24 22:36:21 galvorn [<c010f4ea>] do_page_fault+0x0/0x47e
Sep 24 22:36:21 galvorn [<c0102e1d>] error_code+0x39/0x40
Sep 24 22:36:21 galvorn Mem-info:
Sep 24 22:36:21 galvorn DMA per-cpu:
Sep 24 22:36:21 galvorn cpu 0 hot: high 0, batch 1 used:0
Sep 24 22:36:21 galvorn cpu 0 cold: high 0, batch 1 used:0
Sep 24 22:36:21 galvorn DMA32 per-cpu: empty
Sep 24 22:36:21 galvorn Normal per-cpu:
Sep 24 22:36:21 galvorn cpu 0 hot: high 186, batch 31 used:7
Sep 24 22:36:21 galvorn cpu 0 cold: high 62, batch 15 used:10
Sep 24 22:36:21 galvorn HighMem per-cpu: empty
Sep 24 22:36:21 galvorn Free pages:        5200kB (0kB HighMem)
Sep 24 22:36:21 galvorn Active:61215 inactive:61168 dirty:0 writeback:0
unstable:0 free:1300 slab:1947 mapped:54 pagetables:319
Sep 24 22:36:21 galvorn DMA free:2068kB min:88kB low:108kB high:132kB
active:5224kB inactive:4984kB present:16384kB pages_scanned:11447
all_unreclaimable? yes
Sep 24 22:36:21 galvorn lowmem_reserve[]: 0 0 495 495
Sep 24 22:36:21 galvorn DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB
inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Sep 24 22:36:21 galvorn lowmem_reserve[]: 0 0 495 495
Sep 24 22:36:21 galvorn Normal free:3132kB min:2800kB low:3500kB high:4200kB
active:239636kB inactive:239688kB present:507264kB pages_scanned:197304
all_unreclaimable? no
Sep 24 22:36:21 galvorn lowmem_reserve[]: 0 0 0 0
Sep 24 22:36:21 galvorn HighMem free:0kB min:128kB low:128kB high:128kB
active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Sep 24 22:36:21 galvorn lowmem_reserve[]: 0 0 0 0
Sep 24 22:36:21 galvorn DMA: 1*4kB 0*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB
0*512kB 0*1024kB 1*2048kB 0*4096kB = 2068kB
Sep 24 22:36:21 galvorn DMA32: empty
Sep 24 22:36:21 galvorn Normal: 1*4kB 39*8kB 8*16kB 0*32kB 0*64kB 1*128kB
0*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 3132kB
Sep 24 22:36:21 galvorn HighMem: empty
Sep 24 22:36:21 galvorn Swap cache: add 84622, delete 84606, find 1104/1714,
race 0+0
Sep 24 22:36:21 galvorn Free swap  = 0kB
Sep 24 22:36:21 galvorn Total swap = 249440kB
Sep 24 22:36:21 galvorn Free swap:            0kB
Sep 24 22:36:21 galvorn 130912 pages of RAM
Sep 24 22:36:21 galvorn 0 pages of HIGHMEM
Sep 24 22:36:21 galvorn 2213 reserved pages
Sep 24 22:36:21 galvorn 2171 pages shared
Sep 24 22:36:21 galvorn 16 pages swap cached
Sep 24 22:36:21 galvorn 0 pages dirty
Sep 24 22:36:21 galvorn 0 pages writeback
Sep 24 22:36:21 galvorn 54 pages mapped
Sep 24 22:36:21 galvorn 1947 pages slab
Sep 24 22:36:21 galvorn 319 pages pagetables
Sep 24 22:36:21 galvorn Out of Memory: Kill process 5842 (bash) score 196127 and
children.
Sep 24 22:36:21 galvorn Out of memory: Killed process 6007 (evince).



# eix evince
* app-text/evince 
     Available versions:  0.4.0-r3 ~0.5.0 0.5.1 0.5.3-r1 ~0.5.4 ~0.5.5 ~0.6.0
     Installed:           0.5.3-r1
     Homepage:            http://www.gnome.org/projects/evince/
     Description:         Simple document viewer for GNOME
     Provides:            none
     License:             GPL-2


# emerge --info
Portage 2.1.1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.18 i686)
=================================================================
System uname: 2.6.18 i686 Intel(R) Pentium(R) M processor 1.70GHz
Gentoo Base System version 1.12.5
Last Sync: Sun, 24 Sep 2006 15:20:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ 
http://gentoo.mirror.solnet.ch/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo/"
LC_ALL="en_GB.UTF-8"
LINGUAS=""
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/overlay /usr/local/portage/guglie_overlay
/home/evellon/doc/dev/gentoo/overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X ace acpi alsa apm bash-completion berkdb bitmap-fonts cli crypt cups
divx4linux dlloader dri dvd dvdread elibc_glibc emboss encode foomaticdb fortran
gdbm gif gpm gstreamer gtk gtk2 imlib input_devices_keyboard input_devices_mouse
ipv6 isdnlog jpeg kernel_linux libg++ libwww mad mikmod mmx mmx2 motif mp3 mpeg
mps ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png pppd python qt3
quicktime rar readline reflection sdl session spell spl sse sse2 ssl svg tcpd
truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_radeon
vorbis win32codecs xml xmms xorg xv xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, MAKEOPTS,
PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-09-25 10:42:20 UTC
I was able to read the whole document.  Memory usage remained constant throughout.  Are you sure it's a leak, and not just using a lot of memory?  Can you try the most recent (0.6.0) version of evince, to see if it still has the problem for you?
Comment 2 Luca Guglielmetti 2006-09-25 17:13:59 UTC
(In reply to comment #1)
> Are you sure it's a leak, and not just using a lot of memory? 
I think you are right, it seems more that the program is using a lot of memory, but it's  normal that evince requires 90% of 746 Mb Memory and that I can't even use my wm or open a terminal to kill the program because of that?

I tried evince-0.6 and I got the same problem. Then I tried kpdf, and it full the memory, too.

I haven't got problems by reading the same pdf with gv:

$ free -m
             total       used       free     shared    buffers     cached
Mem:           502        116        386          0          0         57
-/+ buffers/cache:         59        443
Swap:          243         51        191
Total:         746        168        578

I'm not sure that this is still an evince bug: is maybe something in my system bad configured?
Comment 3 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-09-26 08:42:04 UTC
Well, I have 2 GB, which is why I was probably able to open it fine.

That said, it's not a nice thing to use all your RAM.  There's work underway to fix this, but evince is still a 0.x release, so it's not surprising it has some warts.  Could you re-file this bug upstream in http://bugzilla.gnome.org ?  If you don't want to, I can do it.  I can even mirror the PDF, if necessary.
Comment 4 Luca Guglielmetti 2006-09-26 09:30:30 UTC
(In reply to comment #3)
> Well, I have 2 GB, which is why I was probably able to open it fine.
How much memory does evince full on your system?

> Could you re-file this bug upstream in http://bugzilla.gnome.org ?
Done: http://bugzilla.gnome.org/show_bug.cgi?id=357846

Comment 5 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-09-26 10:35:10 UTC
Here, on evince 0.6.0 and poppler 0.5.3, it takes ~200MB virtual, 25MB resident, and 13MB shared.  That's a lot, but it's less than openoffice frequently takes.
Comment 6 Tiago Marques 2006-10-19 09:58:32 UTC
I'm also having the same problem using kpdf, so it must be poppler's fault.
Comment 7 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-02-08 17:14:42 UTC
I don't think this is a bug, and much newer versions of evince are stable, so closing.