On 7/20/2021 1:00 PM, Brian Inglis wrote:
> On 2020-09-12 06:56, Ken Brown via Cygwin wrote:
For fontconfig fc-cache-1 appears to have been creating thousands (on Cygwin 64
millions) of small <1KB
/var/cache/fontconfig/%8x-%4x-%4x-%4x-%12x-le{64,32d8}.cache-7 files.
The problems could have originally been caused by an old bug:
https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/107
combined with many font additions around that time, mainly working on Cygwin 64,
where I use X, and manually run fontconfig postinstall script, to try to avoid
long setup postinstalls, whereas on Cygwin 32 I don't use X or manually run
postinstall scripts, just get run after setup.
I have about 200 Windows MS font files, 1000 non-MS font files, and about 800
Cygwin font files, from multiple distros and elsewhere, including some with full
BMP coverage, some with SMP coverage, some for fallback code points, others with
group ranges.
I rm'ed -rf /var/cache/fontconfig/ with a few thousand files on Cygwin 32 and
rebuilt it okay with only 65 cache files.
I tried rm -rf /var/cache/fontconfig/ on Cygwin 64 but got many permission
errors and killed it.
The preremove script for libfontconfig1 should remove all those cache files
every time libfontconfig1 is updated, so you should have gotten a fresh start
every once in a while. Apparently something went wrong.
I gave up waiting for ls -U to show any results on Cygwin 64 or Explorer on that
dir to show any file details, but cmd /c dir | less displays the base info for
hundreds of thousands of files, and wc reports millions.
I am still waiting for an elevated cmd to rmdir /s /q fontconfig there!
Do you know why fc-cache-1 is run rather than fc-cache and what the difference
is?
They're identical. It's just a packaging issue. fc-cache is in the fontconfig
package, and fc-cache-1 is in the libfontconfig1 package. That way fc-cache-1
is available for use in postinstall scripts for users who install libfontconfig1
(probably because something requires it) but not fontconfig.
What would give you useful information once I have the fontconfig cache cleared?
Might running FC_DEBUG=65535 fc-cache-1 -fsv provide useful info?
Or do so with strace?
Would running file on the font files give enough info about properties to be of
any help?
I'm not an expert on fontconfig, so I probably can't help.
What is the best approach to get the minimal cache files recreated?
I would expect that this would always happen as a result of running setup and
letting the preremove/postinstall scripts do their job. I don't know what went
wrong in your case.
What is the best approach to avoid thousand of cache files in future?
Again, I don't know why that happened in the first place.
Ken
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple