freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] Re: FreeType 1.4.CVS caused libgd-perl to segfault on Alpha?


From: Antoine Leca
Subject: Re: [Devel] Re: FreeType 1.4.CVS caused libgd-perl to segfault on Alpha?
Date: Mon, 19 Nov 2001 20:23:50 +0100

Hi again,

Well, I did get the font, but while looking with more attentively,
I notice something I really do not like in the tracelog:

> > Program received signal SIGSEGV, Segmentation fault.
> > Draw_Sweep (raster=0x12004de50) at ttraster.c:2260
> > 2260              x2 = P_Right->X;
> > (gdb) bt
> > #0  Draw_Sweep (raster=0x12004de50) at ttraster.c:2260
> > #1  0x12001d7f0 in Render_Single_Pass (raster=0x12004de50, flipped=1)
> >     at ttraster.c:2440
> > #2  0x12001dd04 in Render_Gray_Glyph (raster=0x12004de50,
> >     glyph=0x11ffff400, target_map=0x5e00,
> >     palette=0x395c <Address 0x395c out of bounds>) at ttraster.c:2631
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> > #3  0x12000cfdc in TT_Get_Outline_Pixmap (engine={z = 0x395c},
> >     outline=0xd, pixmap=0x5e00) at ttapi.c:1603
> > #4  0x12000ccf0 in TT_Get_Glyph_Pixmap (glyph={z = 0x1},
> >     pixmap=0x1200630d8, xOffset=64, yOffset=64) at ttapi.c:1434
> > #5  0x120008a18 in bitmapFetch (error=0x120063a80, key=0x11ffff540)
> >     at ../gdttf.c:575
> > #6  0x12000a000 in gdCacheGet (head=0x120063a70, keydata=0x11ffff540)
> >     at ../gdcache.c:116
> > #7  0x120009350 in gdttfchar (im=0x1200352d0, fg=0, font=0x12005ea60,
> >     x=20, y=20, x1=0, y1=0, advance=0x11ffff610, bbox=0x11ffff628,
> >     next=0x11ffff678) at ../gdttf.c:735
> > #8  0x1200099a0 in gdImageStringTTF (im=0x1200352d0, brect=0x120035298,
> >     fg=0, fontname=0x12001ee18 "./Generic.ttf", ptsize=12, angle=0,
> >     x=20, y=20, string=0x12001ee26 "H") at ../gdttf.c:851
> > #9  0x120001120 in foo ()
> > #10 0x1200011c0 in main ()
> > #11 0x2000010b00c in __libc_start_main () from /lib/libc.so.6.1
> >
> >
> > test.c:
> >
> > #include <gd.h>
> >
> > gdImagePtr img;
> > int brect[8];
> > char *err;
> >
> >
> > int foo()
> > {
> >         err = gdImageStringTTF(img,
> >                    brect, gdImageColorAllocate(img,0,0,0),
> >                    "./Generic.ttf", 12.0, 0.0, 20, 20, "H");
> >
> >         if(err)
> >         {
> >                 fprintf(stderr, "Error: %s\n", err);
> >         }
> > }
> >
> > int main()
> > {
> >         img = gdImageCreate(450,200);
> >         foo();
> >         return 0;
> > }

I do not have the time to really investigate this, but it does look like
the initialisation code of the gd library did skip a step here.
Can you double check if this is indeed normal?
And if it is, what are the values stored in the palette (normally,
5 values, from "white" to "black")?

In the mean time, I will continue the investigations inside the library.


By the way: the bad news is that the documentation for the raster stops
at "drop-out controls: to be continued". This is unfortunate, as
precisely this is the place where we are in troubles...
(David, tu as des notes que je peux utiliser?)


Antoine



reply via email to

[Prev in Thread] Current Thread [Next in Thread]