Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-73557

500 Internal server error when unauthenticated user hits Jira REST endpoint with language es-419

    XMLWordPrintable

Details

    Description

      Issue Summary

      When a unauthenticated user hits Jira REST endpoint, with RequestHeader.Accept-Language to be UN M.49 region codes ("es-419" in this case). Instead of returning 401 unauthenticated message, the sever return 500 Internal server error.

      Some related tickets: 

      https://jira.atlassian.com/browse/JRACLOUD-33686

      https://denizoguz.atlassian.net/browse/CBSV-332?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel

      Steps to Reproduce

      1. Use some browser plugin to set RequestHeader.Accept-Language to es-419
      2. Go to Jira REST endpoint "/rest/internal/latest/frontendconfig/properties"

      On Jdog:

      curl https://jdog.jira-dev.com/rest/internal/latest/frontendconfig/properties -v -s -H 'Accept-Language: es-419' -XPOST -o /dev/null

      Expected: 401

      Actual: 500

      Expected Results

      Error code 401

      Actual Results

      Page is Broken. 500 Internal server error

      The below exception is thrown in the xxxxxxx.log file:

      jira_1                | SEVERE: Mapped exception to response: 500 (Internal Server Error)
      jira_1                | javax.ws.rs.WebApplicationException: java.text.ParseException: String, es-419, is not a valid language tag
      jira_1                | 	at com.sun.jersey.server.impl.model.HttpHelper.clientError(HttpHelper.java:265)
      jira_1                | 	at com.sun.jersey.server.impl.model.HttpHelper.getAcceptLanguage(HttpHelper.java:222)
      jira_1                | 	at com.sun.jersey.server.impl.VariantSelector.selectVariant(VariantSelector.java:290)
      jira_1                | 	at com.sun.jersey.spi.container.ContainerRequest.selectVariant(ContainerRequest.java:696)
      jira_1                | 	at com.sun.jersey.spi.container.AdaptingContainerRequest.selectVariant(AdaptingContainerRequest.java:286)
      

      Workaround

       Change the language setting in chrome.
      More details here: 
      https://confluence.atlassian.com/kb/500-internal-server-error-due-to-parseexception-es-419-is-not-a-valid-language-tag-369295958.html

       

      Attachments

        Issue Links

          Activity

            People

              sguo@atlassian.com Siyi Guo (Inactive)
              sguo@atlassian.com Siyi Guo (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: