[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#401887: gs-esp: "hangs" and eats a lot of memory when asked to use font that does not exist



Package: gs-esp
Version: 8.15.3.dfsg.1-1
Severity: important

When run with ps file that contains references to fonts that do not
exist on the machine, gs starts to allocate a lot of memory and this
causes constant swapping, it is nearly not posible to use machine during
until gs killed, and it is very hard to kill it when X is running.
Output of top command follows (there are 512M of memory on the machine):

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 9492 eugen     18   0 1043m 425m  376 D  5.3 84.5   0:02.20 gs

Bug can be reproduced by running postscript file like the following with
gs, gv, ps2pdf, etc:

% cat test.ps
/fontthatdoesnotexist findfont
%

I see this bug when try to open many of ps files found in Internet.

Output of "gs -DDEBUG test.ps" is attached (until the moment when I
killed gs, that was several minutes of work without results).

Workaround for this bug that I use is replacing body of function
.buildnativefontmap in file /usr/share/gs-esp/8.15/lib/gs_fonts.ps by
just "true .setnativefontmapbuilt true". In this case gs
reports:

% gs test.ps
ESP Ghostscript 815.03 (2006-08-25)
Copyright (C) 2004 artofcode LLC, Benicia, CA.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Can't find (or can't open) font file /usr/share/gs-esp/8.15/Resource/Font/fontthatdoesnotexist.
Can't find (or can't open) font file fontthatdoesnotexist.
Can't find (or can't open) font file /usr/share/gs-esp/8.15/Resource/Font/fontthatdoesnotexist.
Can't find (or can't open) font file fontthatdoesnotexist.
Didn't find this font on the system!
Substituting font Courier for fontthatdoesnotexist.
Loading NimbusMonL-Regu font from /var/lib/defoma/gs.d/dirs/fonts/n022003l.pfb... 2490276 1191424 1824112 495425 1 done.
GS<1> 

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.19-me
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)

Versions of packages gs-esp depends on:
ii  gs-common                    0.3.11      Common files for different Ghostsc
ii  libc6                        2.3.6.ds1-8 GNU C Library: Shared libraries
ii  libcupsimage2                1.2.7-1     Common UNIX Printing System(tm) - 
ii  libcupsys2                   1.2.7-1     Common UNIX Printing System(tm) - 
ii  libfontconfig1               2.4.2-1     generic font configuration library
ii  libgnutls13                  1.4.4-3     the GNU TLS library - runtime libr
ii  libice6                      1:1.0.1-2   X11 Inter-Client Exchange library
ii  libjpeg62                    6b-13       The Independent JPEG Group's JPEG 
ii  libpaper1                    1.1.21      Library for handling paper charact
ii  libpng12-0                   1.2.13-4    PNG library - runtime
ii  libsm6                       1:1.0.1-3   X11 Session Management library
ii  libstdc++6                   4.1.1-20    The GNU Standard C++ Library v3
ii  libtiff4                     3.8.2-6     Tag Image File Format (TIFF) libra
ii  libx11-6                     2:1.0.3-4   X11 client-side library
ii  libxext6                     1:1.0.1-2   X11 miscellaneous extension librar
ii  libxt6                       1:1.0.2-2   X11 toolkit intrinsics library
ii  zlib1g                       1:1.2.3-13  compression library - runtime

Versions of packages gs-esp recommends:
ii  gsfonts       1:8.11+urwcyr1.0.7~pre41-1 Fonts for the Ghostscript interpre
ii  psfontmgr     0.11.10                    PostScript font manager -- part of

-- debconf-show failed

Attachment: log.txt.gz
Description: Binary data


Reply to: