Hi, I''m seeing crash with CVS HEAD (it has been introduced between 20051130 and 20051205) when fontconfig is trying to parse 10-fonts-persian.conf file. I''m building fontconfig with libxml2 support. Problem doesn''t occur when building with expat. Backtrace : Program received signal SIGSEGV, Segmentation fault. FcConfigGetAttribute (parse=Variable "parse" is not available. ) at fcxml.c:1027 1027 while (*attrs) (gdb) bt #0 FcConfigGetAttribute (parse=Variable "parse" is not available. ) at fcxml.c:1027 #1 0xb7ee1b6f in FcParseMatch (parse=0xbfa20c34) at fcxml.c:1814 #2 0xb7ee3297 in FcEndElement (userData=0xbfa20c34, name=0x805586e "match") at fcxml.c:2073 #3 0xb7d46f99 in xmlParseEndTag1 (ctxt=0x804ee60, line=0) at parser.c:7221 #4 0xb7d530df in xmlParseChunk__internal_alias (ctxt=0x804ee60, chunk=0xbfa1ebb4 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/conf.d/10-fonts-persian.conf -->\n<!--\n fonts-persian.conf\n To configure Persian fonts from The FarsiWeb Project.\n\n Cop"..., size=8192, terminate=0) at parser.c:9923 #5 0xb7ee2657 in FcConfigParseAndLoad (config=0x804b008, name=0x8050f18 "/etc/fonts/conf.d/10-fonts-persian.conf", complain=0) at fcxml.c:2447 #6 0xb7ee2916 in FcConfigParseAndLoad (config=0x804b008, name=0x8050b88 "conf.d", complain=0) at fcxml.c:2335 #7 0xb7ee2a1d in FcParseInclude (parse=0xbfa25044) at fcxml.c:1607 #8 0xb7ee3213 in FcEndElement (userData=0xbfa25044, name=0x804e2af "include") at fcxml.c:2068 #9 0xb7d46f99 in xmlParseEndTag1 (ctxt=0x804d518, line=0) at parser.c:7221 #10 0xb7d530df in xmlParseChunk__internal_alias (ctxt=0x804d518, chunk=0xbfa22fc4 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/fonts.conf file to configure system font access -->\n<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n \tIT WILL BE REPLACED WHEN "..., size=8192, terminate=0) at parser.c:9923 #11 0xb7ee2657 in FcConfigParseAndLoad (config=0x804b008, name=0x0, complain=1) at fcxml.c:2447 #12 0xb7ed0f7d in FcInitLoadConfig () at fcinit.c:65 #13 0x080493c8 in main (argc=1, argv=0xbfa25154) at fc-cache.c:276 #14 0xb7bc4e40 in __libc_start_main () from /lib/tls/libc.so.6 #15 0x08048c21 in _start () at ../sysdeps/i386/elf/start.S:119 -- Frederic Crozat <fcrozat@mandriva.com> Mandriva
Can you valgrind it? On Thu, 8 Dec 2005, Frederic Crozat wrote:> Hi, > > I''m seeing crash with CVS HEAD (it has been introduced between 20051130 > and 20051205) when fontconfig is trying to parse 10-fonts-persian.conf > file. I''m building fontconfig with libxml2 support. Problem doesn''t > occur when building with expat. > > Backtrace : > > Program received signal SIGSEGV, Segmentation fault. > FcConfigGetAttribute (parse=Variable "parse" is not available. > ) at fcxml.c:1027 > 1027 while (*attrs) > (gdb) bt > #0 FcConfigGetAttribute (parse=Variable "parse" is not available. > ) at fcxml.c:1027 > #1 0xb7ee1b6f in FcParseMatch (parse=0xbfa20c34) at fcxml.c:1814 > #2 0xb7ee3297 in FcEndElement (userData=0xbfa20c34, name=0x805586e > "match") > at fcxml.c:2073 > #3 0xb7d46f99 in xmlParseEndTag1 (ctxt=0x804ee60, line=0) at > parser.c:7221 > #4 0xb7d530df in xmlParseChunk__internal_alias (ctxt=0x804ee60, > chunk=0xbfa1ebb4 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig > SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/conf.d/10-fonts-persian.conf > -->\n<!--\n fonts-persian.conf\n To configure Persian fonts from The > FarsiWeb Project.\n\n Cop"..., > size=8192, terminate=0) at parser.c:9923 > #5 0xb7ee2657 in FcConfigParseAndLoad (config=0x804b008, > name=0x8050f18 "/etc/fonts/conf.d/10-fonts-persian.conf", > complain=0) > at fcxml.c:2447 > #6 0xb7ee2916 in FcConfigParseAndLoad (config=0x804b008, > name=0x8050b88 "conf.d", complain=0) at fcxml.c:2335 > #7 0xb7ee2a1d in FcParseInclude (parse=0xbfa25044) at fcxml.c:1607 > #8 0xb7ee3213 in FcEndElement (userData=0xbfa25044, name=0x804e2af > "include") > at fcxml.c:2068 > #9 0xb7d46f99 in xmlParseEndTag1 (ctxt=0x804d518, line=0) at > parser.c:7221 > #10 0xb7d530df in xmlParseChunk__internal_alias (ctxt=0x804d518, > chunk=0xbfa22fc4 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig > SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/fonts.conf file to configure > system font access -->\n<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n > \tIT WILL BE REPLACED WHEN "..., size=8192, terminate=0) at > parser.c:9923 > #11 0xb7ee2657 in FcConfigParseAndLoad (config=0x804b008, name=0x0, > complain=1) > at fcxml.c:2447 > #12 0xb7ed0f7d in FcInitLoadConfig () at fcinit.c:65 > #13 0x080493c8 in main (argc=1, argv=0xbfa25154) at fc-cache.c:276 > #14 0xb7bc4e40 in __libc_start_main () from /lib/tls/libc.so.6 > #15 0x08048c21 in _start () at ../sysdeps/i386/elf/start.S:119 > >--behdad http://behdad.org/ "Commandment Three says Do Not Kill, Amendment Two says Blood Will Spill" -- Dan Bern, "New American Language"
Le jeudi 08 d?cembre 2005 ? 12:35 -0500, Behdad Esfahbod a ?crit :> Can you valgrind it?Unfortunately, it doesn''t help : ==4310===4310== Invalid read of size 4 ==4310== at 0x405E057: ??? (fcxml.c:1027) ==4310== by 0x43EC7CF: ??? ==4310== Address 0x0 is not stack''d, malloc''d or (recently) free''d ==4310===4310== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==4310== Access not within mapped region at address 0x0 ==4310== at 0x405E057: ??? (fcxml.c:1027) ==4310== by 0x43EC7CF: ??? ==4310===4310== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 23 from 1) ==4310== malloc/free: in use at exit: 45,559 bytes in 637 blocks. ==4310== malloc/free: 1,823 allocs, 1,186 frees, 352,996 bytes allocated. ==4310== For counts of detected errors, rerun with: -v ==4310== searching for pointers to 637 not-freed blocks. ==4310== checked 201,628 bytes. ==4310===4310== LEAK SUMMARY: ==4310== definitely lost: 0 bytes in 0 blocks. ==4310== possibly lost: 0 bytes in 0 blocks. ==4310== still reachable: 45,559 bytes in 637 blocks. ==4310== suppressed: 0 bytes in 0 blocks. ==4310== Reachable blocks (those to which a pointer was found) are not shown. ==4310== To see them, rerun with: --show-reachable=yes -- Frederic Crozat <fcrozat@mandriva.com> Mandriva