Bug 161936

Summary: Upgrade hangs at fontconfig
Product: [Fedora] Fedora Reporter: David Woodhouse <dwmw2>
Component: freetypeAssignee: Behdad Esfahbod <behdad>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: caolanm, triage
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-04 06:57:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Offending font. none

Description David Woodhouse 2005-06-28 15:51:43 UTC
The installer was stuck for over 20 minutes before I gave up and rebooted it. It
said it was installing fontconfig. The estimated time to completion was not
decreasing.

Am running the upgrade again without a serial console this time -- should be
able to see what it's actually doing, and kill it manually so that the upgrade
can complete.

Comment 1 David Woodhouse 2005-06-28 17:25:38 UTC
Created attachment 116071 [details]
Offending font.

It seems to be a font that freetype doesn't like. It goes into an endless
loop...

/usr/bin/fc-cache: "/usr/share/fonts/fontcd/atm_font_a":
Program received signal SIGINT, Interrupt.
0x00616816 in ps_parser_skip_PS_token (parser=0xbfea9398)
    at /usr/src/debug/freetype-2.1.9/src/psaux/psobjs.c:508
508	      if ( IS_T1_SPACE( *cur )	      ||
(gdb) bt
#0  0x00616816 in ps_parser_skip_PS_token (parser=0xbfea9398)
    at /usr/src/debug/freetype-2.1.9/src/psaux/psobjs.c:508
#1  0x006301ba in parse_charstrings (face=0x89ee018, loader=0xbfea9398)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:1453
#2  0x0062dd8f in parse_dict (face=0x89ee018, loader=0xbfea9398, base=Variable
"base" is not available.
)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:908
#3  0x0062f02a in T1_Face_Init (stream=0x89e2b00, face=0x89ee018,
    face_index=0, num_params=0, params=0x0)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:1960
#4  0x005f7790 in open_face (driver=0x8a53d48, stream=0x89e2b00, face_index=0,
    num_params=145301248, params=0x8a91f00, aface=0xbfea9b44)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:910
#5  0x005f825e in FT_Open_Face (library=0x89f7910, args=0xbfea9b74,
    face_index=0, aface=0xbfea9cb8)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:1619
#6  0x005f8d38 in FT_New_Face (library=0x8a91f00,
    pathname=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb",
    face_index=145301248, aface=0x8a91f00)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:970
#7  0x005b2a98 in FcFreeTypeQuery (
    file=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb", id=0,
    blanks=0x8a91f00, count=0x8a91f00) at fcfreetype.c:434
#8  0x005b1d3b in FcFileScan (set=0x89a7440, dirs=0x89f8338, cache=0x0,
---Type <return> to continue, or q <return> to quit---
    blanks=0x89a0ab0,
    file=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb", force=1)
    at fcdir.c:113
#9  0x005b21fc in FcDirScan (set=0x89a7440, dirs=0x89f8338, cache=0x0,
    blanks=0x89a0ab0, dir=0x8a062e8 "/usr/share/fonts/fontcd/atm_font_a",
    force=1) at fcdir.c:256
#10 0x08048e4a in scanDirs (list=0x8a2d328, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:168
#11 0x08048eac in scanDirs (list=0x89a2a00, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:199
#12 0x08048eac in scanDirs (list=0x89a2a60, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:199
#13 0x08049299 in main (argc=3, argv=0xbfeaa084) at fc-cache.c:280
#14 0x00ca1de6 in __libc_start_main () from /lib/libc.so.6
#15 0x08048b61 in _start ()
(gdb) c
Continuing.

Program received signal SIGINT, Interrupt.
skip_spaces (acur=0xbfea9398, limit=0x8a96374 "\221\214\001")
    at /usr/src/debug/freetype-2.1.9/src/psaux/psobjs.c:368
368	    *acur = cur;
(gdb) bt
#0  skip_spaces (acur=0xbfea9398, limit=0x8a96374 "\221\214\001")
    at /usr/src/debug/freetype-2.1.9/src/psaux/psobjs.c:368
#1  0x0063017b in parse_charstrings (face=0x89ee018, loader=0xbfea9398)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:1433
#2  0x0062dd8f in parse_dict (face=0x89ee018, loader=0xbfea9398, base=Variable
"base" is not available.
)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:908
#3  0x0062f02a in T1_Face_Init (stream=0x89e2b00, face=0x89ee018,
    face_index=0, num_params=0, params=0x0)
    at /usr/src/debug/freetype-2.1.9/src/type1/t1load.c:1960
#4  0x005f7790 in open_face (driver=0x8a53d48, stream=0x89e2b00, face_index=0,
    num_params=-1075145983, params=0xbfea9301, aface=0xbfea9b44)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:910
#5  0x005f825e in FT_Open_Face (library=0x89f7910, args=0xbfea9b74,
    face_index=0, aface=0xbfea9cb8)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:1619
#6  0x005f8d38 in FT_New_Face (library=0xbfea9301,
    pathname=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb",
    face_index=-1075145983, aface=0xbfea9301)
    at /usr/src/debug/freetype-2.1.9/src/base/ftobjs.c:970
#7  0x005b2a98 in FcFreeTypeQuery (
    file=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb", id=0,
    blanks=0xbfea9301, count=0xbfea9301) at fcfreetype.c:434
#8  0x005b1d3b in FcFileScan (set=0x89a7440, dirs=0x89f8338, cache=0x0,
---Type <return> to continue, or q <return> to quit---
    blanks=0x89a0ab0,
    file=0x89bccc8 "/usr/share/fonts/fontcd/atm_font_a/eurost.pfb", force=1)
    at fcdir.c:113
#9  0x005b21fc in FcDirScan (set=0x89a7440, dirs=0x89f8338, cache=0x0,
    blanks=0x89a0ab0, dir=0x8a062e8 "/usr/share/fonts/fontcd/atm_font_a",
    force=1) at fcdir.c:256
#10 0x08048e4a in scanDirs (list=0x8a2d328, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:168
#11 0x08048eac in scanDirs (list=0x89a2a00, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:199
#12 0x08048eac in scanDirs (list=0x89a2a60, config=0x899f008,
    program=0xbfeabb76 "/usr/bin/fc-cache", force=1, verbose=1)
    at fc-cache.c:199
#13 0x08049299 in main (argc=3, argv=0xbfeaa084) at fc-cache.c:280
#14 0x00ca1de6 in __libc_start_main () from /lib/libc.so.6
#15 0x08048b61 in _start ()
(gdb)

Comment 2 Behdad Esfahbod 2006-10-30 20:33:21 UTC
How does the current 2.2.1 FreeType like that font?

Comment 3 David Woodhouse 2006-11-27 11:05:35 UTC
As far as I can tell it ignores it completely (tested by putting it in
/usr/share/fonts/font_cd and running 'fc-cache -v':

/usr/share/fonts/font_cd: skipping, 0 fonts, 0 dirs

I added the rest of the CD again to see what happens. OpenOffice has taken ten
minutes to start up so far, and counting...

Comment 4 David Woodhouse 2006-11-27 11:51:46 UTC
It's been almost an hour now.... strace suggests it's not actually doing
anything, and gdb shows this...

(gdb) bt
#0  0x009cd6b4 in psp::PrintFontManager::initFontconfig ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#1  0x009ceaec in psp::parseFile ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#2  0x009b2b6c in psp::PrintFontManager::PrintFont::readAfmMetrics ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#3  0x009b5cf0 in psp::PrintFontManager::analyzeFontFile ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#4  0x009cd184 in psp::PrintFontManager::initFontconfig ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#5  0x009b80e4 in psp::PrintFontManager::initialize ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#6  0x009b9ca0 in psp::PrintFontManager::get ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#7  0x0e7b6f34 in
com::sun::star::accessibility::XAccessibleHypertext::static_type () from
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680lp.so
#8  0x0e7bb18c in
com::sun::star::accessibility::XAccessibleHypertext::static_type () from
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680lp.so
#9  0x00b3b398 in Application::MergeSystemSettings ()
   from /usr/lib/openoffice.org2.0/program/libvcl680lp.so
#10 0x024231e0 in SvtTabAppearanceCfg::SetApplicationDefaults ()
   from /usr/lib/openoffice.org2.0/program/libsvt680lp.so
#11 0x02e07874 in desktop::Desktop::Main ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#12 0x00b427c0 in InitVCL ()
   from /usr/lib/openoffice.org2.0/program/libvcl680lp.so
#13 0x00b42904 in SVMain ()
   from /usr/lib/openoffice.org2.0/program/libvcl680lp.so
#14 0x02dfabb8 in sal_main ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#15 0x02dfac78 in main () from /usr/lib/openoffice.org2.0/program/libsoffice.so
#16 0x0f48dd4c in generic_start_main () from /lib/libc.so.6
#17 0x0f48df74 in __libc_start_main () from /lib/libc.so.6
#18 0x00000000 in ?? ()


Comment 5 David Woodhouse 2006-11-27 12:02:33 UTC
Program received signal SIGINT, Interrupt.
0x00a1bf10 in psp::Ascii85Encoder::~Ascii85Encoder ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
(gdb) bt
#0  0x00a1bf10 in psp::Ascii85Encoder::~Ascii85Encoder ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#1  0x009b2b6c in psp::PrintFontManager::PrintFont::readAfmMetrics ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#2  0x009b5cf0 in psp::PrintFontManager::analyzeFontFile ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#3  0x009cd184 in psp::PrintFontManager::initFontconfig ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#4  0x009b80e4 in psp::PrintFontManager::initialize ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so
#5  0x009b9ca0 in psp::PrintFontManager::get ()
   from /usr/lib/openoffice.org2.0/program/libpsp680lp.so


Comment 6 David Woodhouse 2006-11-27 12:11:24 UTC
Life's too short to download the debuginfo to match and get a proper backtrace.
I tried isolating the font which causes this. It seems to be a PostScript font
-- all the TTF fonts are fine.

Using just the 'eurost.pfb' which was attached to this bug before, I saw no
problem (and the font was ignored). Using 'a*' I get something different
(although the trace seems to be from the wrong thread):

---start copy and paste here---
(I)    x.org loaded video driver of...
(II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
(II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so
(II) Reloading /usr/lib/xorg/modules/drivers/radeon_drv.so
(III)  Desktop is: GNOME
(IV)   libgcj version is: libgcj-4.1.1-30-ppc
(V)    kernel is: Linux 2.6.18-1.2849.fc6 #1 SMP Fri Nov 10 12:37:25 EST 2006
ppc64 ppc64 ppc64
(VI)   OpenOffice.org core rpm version is: openoffice.org-core-2.0.4-5.5.3-ppc
(VII)  depth of root window:    24 planes
(VIII) accessibility is: false
(VIV)  fedora release is: Fedora Core release 6 (Zod)
...start sestatus details ...
SELinux status:                 disabled
...end sestatus details ...
...start stackreport details ...
0xe94b790: /usr/lib/openoffice.org2.0/program/libuno_sal.so.3 + 0x2b790
0xe94c0bc: /usr/lib/openoffice.org2.0/program/libuno_sal.so.3 + 0x2c0bc
0x100374:  + 0x374 (__kernel_sigtramp32 + 0x0)
0xffca6d4: /lib/ld.so.1 + 0xa6d4
0xffcafc4: /lib/ld.so.1 + 0xafc4
0xffce05c: /lib/ld.so.1 + 0xe05c
0xffd4ea4: /lib/ld.so.1 + 0x14ea4
0xe73389c: /usr/lib/openoffice.org2.0/program/libvclplug_gen680lp.so + 0x6389c
0xed3756c: /usr/lib/libSM.so.6 + 0x756c (_SmcProcessMessage + 0xc3c)
0xed6427c: /usr/lib/libICE.so.6 + 0x1427c (IceProcessMessages + 0x46c)
0xe732288: /usr/lib/openoffice.org2.0/program/libvclplug_gen680lp.so + 0x62288
0xe940824: /usr/lib/openoffice.org2.0/program/libuno_sal.so.3 + 0x20824
0xf306764: /lib/libpthread.so.0 + 0x6764
0xf55c5b4: /lib/libc.so.6 + 0xec5b4 (clone + 0x84)
...end stackreport details ...
...start sample ldd details ...
        linux-vdso32.so.1 =>  (0x00100000)
        libuno_sal.so.3 => /usr/lib/openoffice.org2.0/program/libuno_sal.so.3
(0x6fdb0000)
        libuno_salhelpergcc3.so.3 =>
/usr/lib/openoffice.org2.0/program/libuno_salhelpergcc3.so.3 (0x6fd80000)
        libstore.so.3 => /usr/lib/openoffice.org2.0/program/libstore.so.3
(0x6fd40000)
        libdl.so.2 => /lib/libdl.so.2 (0x6fd00000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x6fcb0000)
        libstlport_gcc.so =>
/usr/lib/openoffice.org2.0/program/libstlport_gcc.so (0x6fb90000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x6fa50000)
        libm.so.6 => /lib/libm.so.6 (0x6f960000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x6f920000)
        libc.so.6 => /lib/libc.so.6 (0x6f790000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x6f730000)
        /lib/ld.so.1 (0x08000000)
...end sample ldd details ...
---end copy and paste here---
paste the above into your bug report


Comment 7 David Woodhouse 2006-11-27 12:45:20 UTC
OK, the backtrace there seems to be something else -- it happens sometimes even
when I don't have the extra fonts installed. I'll investigate that later.

The font which causes the endless loop in OpenOffice is in my home directory in
RDU, in ~dwmw2/futuri/ -- it only happens when the AFM file is present.



Comment 8 Caolan McNamara 2006-11-27 13:53:54 UTC
comment #6 is glibc bug 210748

Comment 9 Caolan McNamara 2006-11-27 15:31:39 UTC
Oooside of this is caused by a trailing ^Z instead of a final newline. 
I upstreamed a fix for that as
http://www.openoffice.org/issues/show_bug.cgi?id=72034

Comment 10 Bug Zapper 2008-04-04 01:58:17 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 11 Caolan McNamara 2008-04-04 06:57:56 UTC
I fixed the OOoside of this ages ago. Wrt. the fontconfig side of it, given the
FC-6 time frame of this we might as well close it.