I just tested out gucharmap in a gentoo chroot.  It has xfree86 4.3.0,
fontconfig 2.1, pango 1.2.1; generally the latest releases of everything.

Gucharmap however is giving a segv in FcConfigAdd():

#0  0x42d1d75d in FcConfigAdd (head=0x4, position=0x0, append=1, new=0x8127de0) at 
fccfg.c:925
#1  0x42d1cb55 in FcConfigSubstituteWithPat (config=0x80a36c8, p=0x8128ea0, 
p_pat=0x81309e8, 
    kind=FcMatchFont) at fccfg.c:1160
#2  0x42d24bea in FcFontRenderPrepare (config=0x1, pat=0x81309e8, font=0x80a5a40) at 
fcmatch.c:439
#3  0x42d24ebd in FcFontSetMatch (config=0x80a36c8, sets=0xbfffbdb8, nsets=1, 
p=0x81309e8, result=0xbfffbe08)
    at fcmatch.c:520
#4  0x42d2509b in FcFontMatch (config=0x0, p=0x1, result=0x1) at fcmatch.c:542
#5  0x42fb976f in pango_fc_face_describe () from /usr/lib/libpangoxft-1.0.so.0
#6  0x42f87b75 in pango_font_face_describe () from /usr/lib/libpango-1.0.so.0
#7  0x400f616f in style_changed () from /usr/local/gucharmap/lib/libgucharmap.so.1


The segv happens at for for loop below:

static FcBool
FcConfigAdd (FcValueList    **head,
             FcValueList    *position,
             FcBool         append,
             FcValueList    *new)
{
    FcValueList    **prev, *last;
    
    if (append)
    {
        if (position)
            prev = &position->next;
        else
            for (prev = head; *prev; prev = &(*prev)->next)
                ;
    }

The problem is that head cannot be dereferenced even once, much less
twice.

Given that I cannot convince the program to dump a core, nor do I see
anyway of getting gdb to do so, does anyone have any suggenstions on
tracking down the bug here?

-JimC

_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts

Reply via email to