Subject: | Tk with XFT=1 dumps core |
I have perl-5.8.7 (ithreads, shared libperl = libifxperl.so), compiled
with gcc-3.4.4 on Solaris 8 (Sparc) and RedHat Enterprise Linux 3.0
(i686 and x86_64).
I build Tk-804.027 with XFT=1, and link against static libs for those
that are NOT in /usr/lib, i.e.: libjpeg.a, libpng.a, libz.a, libXft.a,
libfreetype.a, libfontconfig.a. All others are linked dynamically
(libX11.so, libdl.so etc.). This is to avoid dependencies from out Perl
to other non-system places.
This scenario triggers a core dump here:
- unpack & build Tk-804.027
- rm ~/.fonts.cache-1 (freetype font cache)
- perl -Mblib tkfontsel
- close the tool with the window close button
The core dump does not occur when the ~/.fonts.cache-1 file exists and
was generated on the current host.
Here is the backtrace:
(gdb) file /opt/perl_5.8.7/bin/perl
(no debugging symbols found)
(gdb) core-file /home/hwadm/.cpan/build/Tk-804.027/core
Core was generated by `perl -Mblib tkfontsel'.
Program terminated with signal 11, Segmentation fault.
#0 0xfee04528 in FcPatternDestroy () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
(gdb) backtrace
#0 0xfee04528 in FcPatternDestroy () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#1 0xfedda364 in FiniFont () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#2 0xfed98b70 in Tk_FreeFont () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#3 0xfedbb658 in Tk_FreeOptions () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#4 0xfec74e5c in DestroyText () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Text/Text.so
#5 0xfed8056c in Tcl_EventuallyFree () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#6 0xfec75f74 in TextEventProc () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Text/Text.so
#7 0xfed96b04 in Tk_HandleEvent () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#8 0xfedddd8c in Tk_DestroyWindow () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#9 0xfedddab0 in Tk_DestroyWindow () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#10 0xfedddab0 in Tk_DestroyWindow () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#11 0xfed96f7c in Tk_HandleEvent () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#12 0xfed97618 in WindowEventProc () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#13 0xfef1d2c4 in Tcl_ServiceEvent () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Event/Event.so
#14 0xfef1d554 in Tcl_DoOneEvent () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Event/Event.so
#15 0xfed6316c in XS_Tk_DoOneEvent () from /home/hwadm/.cpan/build/Tk-
804.027/blib/arch/auto/Tk/Tk.so
#16 0xff2915fc in Perl_pp_entersub ()
from /opt/perl_5.8.7/lib/CORE/libperlifx.so
#17 0xff2896f4 in Perl_runops_standard ()
from /opt/perl_5.8.7/lib/CORE/libperlifx.so
#18 0xff22a578 in perl_run ()
from /opt/perl_5.8.7/lib/CORE/libperlifx.so
#19 0x000111c4 in main ()
Hope this helps - let me know if you need other specific information,
binaries etc.
-Marek