[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Devel] Segmentation fault report
From: |
David Turner |
Subject: |
Re: [Devel] Segmentation fault report |
Date: |
Thu, 20 Dec 2001 13:04:44 +0100 |
Hello Artur,
it seems that's caused by a strange bug in FT_Done_Library. The fix is
really simply, but since I'm currently (*right now*) heavily working on
the sources, I cannot commit it to the CVS before an hour or two..
Please be patient, or try the following yourself, in FT_Done_Library
(in src/base/ftobjs.c)
#if 1
while ( library->num_modules > 0 )
FT_Remove_Module( library, library->modules[0] );
#else
for ( n = 0; n < library->num_modules; n++ )
{
FT_Module module = library->modules[n];
if ( module )
{
Destroy_Module( module );
library->modules[n] = 0;
}
}
#endif
Let me know if this works,
Regards,
- David
Artur Zaprzala a écrit :
>
> I installed today cvs freetype to check if it still works for me (2.0.4
> does).
> Everything goes fine until FT_Done_FreeType(library) is called.
>
> Here is my gdb session:
>
> $ gdb ./subfont core
> GNU gdb 5.0rh-5 Red Hat Linux 7.1
> Copyright 2001 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-redhat-linux"...
> Core was generated by `./subfont --append --blur 2 --outline 1.5
> encodings/osd-mplayer 35 osd/osd.pfb'.
> Program terminated with signal 11, Segmentation fault.
> Reading symbols from /lib/i686/libm.so.6...done.
> Loaded symbols for /lib/i686/libm.so.6
> Reading symbols from /usr/local/lib/libfreetype.so.6...done.
> Loaded symbols for /usr/local/lib/libfreetype.so.6
> Reading symbols from /lib/i686/libc.so.6...done.
> Loaded symbols for /lib/i686/libc.so.6
> Reading symbols from /lib/ld-linux.so.2...done.
> Loaded symbols for /lib/ld-linux.so.2
> #0 0x400568dd in FT_Get_Module (library=0x80c2488,
> module_name=0x40083edb "pshinter")
> at /usr/local/src/cvs/freetype2/src/base/ftobjs.c:2513
> 2513 if ( strcmp( cur[0]->clazz->module_name, module_name ) == 0 )
> (gdb) print library->modules
> $2 = {0x0 <repeats 11 times>, 0x80cb7f8, 0x80cb888, 0x0, 0x0, 0x0}
> (gdb) bt
> #0 0x400568dd in FT_Get_Module (library=0x80c2488,
> module_name=0x40083edb "pshinter")
> at /usr/local/src/cvs/freetype2/src/base/ftobjs.c:2513
> #1 0x4007d1bf in T1_Size_Get_Globals_Funcs (size=0x80cc3e8)
> at /usr/local/src/cvs/freetype2/src/type1/t1objs.c:66
> #2 0x4007d1fc in T1_Size_Done (size=0x80cc3e8) at
> /usr/local/src/cvs/freetype2/src/type1/t1objs.c:82
> #3 0x4005537e in destroy_size (memory=0x80c2470, size=0x80cc3e8,
> driver=0x80cb7f8)
> at /usr/local/src/cvs/freetype2/src/base/ftobjs.c:1014
> #4 0x4005762a in FT_List_Finalize (list=0x80cb9b4, destroy=0x40055340
> <destroy_size>, memory=0x80c2470,
> user=0x80cb7f8) at /usr/local/src/cvs/freetype2/src/base/ftlist.c:206
> #5 0x40055410 in destroy_face (memory=0x80c2470, face=0x80cb948,
> driver=0x80cb7f8)
> at /usr/local/src/cvs/freetype2/src/base/ftobjs.c:1040
> #6 0x4005762a in FT_List_Finalize (list=0x80cb810, destroy=0x400553a4
> <destroy_face>, memory=0x80c2470,
> user=0x80cb7f8) at /usr/local/src/cvs/freetype2/src/base/ftlist.c:206
> #7 0x400554c8 in Destroy_Driver (driver=0x80cb7f8) at
> /usr/local/src/cvs/freetype2/src/base/ftobjs.c:1072
> #8 0x4005665c in Destroy_Module (module=0x80cb7f8) at
> /usr/local/src/cvs/freetype2/src/base/ftobjs.c:2357
> #9 0x40056a8c in FT_Done_Library (library=0x80c2488) at
> /usr/local/src/cvs/freetype2/src/base/ftobjs.c:2656
> #10 0x40053b0f in FT_Done_FreeType (library=0x80c2488) at
> /usr/local/src/cvs/freetype2/src/base/ftinit.c:145
> (gdb)
>
> Any ideas what's wrong?
>
> --
> Artur Zaprza³a
>
> _______________________________________________
> Devel mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/devel