Bug 98338 - FcConfigInit adds ~ 20 seconds to launch time (regression in fontconfig-2.12.1)
Summary: FcConfigInit adds ~ 20 seconds to launch time (regression in fontconfig-2.12.1)
Status: RESOLVED DUPLICATE of bug 97546
Alias: None
Product: fontconfig
Classification: Unclassified
Component: library (show other bugs)
Version: 2.12
Hardware: x86-64 (AMD64) Mac OS X (All)
: medium blocker
Assignee: fontconfig-bugs
QA Contact: Behdad Esfahbod
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2016-10-20 00:19 UTC by Joe Apuzzo
Modified: 2016-10-26 20:49 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Joe Apuzzo 2016-10-20 00:19:31 UTC
xterm, Control-Right mouse button, chose TrueType Fonts crashes xterm
BUT!!! this is on macOS Sierra 10.12 unlike 11657 this is a new reoccurrence.
xterm will lock-up and then crash. 100% re-producible.

Using this build https://www.xquartz.org/releases/XQuartz-2.7.10_rc5.html
Comment 1 Jeremy Huddleston Sequoia 2016-10-20 15:58:42 UTC
I just tried your steps.  xterm didn't crash.  It seemed to hang for a while but eventually recovered...

Please attach your crash log.
Comment 2 Jeremy Huddleston Sequoia 2016-10-20 15:59:38 UTC
FWIW, im my case, it was just spending a lot of time in FcConfigInit():

                                      993  XftInit + 31 (libXft.2.dylib + 42631) [0x10fdb6687]
                                        993  FcConfigInit + 9 (libfontconfig.1.dylib + 16557) [0x11001f0ad]
                                          993  FcConfigEnsure + 36 (libfontconfig.1.dylib + 16605) [0x11001f0dd]
                                            993  FcInitLoadOwnConfigAndFonts + 29 (libfontconfig.1.dylib + 67851) [0x11002b90b]
                                              993  FcConfigBuildFonts + 85 (libfontconfig.1.dylib + 18522) [0x11001f85a]
                                                993  FcConfigAddDirList + 126 (libfontconfig.1.dylib + 18741) [0x11001f935]
                                                  993  FcDirCacheScan + 249 (libfontconfig.1.dylib + 47753) [0x110026a89]
                                                    993  FcDirScanConfig + 427 (libfontconfig.1.dylib + 47298) [0x1100268c2]
                                                      977  FcFileScanConfig + 401 (libfontconfig.1.dylib + 46307) [0x1100264e3]
                                                        971  FcFreeTypeQueryFace + 6653 (libfontconfig.1.dylib + 61419) [0x110029feb]
                                                          963  FcFreeTypeCharSetAndSpacingForSize + 371 (libfontconfig.1.dylib + 63924) [0x11002a9b4]
                                                            962  FcFreeTypeCheckGlyph + 59 (libfontconfig.1.dylib + 65593) [0x11002b039]
Comment 3 Jeremy Huddleston Sequoia 2016-10-24 00:23:38 UTC
*** Bug 98403 has been marked as a duplicate of this bug. ***
Comment 4 Alan Coopersmith 2016-10-24 00:29:49 UTC
fontconfig 2.12 introduced a new cache file format, so if you haven't run
fc-cache since upgrading from 2.11 to 2.12, it will be slow.
Comment 5 Jeremy Huddleston Sequoia 2016-10-24 00:32:43 UTC
fc-cache is run during post-install for the system cache and during launch of the server for both the system cache and the user cache.
Comment 6 Jeremy Huddleston Sequoia 2016-10-24 01:17:28 UTC
Yeah, the issue persists even immediately after manually running fc-cache, so it looks like caching is broken... =/
Comment 7 Jeremy Huddleston Sequoia 2016-10-24 01:23:42 UTC
I nuked the fontconfig caches on my system and re-ran fc-cache -v, and the output is puzzling.

Why is it reporting "skipping, existing cache is valid" when there was no existing cache, and what's the deal with 'invalid cache file: b0a71e6bf6a8a1a908413a823d76e21f-le64.cache-7' ... hmm...

$ sudo rm -rf /opt/X11/var/cache/fontconfig && rm -rf /Users/jeremy/.cache/fontconfig && /opt/X11/bin/fc-cache -v
/opt/X11/share/fonts: skipping, existing cache is valid: 0 fonts, 10 dirs
/opt/X11/share/fonts/100dpi: skipping, existing cache is valid: 398 fonts, 0 dirs
/opt/X11/share/fonts/75dpi: skipping, existing cache is valid: 398 fonts, 0 dirs
/opt/X11/share/fonts/OTF: skipping, existing cache is valid: 23 fonts, 0 dirs
/opt/X11/share/fonts/Speedo: skipping, existing cache is valid: 0 fonts, 0 dirs
/opt/X11/share/fonts/TTF: skipping, existing cache is valid: 23 fonts, 0 dirs
/opt/X11/share/fonts/Type1: skipping, existing cache is valid: 29 fonts, 0 dirs
/opt/X11/share/fonts/cyrillic: skipping, existing cache is valid: 0 fonts, 0 dirs
/opt/X11/share/fonts/encodings: skipping, existing cache is valid: 0 fonts, 1 dirs
/opt/X11/share/fonts/encodings/large: skipping, existing cache is valid: 0 fonts, 0 dirs
/opt/X11/share/fonts/misc: skipping, existing cache is valid: 59 fonts, 0 dirs
/opt/X11/share/fonts/util: skipping, existing cache is valid: 0 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts: skipping, existing cache is valid: 0 fonts, 10 dirs
/usr/X11R6/lib/X11/fonts/100dpi: skipping, existing cache is valid: 398 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/75dpi: skipping, existing cache is valid: 398 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/OTF: skipping, existing cache is valid: 23 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/Speedo: skipping, existing cache is valid: 0 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/TTF: skipping, existing cache is valid: 23 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/Type1: skipping, existing cache is valid: 29 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/cyrillic: skipping, existing cache is valid: 0 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/encodings: skipping, existing cache is valid: 0 fonts, 1 dirs
/usr/X11R6/lib/X11/fonts/encodings/large: skipping, existing cache is valid: 0 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/misc: skipping, existing cache is valid: 59 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts/util: skipping, existing cache is valid: 0 fonts, 0 dirs
/Users/jeremy/.local/share/fonts: skipping, no such directory
/Users/jeremy/.fonts: skipping, no such directory
/System/Library/Fonts: caching, new cache contents: 287 fonts, 0 dirs
/Library/Fonts: skipping, existing cache is valid: 505 fonts, 0 dirs
/Users/jeremy/Library/Fonts: skipping, existing cache is valid: 0 fonts, 0 dirs
/opt/X11/var/cache/fontconfig: not cleaning non-existent cache directory
/Users/jeremy/.cache/fontconfig: cleaning cache directory
/Users/jeremy/.cache/fontconfig: invalid cache file: b0a71e6bf6a8a1a908413a823d76e21f-le64.cache-7
/Users/jeremy/.fontconfig: cleaning cache directory
/opt/X11/bin/fc-cache: succeeded

$ ls -l /Users/jeremy/.cache/fontconfig
total 3456
-rw-r--r-- 1 jeremy staff  500400 Oct 23 18:21 0f0db7876307790c19e1f91eb9095080-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 12af5f32775bd704db4d824e2b9e0b2e-le64.cache-7
-rw-r--r-- 1 jeremy staff  499680 Oct 23 18:21 1487dd4aecf3164c4a11193169052443-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 1569eb1872037379856398d52243b031-le64.cache-7
-rw-r--r-- 1 jeremy staff     504 Oct 23 18:20 3f80be19c668e16fc38439c9c84a1bc7-le64.cache-7
-rw-r--r-- 1 jeremy staff   35080 Oct 23 18:21 3fbc17bd273d36bc5799c0a204708459-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 433bec5d1aebac8324e9d4502d4189c0-le64.cache-7
-rw-r--r-- 1 jeremy staff  499392 Oct 23 18:21 4750c687f0f64483e26aa3d45749cdc7-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 49aa604a5ac92994756d3008e408245c-le64.cache-7
-rw-r--r-- 1 jeremy staff  499376 Oct 23 18:21 4ca509c0a35b3f460976aebbd03775e4-le64.cache-7
-rw-r--r-- 1 jeremy staff   33600 Oct 23 18:21 5111e30d02b960f4956bb3a438447cb7-le64.cache-7
-rw-r--r-- 1 jeremy staff   31864 Oct 23 18:21 54a47a62ebe7cbe8a5fbb5cc70bcceec-le64.cache-7
-rw-r--r-- 1 jeremy staff     176 Oct 23 18:21 558352270fb122ca08359d23b5a778d4-le64.cache-7
-rw-r--r-- 1 jeremy staff     128 Oct 23 18:21 5dc9fcf026e07a49c5f91c19054b9930-le64.cache-7
-rw-r--r-- 1 jeremy staff  103408 Oct 23 18:21 79652363633577d7d713baab7f54ad8c-le64.cache-7
-rw-r--r-- 1 jeremy staff  103096 Oct 23 18:21 83e3e18d63761775b47fddf6057cf5e8-le64.cache-7
-rw-r--r-- 1 jeremy staff 1049296 Oct 23 18:21 84c0f976e30e948e99073af70f4ae876-le64.cache-7
-rw-r--r-- 1 jeremy staff     120 Oct 23 18:21 859953f08999113b7af1f02e6b59e2a6-le64.cache-7
-rw-r--r-- 1 jeremy staff     200 Oct 23 18:21 CACHEDIR.TAG
-rw-r--r-- 1 jeremy staff   33656 Oct 23 18:21 a1a78d9c18cd095d3829c724810e6ffb-le64.cache-7
-rw-r--r-- 1 jeremy staff   35304 Oct 23 18:21 ba022efc551c75e21c690774bbcf5304-le64.cache-7
-rw-r--r-- 1 jeremy staff   31952 Oct 23 18:21 bc06c1eea3e636f72101cafc3fb39508-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 c4cf4b280f1e54315e8e6c2d54d856f1-le64.cache-7
-rw-r--r-- 1 jeremy staff     528 Oct 23 18:20 c5f5d66d15c24edc3e863c27139db87e-le64.cache-7
-rw-r--r-- 1 jeremy staff     160 Oct 23 18:21 ef8951649ecb4e89c7d1ab953911a6bc-le64.cache-7
-rw-r--r-- 1 jeremy staff     112 Oct 23 18:21 f0f76015ef54ea3f0895465d59f141ef-le64.cache-7
-rw-r--r-- 1 jeremy staff     120 Oct 23 18:21 f22309b238134d3cca63435f528976cd-le64.cache-7
Comment 8 Akira TAGOH 2016-10-24 02:40:05 UTC
Can you try to apply a patch in https://bugs.freedesktop.org/show_bug.cgi?id=97546 and see if it addresses your issue?
Comment 9 Jeremy Huddleston Sequoia 2016-10-24 16:17:00 UTC
Yep, that's it.

*** This bug has been marked as a duplicate of bug 97456 ***
Comment 10 Jeremy Huddleston Sequoia 2016-10-24 16:17:51 UTC

*** This bug has been marked as a duplicate of bug 97546 ***
Comment 11 Joe Apuzzo 2016-10-26 20:49:17 UTC
XQuartz 2.7.11_rc2 resolves the issue I reported!
Thank you!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.