RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1263097 - many fonts missing in fontconfig cache after installation, forced refresh needed
Summary: many fonts missing in fontconfig cache after installation, forced refresh needed
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: fontconfig
Version: 7.2
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Akira TAGOH
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On: 1236034
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-15 06:47 UTC by Akira TAGOH
Modified: 2016-02-23 06:31 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 1236034
Environment:
Last Closed: 2016-02-08 10:47:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Akira TAGOH 2015-09-15 06:47:06 UTC
+++ This bug was initially created as a clone of Bug #1236034 +++

Description of problem:

I performed a clean install of Fedora 22, moved some data and configuration over from an older system, and found out that I can't select (I don't see) Dejavu Sans fonts in any of my GUI applications. I tried a clean user profile, no change. twaugh helped me resolve this on #fedora-devel by force refreshing a fontconfig cache, and told me to report a bug, because this should not happen.

When affected, this is what I saw:

$ fc-list | grep -i DejavuSans
/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique


Running fc-cache didn't help:

$ sudo fc-cache /usr/share/fonts/dejavu/

$ fc-list | grep -i DejavuSans
/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique


But a forced refresh was successful:

$ sudo fc-cache -f /usr/share/fonts/dejavu/

$ fc-list | grep -i DejavuSans
/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique
/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique


I have backed up the original fontconfig cache before updating it, it is attached. The only difference in the file listing seems to be this:

$ diff -u orig new
--- orig	2015-06-26 13:31:45.049192566 +0200
+++ new	2015-06-26 13:31:50.372176669 +0200
@@ -1,9 +1,9 @@
-total 443k
+total 463k
 -rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0 3.1k Jun 25 16:10 019629eead7fd8624feacc17e1c76e56-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0      192 Jun 24 13:21 0251a5afa6ac727a1e32b7d4d4aa7cf0-le64.cache-6
 -rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0 1.8k Jun 25 16:23 0cdaf353a0871111e8db86b8a5e64d24-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     2.5k Jun 24 13:23 12513961c6e7090f8648812f9eaf65d6-le64.cache-6
--rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0      24k Jun 24 13:21 12b26b760a24f8b4feb03ad48a333a72-le64.cache-6
+-rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0  44k Jun 26 13:30 12b26b760a24f8b4feb03ad48a333a72-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     1.8k Jun 24 13:23 1e1e03b57ed9f0c723c5aeafda46c3fb-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     1.8k Jun 24 13:23 2881ed3fd21ca306ddad6f9b0dd3189f-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     6.7k Jun 24 13:23 2e1514a9fdd499050989183bb65136db-le64.cache-6
@@ -35,7 +35,7 @@
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0      42k Jun 24 13:21 b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     1.8k Jun 24 13:23 b887eea8f1b96e1d899b44ed6681fc27-le64.cache-6
 -rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0  15k Jun 25 13:25 beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-6
--rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0  200 Jun 25 16:23 CACHEDIR.TAG
+-rw-r--r--. 1 root root unconfined_u:object_r:fonts_cache_t:s0  200 Jun 26 13:30 CACHEDIR.TAG
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     5.1k Jun 24 13:23 d3379abda271c4acd2ad0c01f565d0b0-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     1.8k Jun 24 13:23 df893b4576ad6107f9397134092c4059-le64.cache-6
 -rw-r--r--. 1 root root system_u:object_r:fonts_cache_t:s0     9.2k Jun 24 13:23 e26bf336397aae6fcef4d3803472adec-le64.cache-6

So one of the cache objects changed from system_u:object_r:fonts_cache_t:s0 to unconfined_u:object_r:fonts_cache_t:s0. But I'm running with selinux permissive, so I guess that shouldn't effect it (however, the system was running in enforcing by default, so maybe it did effect it and it persisted?).

Also the timestamp of CACHEDIR.TAG was updated.


Version-Release number of selected component (if applicable):
fontconfig-2.11.94-1.fc22.x86_64
dejavu-sans-fonts-2.35-1.fc22.noarch


How reproducible:
always until I force updated the cache. I can still reproduce it if I copy the cache backup back to its original location.

Steps to Reproduce:
1. rm /var/cache/fontconfig -r
2. copy the provided backup into /var/cache/fontconfig
3. `fc-list | grep -i DejavuSans` should not show DejavuSans font

--- Additional comment from Kamil Páral on 2015-06-26 08:02:13 EDT ---

To extract with selinux labels, use --selinux option with tar (and --preserve or run it as root).

--- Additional comment from awilliam on 2015-06-26 20:35:58 EDT ---

Could very well be the same as https://bugzilla.redhat.com/show_bug.cgi?id=1169979 . We did speculate at the time that it might possibly happen on non-live installs (was this a non-live install?)

--- Additional comment from Akira TAGOH on 2015-06-28 22:59:16 EDT ---

Thanks. fc-cache checks mtime and the number of fonts in dir to detect the updates. so copying the cache here doesn't help to reproduce this issue here.
If you can still reproduce it, can you attach the log of FC_DEBUG=48 fc-cache and mtime for /usr/share/fonts/dejavu and fonts there might speed up to investigate this.

--- Additional comment from Kamil Páral on 2015-06-29 05:20:26 EDT ---

(In reply to Adam Williamson from comment #2)
> Could very well be the same as
> https://bugzilla.redhat.com/show_bug.cgi?id=1169979 . We did speculate at
> the time that it might possibly happen on non-live installs (was this a
> non-live install?)

Yes, this was Workstation netinst install.

(In reply to Akira TAGOH from comment #3)
> Thanks. fc-cache checks mtime and the number of fonts in dir to detect the
> updates. so copying the cache here doesn't help to reproduce this issue here.
> If you can still reproduce it, can you attach the log of FC_DEBUG=48
> fc-cache and mtime for /usr/share/fonts/dejavu and fonts there might speed
> up to investigate this.

$ ls -ld /usr/share/fonts/dejavu
drwxr-xr-x. 2 root root 4096 Jun 24 13:21 /usr/share/fonts/dejavu

$ ls -l /usr/share/fonts/dejavu
total 9416
-rw-r--r--. 1 root root 641716 May 17 10:12 DejaVuSans-BoldOblique.ttf
-rw-r--r--. 1 root root 704128 May 17 10:12 DejaVuSans-Bold.ttf
-rw-r--r--. 1 root root 610260 May 17 10:12 DejaVuSansCondensed-BoldOblique.ttf
-rw-r--r--. 1 root root 663468 May 17 10:12 DejaVuSansCondensed-Bold.ttf
-rw-r--r--. 1 root root 597708 May 17 10:12 DejaVuSansCondensed-Oblique.ttf
-rw-r--r--. 1 root root 679256 May 17 10:12 DejaVuSansCondensed.ttf
-rw-r--r--. 1 root root 355204 May 17 10:12 DejaVuSans-ExtraLight.ttf
-rw-r--r--. 1 root root 253116 May 17 10:12 DejaVuSansMono-BoldOblique.ttf
-rw-r--r--. 1 root root 331536 May 17 10:12 DejaVuSansMono-Bold.ttf
-rw-r--r--. 1 root root 251472 May 17 10:12 DejaVuSansMono-Oblique.ttf
-rw-r--r--. 1 root root 340240 May 17 10:12 DejaVuSansMono.ttf
-rw-r--r--. 1 root root 633836 May 17 10:12 DejaVuSans-Oblique.ttf
-rw-r--r--. 1 root root 756072 May 17 10:12 DejaVuSans.ttf
-rw-r--r--. 1 root root 347064 May 17 10:12 DejaVuSerif-BoldItalic.ttf
-rw-r--r--. 1 root root 355692 May 17 10:12 DejaVuSerif-Bold.ttf
-rw-r--r--. 1 root root 346112 May 17 10:12 DejaVuSerifCondensed-BoldItalic.ttf
-rw-r--r--. 1 root root 330852 May 17 10:12 DejaVuSerifCondensed-Bold.ttf
-rw-r--r--. 1 root root 344940 May 17 10:12 DejaVuSerifCondensed-Italic.ttf
-rw-r--r--. 1 root root 346272 May 17 10:12 DejaVuSerifCondensed.ttf
-rw-r--r--. 1 root root 345612 May 17 10:12 DejaVuSerif-Italic.ttf
-rw-r--r--. 1 root root 379740 May 17 10:12 DejaVuSerif.ttf

--- Additional comment from Kamil Páral on 2015-06-29 05:21:10 EDT ---



--- Additional comment from Kamil Páral on 2015-06-29 05:21:46 EDT ---



--- Additional comment from Kamil Páral on 2015-06-29 05:26:36 EDT ---

It seems not only DejaVu fonts were missing. I compared fc-list with the original fontconfig cache and after running fc-cache -f (without any directory as an argument), and these fonts were added into fc-list:

$ diff fc-list.before fc-list.after 
55a56,62
> /usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique
> /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
> /usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
> /usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
> /usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
> /usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
> /usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
59a67,68
> /usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
> /usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
69a79
> /usr/share/fonts/fontawesome/fontawesome-webfont.woff: FontAwesome:style=Regular
90a101
> /usr/share/fonts/google-noto/NotoSansLisu-Regular.ttf: Noto Sans Lisu:style=Regular
91a103,105
> /usr/share/fonts/google-noto/NotoSansTagalog-Regular.ttf: Noto Sans Tagalog:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiTham-Regular.ttf: Noto Sans Tai Tham:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiViet-Regular.ttf: Noto Sans Tai Viet:style=Regular
104a119,122
> /usr/share/fonts/liberation/LiberationSerif-BoldItalic.ttf: Liberation Serif:style=Bold Italic
> /usr/share/fonts/liberation/LiberationSerif-Bold.ttf: Liberation Serif:style=Bold
> /usr/share/fonts/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
> /usr/share/fonts/liberation/LiberationSerif-Regular.ttf: Liberation Serif:style=Regular
114a133,148
> /usr/share/fonts/mathjax/MathJax_AMS-Regular.otf: MathJax_AMS:style=Regular
> /usr/share/fonts/mathjax/MathJax_Caligraphic-Bold.otf: MathJax_Caligraphic:style=Bold
> /usr/share/fonts/mathjax/MathJax_Caligraphic-Regular.otf: MathJax_Caligraphic:style=Regular
> /usr/share/fonts/mathjax/MathJax_Fraktur-Bold.otf: MathJax_Fraktur:style=Bold
> /usr/share/fonts/mathjax/MathJax_Fraktur-Regular.otf: MathJax_Fraktur:style=Regular
> /usr/share/fonts/mathjax/MathJax_Main-Bold.otf: MathJax_Main:style=Bold
> /usr/share/fonts/mathjax/MathJax_Main-Italic.otf: MathJax_Main:style=Italic
> /usr/share/fonts/mathjax/MathJax_Main-Regular.otf: MathJax_Main:style=Regular
> /usr/share/fonts/mathjax/MathJax_Math-BoldItalic.otf: MathJax_Math:style=BoldItalic
> /usr/share/fonts/mathjax/MathJax_Math-Italic.otf: MathJax_Math:style=Italic
> /usr/share/fonts/mathjax/MathJax_Math-Regular.otf: MathJax_Math:style=Regular
> /usr/share/fonts/mathjax/MathJax_SansSerif-Bold.otf: MathJax_SansSerif:style=Bold
> /usr/share/fonts/mathjax/MathJax_SansSerif-Italic.otf: MathJax_SansSerif:style=Italic
> /usr/share/fonts/mathjax/MathJax_SansSerif-Regular.otf: MathJax_SansSerif:style=Regular
> /usr/share/fonts/mathjax/MathJax_Script-Regular.otf: MathJax_Script:style=Regular
> /usr/share/fonts/mathjax/MathJax_Size1-Regular.otf: MathJax_Size1:style=Regular

--- Additional comment from Kamil Páral on 2015-06-29 07:34:23 EDT ---

I have tried to reproduce this with clean VM installation with F22 Workstation netinst. I reproduced it in 2 out of 2 attempts. The first time, the missing fonts were:

> /usr/share/fonts/google-noto/NotoSansLisu-Regular.ttf: Noto Sans Lisu:style=Regular
98a100,101
> /usr/share/fonts/google-noto/NotoSansTagalog-Regular.ttf: Noto Sans Tagalog:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiTham-Regular.ttf: Noto Sans Tai Tham:style=Regular
111a115,118
> /usr/share/fonts/liberation/LiberationSerif-BoldItalic.ttf: Liberation Serif:style=Bold Italic
> /usr/share/fonts/liberation/LiberationSerif-Bold.ttf: Liberation Serif:style=Bold
> /usr/share/fonts/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
> /usr/share/fonts/liberation/LiberationSerif-Regular.ttf: Liberation Serif:style=Regular

The second time, the missing fonts were:

> /usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique
> /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
> /usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
> /usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
> /usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
> /usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
> /usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
> /usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
> /usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
> /usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique
> /usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
> /usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
> /usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
84a98
> /usr/share/fonts/google-noto/NotoSansLisu-Regular.ttf: Noto Sans Lisu:style=Regular
85a100,102
> /usr/share/fonts/google-noto/NotoSansTagalog-Regular.ttf: Noto Sans Tagalog:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiTham-Regular.ttf: Noto Sans Tai Tham:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiViet-Regular.ttf: Noto Sans Tai Viet:style=Regular
97a115,118
> /usr/share/fonts/liberation/LiberationSerif-BoldItalic.ttf: Liberation Serif:style=Bold Italic
> /usr/share/fonts/liberation/LiberationSerif-Bold.ttf: Liberation Serif:style=Bold
> /usr/share/fonts/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
> /usr/share/fonts/liberation/LiberationSerif-Regular.ttf: Liberation Serif:style=Regular

It seems this is trivial to reproduce and happens for many, if not all, (non-Live) installs.

--- Additional comment from Andrew Clayton on 2015-06-29 07:49:09 EDT ---

Yes, I've done a number of workstation netinst installs and they've all had this problem.

--- Additional comment from Rob Foehl on 2015-07-29 00:09:05 EDT ---

I can confirm that this is still the case on netinst-based F22 Workstation installs, with the same general symptoms as bug 1169979.  I've been using the fc-cache -f workaround in post-installation scripts for a while now.

--- Additional comment from Kamil Páral on 2015-08-05 03:57:36 EDT ---

I have reproduced this with F23 Alpha RC1 Workstation netinst (booted over PXE, but that shouldn't matter) having fontconfig-2.11.94-2.fc23.x86_64. Again, after forced refresh, new fonts appear (in this case NotoSansT* and LiberationSans*).

Proposing as a F23 blocker bug. Probably the closest criterion we have is
"All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test. "
https://fedoraproject.org/wiki/Fedora_23_Final_Release_Criteria#Default_application_functionality
We can also argue this breaks our localization support.

The reasoning is that missing fonts can cause difficulties, like applications and web pages not rendering certain characters, symbols or whole languages correctly. Even if some characters are rendered using a fallback font, it can have completely different characteristics (that's how I've found this bug, my favorite website had an ugly and unusually small font). The affected fonts seem to be random.

Reproducer:
1. take F22 or F23 Workstation netinst image (has to be netinst), install it
2. fc-list | sort > fonts.before
3. sudo fc-cache -f
4. fc-list | sort > fonts.after
5. diff fonts.before fonts.after
6. there should be no difference, but it is

--- Additional comment from Akira TAGOH on 2015-08-12 07:10:59 EDT ---

just wrote a patch. but I'm not sure if it really fixes this issue because it's difficult to reproduce this with the usual usage. so if anyone can test it, that would be appreciated. here is the testing package:
  http://koji.fedoraproject.org/koji/taskinfo?taskID=10679400

or if I should simply go ahead with it for f23, please let me know.

--- Additional comment from Kamil Páral on 2015-08-12 07:40:50 EDT ---

I've reproduced it every time when using netinst. We would need a F23 build, so that we can pull it during installation.

--- Additional comment from Akira TAGOH on 2015-08-12 22:34:11 EDT ---

Sure. I wanted to push the certain fix for this and to know if it is possible to test before that. I'll build it for f23 anyway.

--- Additional comment from Fedora Update System on 2015-08-12 22:57:49 EDT ---

fontconfig-2.11.94-3.fc23 has been submitted as an update for Fedora 23.
https://admin.fedoraproject.org/updates/fontconfig-2.11.94-3.fc23

--- Additional comment from Kamil Páral on 2015-08-13 04:01:13 EDT ---

It's easier to test with F23 than with Rawhide, because it's known to work right now and we have all the install media, that's why I asked for a F23 build. But just a Koji build link would be enough, proposing it as an update in Bodhi is not needed.

Unfortunately, fontconfig-2.11.94-3.fc23 does not fix the issue. It's easy to try:
1. koji download-build --arch x86_64 --arch noarch fontconfig-2.11.94-3.fc23
2. createrepo -v .
3. share the dir over http
4. boot F23 Alpha Workstation netinst x86_64
5. in Installation Source, add a new (additional) http repo pointing to your repo
6. install Workstation
7. once booted, compare `fc-list | sorted` before and after running `sudo fc-cache -f`

I tried it twice, it showed missing fonts in both cases. I'll upload logs for one of the attempts.

--- Additional comment from Kamil Páral on 2015-08-13 04:03:42 EDT ---



--- Additional comment from Kamil Páral on 2015-08-13 04:04:35 EDT ---

The diff is:

99a100,102
> /usr/share/fonts/google-noto/NotoSansTagalog-Regular.ttf: Noto Sans Tagalog:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiTham-Regular.ttf: Noto Sans Tai Tham:style=Regular
> /usr/share/fonts/google-noto/NotoSansTaiViet-Regular.ttf: Noto Sans Tai Viet:style=Regular
107a111,114
> /usr/share/fonts/liberation/LiberationSans-BoldItalic.ttf: Liberation Sans:style=Bold Italic
> /usr/share/fonts/liberation/LiberationSans-Bold.ttf: Liberation Sans:style=Bold
> /usr/share/fonts/liberation/LiberationSans-Italic.ttf: Liberation Sans:style=Italic
> /usr/share/fonts/liberation/LiberationSans-Regular.ttf: Liberation Sans:style=Regular

--- Additional comment from Kamil Páral on 2015-08-13 04:05:09 EDT ---



--- Additional comment from Kamil Páral on 2015-08-13 04:05:27 EDT ---



--- Additional comment from Kamil Páral on 2015-08-13 04:05:44 EDT ---



--- Additional comment from Akira TAGOH on 2015-08-14 04:24:38 EDT ---

Thanks. I can reproduce this with the above step. the problem was, even though the mtime of the font directory is newer than the cache for that, fontconfig considered it is same so that fontconfig doesn't take a look at the nano second of the mtime.

I'll build the package with the fix shortly.

--- Additional comment from Fedora Update System on 2015-08-14 07:11:22 EDT ---

fontconfig-2.11.94-4.fc23 has been submitted as an update for Fedora 23.
https://admin.fedoraproject.org/updates/fontconfig-2.11.94-4.fc23

--- Additional comment from Kamil Páral on 2015-08-14 08:56:56 EDT ---

I tried it twice, and it worked in both cases! The problem seems fixed. Great job. Could you please also send the fix to Rawhide and F22, so that future F22 netinst installations are not affected by this?

--- Additional comment from Akira TAGOH on 2015-08-14 12:21:33 EDT ---

The fixed version of fontconfig should has already been available for rawhide. will push the fix to f22 later. thanks for testing.

--- Additional comment from Fedora Update System on 2015-08-20 04:04:00 EDT ---

fontconfig-2.11.94-4.fc22 has been submitted as an update to Fedora 22. https://bugzilla.redhat.com/show_bug.cgi?id=1236034

--- Additional comment from awilliam on 2015-08-20 13:27:37 EDT ---

Discussed at 2015-08-20 blocker review meeting: http://meetbot-raw.fedoraproject.org/fedora-blocker-review/2015-08-20/f23-blocker-review.2015-08-20-16.05.log.txt . Accepted as a blocker per criterion cited in #c11.

--- Additional comment from Fedora Update System on 2015-08-21 22:51:33 EDT ---

fontconfig-2.11.94-4.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update fontconfig'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-13797

--- Additional comment from Fedora Update System on 2015-08-31 23:36:50 EDT ---

fontconfig-2.11.94-4.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

--- Additional comment from Thierry Vignaud on 2015-09-04 04:18:23 EDT ---

Also such a bug could be mitigated by using a file trigger IN FC24 (such as done for years in Mageia).
File triggers are now available in upstream rpm (rpm-4.13.0RC1)
Instead of firing fc-config in every font package's %post, this can be done in post-transaction file triggers if any updated or newly installed file's path matches one of the filetrigger's pathes

--- Additional comment from Akira TAGOH on 2015-09-04 04:25:45 EDT ---

Yes, that's true. but is the trigger fired per files? that may be too many to update the cache since the cache is stored/updated per directories. if there are any pointers that explains more details of that feature, that would be appreciated.

--- Additional comment from Thierry Vignaud on 2015-09-04 18:58:15 EDT ---

See http://www.rpm.org/wiki/FileTriggers

You want something like:
# rpm filetriggers to update cache
%transfiletriggerin -- /usr/share/X11/fonts/Type1 /usr/share/X11/fonts/TTF /usr/local/share/fonts
fc-cache -s

--- Additional comment from Akira TAGOH on 2015-09-06 21:46:52 EDT ---

Thanks!

--- Additional comment from Akira TAGOH on 2015-09-07 01:37:24 EDT ---

Done in rawhide. let's see.

Comment 2 Tomas Pelka 2015-09-15 09:36:42 UTC
Can we know the severity of this bug?

Comment 3 Akira TAGOH 2015-09-15 09:51:58 UTC
If no real complaint like this, guess it's not so urgent. that said this issue is most likely to happen when installing font packages and run post scripts parallel, like on anaconda.

This is the kinda race condition issue on updating fontconfig cache and fixed in Fedora by checking the mtime of cache files in the nanosecond and update as needed.

For details of the changes:
  http://cgit.freedesktop.org/fontconfig/commit/?id=ad9f5880502c9a3f8e7f8919336888ee056f17ba

This requires changing the cache version to extend the member of FcCache to have the nanosecond one.

Comment 4 Jens Petersen 2016-01-05 07:03:41 UTC
We believe this occurred in Fedora due to Anaconda trying to parallel install packages/scripts, whereas RHEL7 doesn't do this, so it should not be affected.

Comment 10 Jens Petersen 2016-02-08 10:47:40 UTC
Closing since this doesn't seem to affect RHEL 7.


Note You need to log in before you can comment on or make changes to this bug.