[Fontconfig] Re: Status about fontconfig CVS regarding
cache handling
Mike FABIAN
mfabian at suse.de
Fri Feb 17 09:05:47 PST 2006
Frederic Crozat <fcrozat at mandriva.com> さんは書きました:
> Le vendredi 17 février 2006 à 10:22 -0500, Patrick Lam a écrit :
>> Frederic Crozat wrote:
>> > Le vendredi 17 février 2006 à 09:48 -0500, Patrick Lam a écrit :
>> >
>> >>Frederic Crozat wrote:
>> >>
>> >>>Not really, now it crashes when starting fc-cache -v :
>> >>
>> >>That's probably due to the change in cache file format without a change
>> >>in MAGIC. I've now bumped up MAGIC to 0xFC02FC03. Your fontconfig
>> >>shouldn't crash anymore.
>> >
>> > Well, it still does with updated code (same stack).
>>
>> What if you blow away the cache files?
>
> If I remove the affected cache, fc-cache is able to update cache for
> this directory and crashes on one of the next directory :)
>
> I've attached the offending file (be careful, it is renamed).
I see the same crashes Frederic sees with the same backtrace.
I can easily reproduce it like this (as root):
root at magellan:~# rm -f /var/cache/fontconfig/* ~/.fonts.cache-2
root at magellan:~# fc-cache -v
fc-cache: "/usr/share/fonts": caching, 0 fonts, 3 dirs
fc-cache: "/usr/share/fonts/bdf": caching, 0 fonts, 0 dirs
fc-cache: "/usr/share/fonts": skipping, looped directory detected
fc-cache: "/usr/share/fonts/wine": caching, 1 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts": caching, 0 fonts, 24 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/japanese": caching, 30 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/Speedo": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/URW": caching, 59 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/Type1": caching, 59 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/truetype": caching, 939 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/misc": caching, 190 fonts, 1 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/misc/sgi": caching, 35 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/75dpi": caching, 398 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID": caching, 0 fonts, 5 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan1": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan1/AFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan1/CFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan1/CIDFont": caching, 4 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan1/CMap": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan2": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan2/AFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan2/CFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan2/CIDFont": caching, 2 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Japan2/CMap": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Korea1": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Korea1/AFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Korea1/CFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Korea1/CIDFont": caching, 9 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-Korea1/CMap": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-CNS1": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-CNS1/AFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-CNS1/CFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-CNS1/CIDFont": caching, 2 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-CNS1/CMap": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-GB1": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-GB1/AFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-GB1/CFM": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-GB1/CIDFont": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/CID/Adobe-GB1/CMap": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/encodings": caching, 0 fonts, 1 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/encodings/large": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/local": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/util": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/uni": caching, 2 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/baekmuk": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/ucs": caching, 0 fonts, 1 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/ucs/misc": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/hellas": caching, 0 fonts, 4 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/hellas/100dpi": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/hellas/75dpi": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/hellas/Type1": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/hellas/misc": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin7": caching, 0 fonts, 1 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin7/75dpi": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/100dpi": caching, 398 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/cyrillic": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin2": caching, 0 fonts, 2 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin2/Type1": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin2/misc": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/test": caching, 220 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/xtest": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/Adobe": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/officebib": caching, 11 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin5": caching, 0 fonts, 3 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin5/100dpi": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin5/75dpi": caching, 0 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/latin5/misc": caching, 0 fonts, 0 dirs
fc-cache: "/opt/kde3/share/fonts": caching, 1 fonts, 1 dirs
fc-cache: "/opt/kde3/share/fonts/override": caching, 0 fonts, 0 dirs
fc-cache: "/usr/local/share/fonts": skipping, no such directory
fc-cache: "/root/.fonts": skipping, no such directory
fc-cache: "/root/.fonts/kde-override": skipping, no such directory
fc-cache: "/usr/lib/ooo-2.0/share/fonts": caching, 0 fonts, 1 dirs
fc-cache: "/usr/lib/ooo-2.0/share/fonts/truetype": caching, 1 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/Acrobat7/Resource/Font": caching, 16 fonts, 1 dirs
fc-cache: "/usr/X11R6/lib/Acrobat7/Resource/Font/PFM": caching, 0 fonts, 0 dirs
fc-cache: succeeded
root at magellan:~# fc-cache -v
fc-cache: "/usr/share/fonts": caching, 0 fonts, 3 dirs
fc-cache: "/usr/share/fonts/bdf": caching, 0 fonts, 0 dirs
fc-cache: "/usr/share/fonts": skipping, looped directory detected
fc-cache: "/usr/share/fonts/wine": caching, 1 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts": caching, 0 fonts, 24 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/japanese": caching, 30 fonts, 0 dirs
セグメンテーション違反です (core dumped)
root at magellan:~#
I.e. when running "fc-cache -v" the second time, it dumps core.
Of course the magic numbers in the cache files are correct already,
they are all 0xFC02FC03 (latest CVS).
Note that during the second run of "fc-cache -v" it always writes
"caching" instead of "skipping" to standard output. I.e. it doesn't
seem to notice that the cache files are already up-to-date.
--
Mike FABIAN <mfabian at suse.de> http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。
More information about the Fontconfig
mailing list