[Fontconfig] fontconfig or Xft bug? Segmentation fault with dangling symlink

Anthony Fok anthony at thizlinux.com
Wed May 7 06:46:45 EST 2003


Hello Keith,

While doing some testing with Firefly's fix for mixed AA and non-AA
patch (which I think you fixed already, but not yet in XFree86 4.3.0
etc. and thus not yet propagated to most distributions), I tried to
reproduce the problem on Debian (unstable/sid), and move the Arial and
Verdana TrueType fonts out of the way so I could have only the bitmap
helvetica left.  After that, "xfd -fa arial-24" segfaults.  It is
likely triggered by a dangling symlink.

    In /etc/fonts/fonts.conf:

	<dir>/usr/share/fonts</dir>
	<dir>/var/lib/defoma/x-ttcidfont-conf.d/dirs</dir>

    /usr/share/fonts/truetype/Arial.ttf: 
	Actual font file

    /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/Arial.ttf:
	Symlink to /usr/share/fonts/truetype/Arial.ttf
	(Yes, that's the design of defoma Debian Font Manager.)

    Not sure if it matters: I don't have
    /usr/share/fonts/truetype/fonts.cache-1

Steps to reproduce:

  1. Just to make sure everything is in a clean state, I removed
     ~/.fonts.cache-1.

  2. "xfd -fa arial-24" works fine.

  3. Move /usr/share/fonts/truetype/Arial.ttf out of the way.

  4. "xfd -fa arial-24" now shows error:

	Warning: Cannot convert string "arial-24" to type XftFont
	Segmentation fault

At this point, ~/.fonts.cache-1 was automatically updated with the
"/usr/share/fonts/truetype/Arial.ttf" entry removed, but the entry for
"/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/Arial.ttf" still
lingers, which is okay, I suppose.  :-)

XftFontClose() is called twice though: (I installed your latest
render-0.8, xrender-0.8.2 and xft-2.1.2 in /tmp/dest)

$ LD_LIBRARY_PATH=/tmp/dest/usr/X11R6/lib gdb --args ~/xfd -fa arial-24
...
(gdb) bt
#0  0x0804a8c5 in XftFontClose () at xftfreetype.c:995
#1  0x401a57b0 in vendorShellWidgetClass () from /usr/X11R6/lib/libXt.so.6
#2  0x40170301 in XtInitializeWidgetClass () from /usr/X11R6/lib/libXt.so.6
#3  0x401707ef in XtInitializeWidgetClass () from /usr/X11R6/lib/libXt.so.6
#4  0x40170c10 in _XtCreateWidget () from /usr/X11R6/lib/libXt.so.6
#5  0x40170e83 in XtCreateManagedWidget () from /usr/X11R6/lib/libXt.so.6
#6  0x08049822 in XftFontClose () at xftfreetype.c:995
#7  0x402b0a51 in __libc_start_main () from /lib/libc.so.6

The xftfreetype.c here is from xft-2.1.2.

Thanks in advance!

Cheers,

Anthony

P.S. I know I probably should use bugzilla, but I'm too sleepy now, and
     I'll probably forget to report it if I don't do it now, so... :-)

-- 
Anthony Fok Tung-Ling
ThizLinux Laboratory   <anthony at thizlinux.com> http://www.thizlinux.com/
Debian Chinese Project <foka at debian.org>       http://www.debian.org/intl/zh/
Come visit Our Lady of Victory Camp!           http://www.olvc.ab.ca/




More information about the Fontconfig mailing list