Font display problem in gadgets and database monitoring graph in Jira server
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
The symptoms could be one or more of the following:
- When viewing gadgets and database monitoring graphs, fonts appear incorrect or garbled as depicted below:
Errors visible from the UI when accessing the Database monitoring page:
An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug. Details: ------- org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getGraphs' in class com.atlassian.jira.plugins.monitor.database.MonitorDatabase
Diagnosis
Environment
- Linux-based environment
Diagnostic Steps
- The Health check page marks the Jira Data Center Health Check: Fonts warning.
There have been cases where this is not shown and the error in the UI is still visible. The following errors are shown in the atlassian-jira.log:
2023-03-06 00:00:00,000+0000 http-nio-XXXX-exec-XX ERROR User SSID ---- IP_ADDR /secure/admin/monitor_database.jspa [c.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: java.lang.NoClassDefFoundError: Could not initialize class org.rrd4j.graph.RrdGraphConstants java.lang.NoClassDefFoundError: Could not initialize class org.rrd4j.graph.RrdGraphConstants at org.rrd4j.graph.RrdGraphDef.<init>(RrdGraphDef.java:80) at com.atlassian.jira.plugins.monitor.database.MonitorDatabase.createGraphDefinition(MonitorDatabase.java:116)
- From the command line, run
fc-cache
to list available fonts. Java relies on fonts provided by the operating system.
Causes
- A lack of available fonts causes this unexpected behavior.
- The Atlassian Troubleshooting and Support Tools (ATST) plugin is not up to date.
Resolutions
Resolution 1
Install additional fonts and reboot the system. Refer to Jira Data Center Health Check: Fonts on how to do so. On RedHat based system you can issue the below command which is the equivalent of yum groupinstall fonts
:
yum install cjkuni-uming-fonts.noarch dejavu-fonts-common.noarch dejavu-sans-fonts.noarch dejavu-sans-mono-fonts.noarch dejavu-serif-fonts.noarch fontconfig.x86_64 fontpackages-filesystem.noarch gnu-free-fonts-common.noarch gnu-free-mono-fonts.noarch gnu-free-sans-fonts.noarch gnu-free-serif-fonts.noarch google-crosextra-caladea-fonts.noarch google-crosextra-carlito-fonts.noarch jomolhari-fonts.noarch khmeros-base-fonts.noarch khmeros-fonts-common.noarch libXfont.x86_64 liberation-fonts-common.noarch liberation-mono-fonts.noarch liberation-sans-fonts.noarch liberation-serif-fonts.noarch libfontenc.x86_64 lklug-fonts.noarch lohit-assamese-fonts.noarch lohit-bengali-fonts.noarch lohit-devanagari-fonts.noarch lohit-gujarati-fonts.noarch lohit-kannada-fonts.noarch lohit-malayalam-fonts.noarch lohit-marathi-fonts.noarch lohit-nepali-fonts.noarch lohit-oriya-fonts.noarch lohit-punjabi-fonts.noarch lohit-tamil-fonts.noarch lohit-telugu-fonts.noarch lyx-fonts.noarch madan-fonts.noarch nhn-nanum-fonts-common.noarch nhn-nanum-gothic-fonts.noarch open-sans-fonts.noarch overpass-fonts.noarch paktype-naskh-basic-fonts.noarch paratype-pt-sans-fonts.noarch sil-abyssinica-fonts.noarch sil-nuosu-fonts.noarch sil-padauk-fonts.noarch smc-fonts-common.noarch smc-meera-fonts.noarch stix-fonts.noarch thai-scalable-fonts-common.noarch thai-scalable-waree-fonts.noarch ucs-miscfixed-fonts.noarch urw-fonts.noarch vlgothic-fonts.noarch wqy-microhei-fonts.noarch wqy-zenhei-fonts.noarch xorg-x11-font-utils.x86_64
Resolution 2
Update the Atlassian Troubleshooting and Support Tools (ATST) plugin to the latest version available