[Fontconfig] confused about semantics of $HOME/.fonts.cache-2

Behdad Esfahbod behdad at cs.toronto.edu
Wed Jan 25 10:33:10 PST 2006


I can reproduce this consistently:

[behdad at home ~]$ rm .fonts.cache-2* -f
[behdad at home ~]$ \time fc-list | wc -l
2.49user 0.09system 0:02.59elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+29969minor)pagefaults 0swaps
198
[behdad at home ~]$ ll .fonts.cache-2*
-rw-------  1 behdad behdad 286721 Jan 25 13:27 .fonts.cache-2
[behdad at home ~]$ sudo touch /usr/share/fonts/bitstream-vera
[behdad at home ~]$ fc-list
Segmentation fault
[behdad at home ~]$ ll .fonts.cache-2*
-rw-------  1 behdad behdad 286721 Jan 25 13:27 .fonts.cache-2
-rw-------  1 behdad behdad      6 Jan 25 13:27 .fonts.cache-2.LCK
-rw-------  1 behdad behdad  14522 Jan 25 13:27 .fonts.cache-2.NEW
[behdad at home ~]$ \time fc-list | wc -l
0.03user 0.01system 0:00.05elapsed 84%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+806minor)pagefaults 0swaps
198
[behdad at home ~]$ ll .fonts.cache-2*
-rw-------  1 behdad behdad 286721 Jan 25 13:27 .fonts.cache-2
-rw-------  1 behdad behdad      6 Jan 25 13:27 .fonts.cache-2.LCK
-rw-------  1 behdad behdad  14522 Jan 25 13:27 .fonts.cache-2.NEW



And the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209092416 (LWP 28257)]
0x004d4d42 in FcGlobalCacheSave (cache=0x9b4cad0,
    cache_file=0x9b440e8 "/home/behdad/.fonts.cache-2", config=0x9b44008)
    at fccache.c:152
152         if (write (fd, chars, strlen(chars)+1) != strlen(chars)+1)
(gdb) bt
#0  0x004d4d42 in FcGlobalCacheSave (cache=0x9b4cad0,
    cache_file=0x9b440e8 "/home/behdad/.fonts.cache-2", config=0x9b44008)
    at fccache.c:152
#1  0x004d8910 in FcConfigBuildFonts (config=0x9b44008) at fccfg.c:328
#2  0x004e19cd in FcInitLoadConfigAndFonts () at fcinit.c:85
#3  0x004e1c66 in FcInit () at fcinit.c:103
#4  0x08048b16 in main (argc=1, argv=0xbfd03b84) at fc-list.c:119
(gdb)


(gdb) p cache->dirs[0]
$4 = {next = 0x9b46538, name = 0x9b5ba88
"/usr/share/fonts/bitstream-vera",
  metadata = {magic = -66913278, count = 10361, bank = 778904322,
    pattern_count = 10, patternelt_count = 164, valuelist_count = 164,
    str_count = 238, langset_count = 10, charset_count = 10,
    charset_numbers_count = 90, charset_leaf_count = 90,
    charset_leaf_idx_count = 10}, offset = 0, ent = 0x9b54998}


I cannot do p chars, because of inlining I guess.


--behdad
http://behdad.org/

"Commandment Three says Do Not Kill, Amendment Two says Blood Will Spill"
	-- Dan Bern, "New American Language"


More information about the Fontconfig mailing list