Bug 5360

Summary: Fontconfig 2.3.92 crashes KDE built with fontconfig 2.1.0
Product: fontconfig Reporter: jimo
Component: libraryAssignee: Keith Packard <keithp>
Status: RESOLVED INVALID QA Contact:
Severity: major    
Priority: high    
Version: 2.3   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 8100    

Description jimo 2005-12-17 08:04:40 UTC
KDE 3.4.2 (or 3.4.0), built with Fontconfig 2.1.0,  
crashes after installing Fontconfig 2.3.92.  
  
Here's a representative excerpt from a KDE 3.4.2 startup log:  
-----------------------------------------------------------  
xset:  bad font path element (#64), possible causes are:  
    Directory does not exist or has wrong permissions  
    Directory missing fonts.dir  
    Incorrect font server address or syntax  
xset:  bad font path element (#64), possible causes are:  
    Directory does not exist or has wrong permissions  
    Directory missing fonts.dir  
    Incorrect font server address or syntax  
startkde-3.4.2: Starting up...  
ksplash: Inactive  
pixmap: /opt/kde3.4.2/share/apps/ksplash/Themes/Default/splash_inactive_bar.png  
ksplash: Active  
pixmap:   /opt/kde3.4.2/share/apps/ksplash/Themes/Default/splash_active_bar.png  
kdeinit: Launched DCOPServer, pid = 30459 result = 0  
KCrash: crashing... crashRecursionCounter = 2  
KCrash: Application Name = ksplash path = <unknown> pid = 30456  
...  
kdeinit: Launched 'kcminit', pid = 30470 result = 0  
DCOP: register 'kcminit-30470' -> number of clients is now 1  
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-kdetst/ksycoca  
kdeinit: Got SETENV 'KDE_MULTIHEAD=false' from klauncher.  
kcontrol: Initializing kcm_input: init_mouse  
kdeinit: Got SETENV 'XCURSOR_THEME=default' from klauncher.  
kcontrol: Initializing kcm_energy: init_energy  
kcontrol: Initializing kcm_keys: init_keys  
kdecore (KLibLoader): WARNING: KLibrary: /opt/kde3.4.2/lib/libkdecore.so.4:  
undefined symbol: init_kdnssd  
kdecore (KLibLoader): library=libkcm_kdnssd: No file named libkcm_kdnssd.la  
found in paths.  
kcontrol: Initializing kcm_keyboard: init_keyboard  
kcontrol: Initializing kcm_style: init_style  
DCOP: unregister 'kcminit-30470'  
KCrash: crashing... crashRecursionCounter = 2  
KCrash: Application Name = kcminit path = <unknown> pid = 30470  
kdeinit: PID 30470 terminated.  
...  
kio (KLauncher): KLauncher: Got exec_blind('kwin', ...)  
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-kdetst/ksycoca  
kdeinit: Got EXEC_NEW 'kwin' from launcher.  
kio (KLauncher): kwin (pid 30476) up and running.  
KCrash: crashing... crashRecursionCounter = 2  
KCrash: Application Name = kwin path = <unknown> pid = 30476  
kdeinit: PID 30476 terminated.  
...  
kdeinit: Got EXEC_NEW 'kdesktop' from launcher.  
kio (KLauncher): kdesktop (pid 30478) up and running.  
DCOP: register 'kdesktop' -> number of clients is now 2  
DCOP: register 'anonymous-30478' -> number of clients is now 3  
kdecore (KConfigSkeleton): Creating KConfigSkeleton (0x80e6418)  
kdecore (KConfigSkeleton): KConfigSkeleton::readConfig()  
kdecore (KConfigSkeleton): KConfigSkeleton::readConfig()  
kdesktop: no lock (repeated 4 times)  
kdesktop: Saver Engine disabled  
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-kdetst/ksycoca  
DCOP aborting call from 'anonymous-30478' to 'kdesktop'  
DCOP: unregister 'kdesktop'  
ERROR: Communication problem with kdesktop, it probably crashed.  
DCOP: unregister 'anonymous-30478'  
kdeinit: PID 30478 terminated.  
kdeinit: Got EXEC_NEW 'kicker' from launcher.  
KCrash: crashing... crashRecursionCounter = 2  
KCrash: Application Name = kdesktop path = <unknown> pid = 30479  
...  
DCOP aborting (delayed) call from 'anonymous-30485' to 'korgac'  
DCOP: unregister 'korgac'  
ERROR: Communication problem with korgac, it probably crashed.  
DCOP: unregister 'anonymous-30485'  
kdeinit: PID 30485 terminated.  
KCrash: crashing... crashRecursionCounter = 2  
KCrash: Application Name = korgac path = <unknown> pid = 30585  
------------end of log excerpt-----------------------------  
  
I'm not sure any of the backtraces I've been able to collect are relevant,  
since KDE's crash handler insulates the user, or the debugger, from the  
fault.  I'd welcome suggestions on improving this sort of debugging.  
  
That said, here's a backtrace collected by interrupting KDE with Ctl-C  
after switching from the VC of the X session back to the VC running  
the gdb->startx session. At this point KDE was unresponsive, the X server  
could not be killed with Ctl-Alt-Del, but I could switch VCs via Ctl-Alt-Fn.  
  #0  0x401b4da4 in write () from /lib/libc.so.6  
  #1  0x400e72a4 in __DTOR_END__ () from /usr/X11R6/lib/libX11.so.6  
  #2  0x40079179 in _X11TransWrite () from /usr/X11R6/lib/libX11.so.6  
  #3  0x4005d1fe in _XFlushInt () from /usr/X11R6/lib/libX11.so.6  
  #4  0x4005e5bb in _XReply () from /usr/X11R6/lib/libX11.so.6  
  #5  0x4005a2f9 in XSync () from /usr/X11R6/lib/libX11.so.6  
  #6  0x40040fb2 in XCloseDisplay () from /usr/X11R6/lib/libX11.so.6  
  #7  0x0804978c in ?? ()  
  #8  0x0804931c in ?? ()  
  #9  0x401067ee in __libc_start_main () from /lib/libc.so.6  
  
If I change the symlink to the fontconfig lib  
from  
  libfontconfig.so.1 -> libfontconfig.so.1.0.4  
to  
  libfontconfig.so.1 -> libfontconfig.so.1.0  
then I can bring up KDE more-or-less successfully (obviously with some  
font issues).  
  
If I bring up KDE like that, then switch the symlink back to  
...so.1.0.4 and, within an xterm, trace a KDE app, Kmail, that I know  
crashes I see this:  
  
  kdetst: gdb -q -e /opt/kde3.4.2/bin/kmail 2>&1 | tee gdb.out  
  (gdb) run  
  Starting program: /opt/kde3.4.2/bin/kmail   
  [New Thread 1024 (LWP 23951)]  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  Error while reading shared library symbols:  
  Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.  
  ERROR: Communication problem with kmail, it probably crashed.  
    
  Program exited with code 0377.  
  (gdb) bt  
  No stack.  
  (gdb) quit  
  kdetst:  
---------------end of backtraces----------------------------  
  
Here's my configuration/environment:  
fontconfig 2.3.92  
freetype2 9.8.3  
  
libexpat 1.95.8  
libXML 1.8.17  
libXML 2.6.20  
libiconv 1.9.1  
libz 1.1.3  
  
KDE 3.4.2, built with fontconfig 2.1.0  
  
X 4.5.0 binary installation  
teTeX 3.0  
ghostscript 8.15.1 (espgs)  
gnu-gs-fonts-std-6.0  
  
gcc 3.4.3  
glibc 2.2.4  
autoconf 2.5.8  
automake 1.9.6  
perl 5.8.7  
libtool 1.5.20  
linux kernel 2.4.23  
  
The system started out as SuSE 7.3, but all the components above  
have been upgraded from source, except X, which was a binary upgrade,  
and glibc, which is the original from the SuSE 7.3 installation.  
  
Jim
Comment 1 Keith Packard 2006-09-01 11:16:37 UTC
As far as I know, Fontconfig is ABI compatible from 2.3.92 back to 2.1
Can I get you to try the head of fontconfig branch fc-2_4-keithp running a KDE
application from the command line with the FC_DEBUG environment variable set to
4096?
Comment 2 Keith Packard 2006-09-01 20:31:38 UTC
Cannot fix this bug without additional information; KDE 3.4 works for many
people with fontconfig.
Comment 3 Behdad Esfahbod 2007-10-25 08:12:51 UTC
Old.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.