Bug#549456: evince-thumbnailer should know when to give up

Jeroen Nijhof jeroen at nijhof.uklinux.net
Sat Oct 3 14:08:54 UTC 2009


Package: evince
Version: 2.26.2-2
Severity: normal

evince-thumbnailer called on a DVI file with a completely missing font
gets stuck in an infinite loop, trying to generate the TFM file again and
again. For instance, with the attached testfont.dvi , the output is
as shown below, with a backtrace below that.
It tries to generate anttb.tfm , but there is no anttb.tfm (anymore),
and no anttb.mf either. That's for the Antiqua Tornunski bold font;
there are various files like cs-anttb.tfm

evince-thumbnailer was  called behind my back by nautilus, and as a result
one core was kept busy constantly in a mysterious way: no single busy
process showed in top because evince-thumbnailer kept spawning short running
mktextfm processes...

I tried to compile evince-thumbnailer from source, to add some debugging
statements (apt-get source evince ; apt-get install kpathsea-dev;
cd evince-2.26.2; ./configure; make; sudo make install),
but that self built version did correctly figure out that
the tfm file was missing.

The version of libkpathsea4 that is installed is:

ii  libkpathsea4   2007.dfsg.2-7  TeX Live: path search library for TeX (runti

Jeroen Nijhof

====[ output of evince-thumbnailer testfont.dvi x.png ]=========
kpathsea: Running mktextfm anttb
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input anttb
This is METAFONT, Version 2.71828 (Web2C 7.5.6)

kpathsea: Running mktexmf anttb
! I can't find file `anttb'.
<*> ...e:=ljfour; mag:=1; nonstopmode; input anttb
                                                  
Please type another input file name
! Emergency stop.
<*> ...e:=ljfour; mag:=1; nonstopmode; input anttb
                                                  
Transcript written on mfput.log.
grep: anttb.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input anttb' failed to make anttb.tfm.
kpathsea: Appending font creation commands to missfont.log.
kpathsea: Running mktextfm anttb
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input anttb
This is METAFONT, Version 2.71828 (Web2C 7.5.6)
[... ad inifinitum ]
===============================================================

=========[ backtrace of evince-thumbnailer after stopping with ^Z ]==========

0x00007ffff4cb0570 in __read_nocancel () from /lib/libpthread.so.0
(gdb) where
#0  0x00007ffff4cb0570 in __read_nocancel () from /lib/libpthread.so.0
#1  0x00007fffefef23e4 in ?? () from /usr/lib/libkpathsea.so.4
#2  0x00007fffefef29dc in kpse_make_tex () from /usr/lib/libkpathsea.so.4
#3  0x00007fffefeebf15 in kpse_find_file () from /usr/lib/libkpathsea.so.4
#4  0x00007ffff0113a6f in lookup_font_metrics (
    name=0xb <Address 0xb out of bounds>, type=0x7fffffffe16c)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/tfmfile.c:604
#5  0x00007ffff01147a4 in get_font_metrics (short_name=0x628e00 "anttb", 
    type=-1, filename=0x0)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/tfmfile.c:667
#6  0x00007ffff010d8fd in mdvi_ps_get_metrics (fontname=0x628e00 "anttb")
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/fontmap.c:1093
#7  0x00007ffff0112a8d in t1_really_load_font (params=0x6291b0, font=0x62a3b0, 
    code=7)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/t1.c:258
#8  t1_font_get_glyph (params=0x6291b0, font=0x62a3b0, code=7)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/t1.c:502
#9  0x00007ffff010b3ba in load_one_glyph (dvi=0x629160, font=0x62a3b0, code=7)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/font.c:286
#10 font_get_glyph (dvi=0x629160, font=0x62a3b0, code=7)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/font.c:359
#11 0x00007ffff0107f1a in set_char (dvi=0x629160, opcode=7)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/dviread.c:1291
#12 0x00007ffff01097d5 in mdvi_dopage (dvi=0x629160, pageno=0)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/mdvi-lib/dviread.c:1091
#13 0x00007ffff0102dbe in dvi_document_thumbnails_get_thumbnail (
    document=<value optimized out>, rc=0x60d0c0, border=0)
    at /scratch/build-area/evince-2.26.2/./backend/dvi/dvi-document.c:325
#14 0x0000000000401465 in evince_thumbnail_pngenc_get (document=0x6101e0, 
    thumbnail=0x602230 "x", size=<value optimized out>)
    at /scratch/build-area/evince-2.26.2/./thumbnailer/evince-thumbnailer.c:80
#15 0x00000000004016fc in main (argc=1, argv=0x7fffffffe668)
    at /scratch/build-area/evince-2.26.2/./thumbnailer/evince-thumbnailer.c:237

============================================================================

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

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

Versions of packages evince depends on:
ii  evince-common          2.26.2-2          Document (postscript, pdf) viewer 
ii  gconf2                 2.26.2-3          GNOME configuration database syste
ii  gnome-icon-theme       2.28.0-1          GNOME Desktop icon theme
ii  libatk1.0-0            1.28.0-1          The ATK accessibility toolkit
ii  libc6                  2.9-27            GNU C Library: Shared libraries
ii  libcairo2              1.8.8-2           The Cairo 2D vector graphics libra
ii  libdbus-1-3            1.2.16-2          simple interprocess messaging syst
ii  libdbus-glib-1-2       0.82-2            simple interprocess messaging syst
ii  libevince1             2.26.2-2          Document (postscript, pdf) renderi
ii  libfontconfig1         2.6.0-4           generic font configuration library
ii  libfreetype6           2.3.9-5           FreeType 2 font engine, shared lib
ii  libgconf2-4            2.26.2-3          GNOME configuration database syste
ii  libglib2.0-0           2.22.1-1          The GLib library of C routines
ii  libgnome-keyring0      2.26.1-1          GNOME keyring services library
ii  libgtk2.0-0            2.18.1-1          The GTK+ graphical user interface 
ii  libice6                2:1.0.5-1         X11 Inter-Client Exchange library
ii  libnautilus-extension1 2.28.0-2          libraries for nautilus components 
ii  libpango1.0-0          1.26.0-1          Layout and rendering of internatio
ii  libpoppler-glib4       0.10.6-1          PDF rendering library (GLib-based 
ii  libsm6                 2:1.1.1-1         X11 Session Management library
ii  libx11-6               2:1.2.2-1         X11 client-side library
ii  libxml2                2.7.5.dfsg-1      GNOME XML library
ii  shared-mime-info       0.60-2            FreeDesktop.org shared MIME databa
ii  zlib1g                 1:1.2.3.3.dfsg-15 compression library - runtime

Versions of packages evince recommends:
ii  dbus-x11                      1.2.16-2   simple interprocess messaging syst
ii  gvfs                          1.4.0-2    userspace virtual filesystem - ser

Versions of packages evince suggests:
ii  nautilus                      2.28.0-2   file manager and graphical shell f
pn  poppler-data                  <none>     (no description available)
pn  unrar                         <none>     (no description available)

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testfont.dvi
Type: application/x-dvi
Size: 10704 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20091003/2659609f/attachment.dvi>


More information about the pkg-gnome-maintainers mailing list