Description
Steps to Reproduce:
- Start your JIRA with Turkish locale (set -Duser.language=tr -Duser.country=TR in setenv.sh)
- Navigate to LookAndFeel page and try to update the logo
- Exceptions similar to this one will be shown in the log file:
2011-10-10 18:37:15,715 http-8080-2 ERROR jiraadmin 1117x509x1 16q309t 10.20.8.1:57649,127.0.0.1 /secure/admin/EditLookAndFeel.jspa [velocity] Method isDefaultFaviconOption threw exception for reference $action in template templates/actions/editlookandfeel.vm at [72,56] 2011-10-10 18:37:15,715 http-8080-2 ERROR jiraadmin 1117x509x1 16q309t 10.20.8.1:57649,127.0.0.1 /secure/admin/EditLookAndFeel.jspa [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: java.lang.NullPointerException java.lang.NullPointerException at com.atlassian.jira.lookandfeel.EditLookAndFeel.isDefaultFaviconOption(EditLookAndFeel.java:497)
Finding:
In this case, JIRA tries to upper case the choice made for the favicon, whether it is JIRA (DEFAULT), URL or UPLOAD. Turkish uppercasing makes it fail when trying to convert jira into JIRA, under Turkish it would actually be JİRA.
We should always uppercase any text to be used for a programmatic purpose using English rules. We should only uppercase using the user's locale when rendering the uppercased text for the user.
Workaround:
Set -Duser.language=en -Duser.country=UK into your JVM properties. For more information on how to set this, feel free to refer to: