fre, 20,.01.2006 kl. 01.24 -0500, skrev Patrick Lam: > Ronny V. Vindenes wrote: > > > > Also after installing and running 'fc-cache -fs' a lot of the files > > in /var/cache/fontconfig are 131072 bytes (but produce different > > md5sums) and produce this exact output: > > > > $ fc-cat /var/cache/fontconfig/f020b8ea95ccc22321ce43a4499889d8.cache-2 > > fc-cat: printing directory cache for cache which would be named 1000 > > 78563412 1 8 4 20 10 8 18 4 10 10 4 8 > > 20 8 8 2 20 4 30 1000 > > Hmm. That shouldn't happen either, almost like you have binaries that > are out of synch. Binaries are definitely in sync: $ ll -gG /usr/bin/fc-* /usr/lib64/libfontconfig.so.1.0.4 -rwxr-xr-x 1 14176 jan 19 21:56 /usr/bin/fc-cache -rwxr-xr-x 1 32176 jan 19 21:56 /usr/bin/fc-cat -rwxr-xr-x 1 11096 jan 19 21:56 /usr/bin/fc-list -rwxr-xr-x 1 11336 jan 19 21:56 /usr/bin/fc-match -rwxr-xr-x 1 260840 jan 19 21:56 /usr/lib64/libfontconfig.so.1.0.4 Today I also got the same output from fc-cat on my ~/.fonts.cache-2 and it is much larger than the system cache files. > > > Finally running make check-valgrind in cairo cvs, a few memleaks are > > reported in fontconfig (which is an improvement over earlier fontconfig > > cvs that triggered illegal memory accesses). > > Where are they? The valgrind output from cairo cvs is gigantic, so I haven't had the time to track them down, but I've attached the output of # valgrind --leak-check=full fc-cache -sfv > fc-cache-valgrind 2>&1 Note the warnings about write()ing uninitialized buffers to the cache. -- Ronny V. Vindenes <ronnyvv@xxxxxxxxxxxx>
==8189== Memcheck, a memory error detector. ==8189== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==8189== Using LibVEX rev 1471, a library for dynamic binary translation. ==8189== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==8189== Using valgrind-3.1.0, a dynamic binary instrumentation framework. ==8189== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==8189== For more details, rerun with: -v ==8189== fc-cache: "/usr/share/fonts": caching, 0 fonts, 17 dirs fc-cache: "/usr/share/fonts/bitstream-vera": ==8189== Warning: invalid file descriptor -1 in syscall close() ==8189== Syscall param write(buf) points to uninitialised byte(s) ==8189== at 0x3D508BBC60: __write_nocancel (in /lib64/libc-2.3.90.so) ==8189== by 0x3748B0FACE: FcDirCacheWrite (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x401365: ??? (fc-cache.c:210) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== Address 0x4D2CCE4 is 340 bytes inside a block of size 15,213 alloc'd ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B0F13E: (within /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B0F6E6: FcDirCacheWrite (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x401365: ??? (fc-cache.c:210) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) caching, 10 fonts, 0 dirs fc-cache: "/usr/share/fonts/ISO8859-2": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 3 dirs fc-cache: "/usr/share/fonts/ISO8859-2/75dpi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/ISO8859-2/misc": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/ISO8859-2/100dpi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/gujarati": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/bitmap-fonts": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 32 fonts, 0 dirs fc-cache: "/usr/share/fonts/korean": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 2 dirs fc-cache: "/usr/share/fonts/korean/misc": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/korean/TrueType": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/hebrew": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/dejavu": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 20 fonts, 0 dirs fc-cache: "/usr/share/fonts/chinese": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 2 dirs fc-cache: "/usr/share/fonts/chinese/misc": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/chinese/TrueType": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/bengali": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/KOI8-R": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 3 dirs fc-cache: "/usr/share/fonts/KOI8-R/75dpi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/KOI8-R/misc": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/KOI8-R/100dpi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/arabic": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/hindi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/punjabi": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/japanese": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 2 dirs fc-cache: "/usr/share/fonts/japanese/misc": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/japanese/TrueType": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/default": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 2 dirs fc-cache: "/usr/share/fonts/default/Type1": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 35 fonts, 0 dirs fc-cache: "/usr/share/fonts/default/ghostscript": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 8 fonts, 0 dirs fc-cache: "/usr/share/fonts/tamil": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 0 fonts, 0 dirs fc-cache: "/usr/share/fonts/mathml": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 9 fonts, 0 dirs fc-cache: "/usr/share/X11/fonts/Type1": ==8189== Warning: invalid file descriptor -1 in syscall close() ==8189== ==8189== Syscall param write(buf) points to uninitialised byte(s) ==8189== at 0x3D508BBC60: __write_nocancel (in /lib64/libc-2.3.90.so) ==8189== by 0x3748B0FACE: FcDirCacheWrite (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x401365: ??? (fc-cache.c:210) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== Address 0x551927C is 948 bytes inside a block of size 38,268 alloc'd ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B0F13E: (within /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B0F6E6: FcDirCacheWrite (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x401365: ??? (fc-cache.c:210) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) caching, 29 fonts, 0 dirs fc-cache: "/usr/share/X11/fonts/OTF": ==8189== Warning: invalid file descriptor -1 in syscall close() caching, 14 fonts, 0 dirs fc-cache: succeeded ==8189== ==8189== ERROR SUMMARY: 8 errors from 2 contexts (suppressed: 4 from 1) ==8189== malloc/free: in use at exit: 127,988 bytes in 5,825 blocks. ==8189== malloc/free: 381,943 allocs, 376,118 frees, 151,565,762 bytes allocated. ==8189== For counts of detected errors, rerun with: -v ==8189== searching for pointers to 5,825 not-freed blocks. ==8189== checked 166,776 bytes. ==8189== ==8189== ==8189== 220 bytes in 6 blocks are possibly lost in loss record 14 of 22 ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B27C77: FcStrCopy (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B21654: FcValueSave (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B23C02: FcPatternAddWithBinding (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B18A60: FcFreeTypeQuery (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B1712D: FcFileScanConfig (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B173D3: FcDirScanConfig (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x40132A: ??? (fc-cache.c:186) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== ==8189== ==8189== 4,046 bytes in 34 blocks are definitely lost in loss record 18 of 22 ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B0F963: FcDirCacheWrite (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x401365: ??? (fc-cache.c:210) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== ==8189== ==8189== 6,781 bytes in 130 blocks are definitely lost in loss record 19 of 22 ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B27EDB: FcStrPlus (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B0EFA9: (within /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B10852: FcDirCacheUnlink (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x4014FE: ??? (fc-cache.c:207) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== ==8189== ==8189== 71,103 bytes in 4,125 blocks are definitely lost in loss record 22 of 22 ==8189== at 0x4905598: malloc (vg_replace_malloc.c:149) ==8189== by 0x3748B27C77: FcStrCopy (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B21654: FcValueSave (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B23C02: FcPatternAddWithBinding (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B18F2D: FcFreeTypeQuery (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B1712D: FcFileScanConfig (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x3748B173D3: FcDirScanConfig (in /usr/lib64/libfontconfig.so.1.0.4) ==8189== by 0x40132A: ??? (fc-cache.c:186) ==8189== by 0x4013AA: ??? (fc-cache.c:227) ==8189== by 0x4017F6: ??? (fc-cache.c:309) ==8189== by 0x3D5081CDE3: __libc_start_main (in /lib64/libc-2.3.90.so) ==8189== ==8189== LEAK SUMMARY: ==8189== definitely lost: 81,930 bytes in 4,289 blocks. ==8189== possibly lost: 220 bytes in 6 blocks. ==8189== still reachable: 45,838 bytes in 1,530 blocks. ==8189== suppressed: 0 bytes in 0 blocks. ==8189== Reachable blocks (those to which a pointer was found) are not shown. ==8189== To see them, rerun with: --show-reachable=yes
_______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig