Hello,
After upgrading to Confluence 8.3.1 the font health-check is failing:
What does this check do?
Check if system fonts are available. Adopt Open JDK does not include font configuration packages, which Confluence relies on.
Result
System fonts are not available. Please make sure correct font packages are installed.
OS: RHEL 8
In the logs I see a lot of the below errors:
2023-06-29 10:12:03,492 WARN [HealthCheck:thread-4] [troubleshooting.healthcheck.concurrent.SupportHealthCheckProcess] lambda$getCompletedStatuses$0 Health check 'Fonts' failed with severity 'warning': 'System fonts are not available. Please make sure correct font packages are installed.'
2023-06-29 10:12:03,755 WARN [http-nio-8090-exec-3] [troubleshooting.healthcheck.concurrent.SupportHealthCheckProcess] lambda$getCompletedStatuses$0 Health check 'Fonts' failed with severity 'warning': 'System fonts are not available. Please make sure correct font packages are installed.'
I've checked that the OS font-packages are installed as per https://confluence.atlassian.com/confkb/confluence-server-6-13-or-later-fails-with-fontconfiguration-error-when-installing-on-linux-operating-systems-960167204.html and another link that I can't find at the moment:
rpm -qa | egrep "freetype|fontconfig|dejavu"
dejavu-sans-mono-fonts-2.35-7.el8.noarch
dejavu-serif-fonts-2.35-7.el8.noarch
fontconfig-2.13.1-4.el8.x86_64
freetype-2.9.1-9.el8.x86_64
dejavu-sans-fonts-2.35-7.el8.noarch
dejavu-fonts-common-2.35-7.el8.noarch
My guess is that it have something to do with with the bundled JRE being updated to Java 17 but I am not certain.
Java Runtime Environment
Operating System: Linux 4.18.0-477.13.1.el8_8.x86_64
OS Architecture: amd64
Application Server: Apache Tomcat/9.0.73
Servlet Version: 4.0
Java Version: 17.0.6
Java Vendor: Eclipse Adoptium
JVM Version: 17
JVM Vendor: Oracle Corporation
JVM Implementation Version: 17.0.6+10
Java Runtime: OpenJDK Runtime Environment
Java VM: OpenJDK 64-Bit Server VM
Java Runtime Arguments--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=/opt/atlassian/confluence/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Datlassian.plugins.startup.options= -Dorg.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE=32768 -Dconfluence.context.path=/docs -Djava.locale.providers=JRE,SPI,CLDR -Dsynchrony.enable.xhr.fallback=true -Datlassian.plugins.enable.wait=300 -Djava.awt.headless=true -Xloggc:/opt/atlassian/confluence/logs/gc-2023-06-21_07-32-17.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M -Xlog:gc+age=debug:file=/opt/atlassian/confluence/logs/gc-2023-06-21_07-32-17.log::filecount=5,filesize=2M -XX:G1ReservePercent=20 -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDateStamps -XX:+IgnoreUnrecognizedVMOptions -XX:ReservedCodeCacheSize=256m -Xms4096m -Xmx4096m -Dignore.endorsed.dirs= -Dcatalina.base=/opt/atlassian/confluence -Dcatalina.home=/opt/atlassian/confluence -Djava.io.tmpdir=/opt/atlassian/confluence/temp
Have anyone seen this before or know what to look for?