Jira Cloud Migration Assistant returns a blank screen after its update due to JVM encoding

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Summary

Jira Cloud Migration Assistant returns a blank screen, as it fails to load a Javascript script due to JVM encoding. 

Diagnosis

In the browser, the request below fails when trying to access JCMA's home page:

1 2 GET http://example.com/.../download/resources/com.atlassian.jira.migration.jira-migration-plugin:static-resources/fe-resources/atlaskit.xxx.js

The below errors can be found in atlassian-jira.log:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2023-10-02 09:11:43,137+0800 http-nio-8080-exec-10 ERROR anonymous 551x892x2 13svmo2 203.126.80.226 /s/-87z8jj/9110000/1dlckms/1.9.17/_/download/resources/com.atlassian.jira.migration.jira-migration-plugin:static-resources/fe-resources/atlaskit.38767ef3c2502e7cc802.js [o.a.c.c.C.[.[localhost].[/].[file-server]] Servlet.service() for servlet [file-server] threw exception java.lang.RuntimeException: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected value at line 1 column 2545217 path $.sourcesContent[554] at com.atlassian.sourcemap.SourceMapJson.parse(SourceMapJson.java:69) at com.atlassian.sourcemap.SourceMapConsumer.parse(SourceMapConsumer.java:28) at com.atlassian.sourcemap.SourceMapConsumer.<init>(SourceMapConsumer.java:21) at com.atlassian.sourcemap.ReadableSourceMapImpl.<init>(ReadableSourceMapImpl.java:21) at com.atlassian.sourcemap.ReadableSourceMapImpl.fromSource(ReadableSourceMapImpl.java:48) at com.atlassian.plugin.webresource.impl.support.Support.getSourceMap(Support.java:111) at com.atlassian.plugin.webresource.impl.support.factory.InitialSourceContentBuilder.withSourceMap(InitialSourceContentBuilder.java:56) at com.atlassian.plugin.webresource.impl.support.factory.InitialContentFactory.lookup(InitialContentFactory.java:46) at com.atlassian.plugin.webresource.impl.helpers.ResourceServingHelpers.transformWithoutCache(ResourceServingHelpers.java:273) at com.atlassian.plugin.webresource.impl.helpers.ResourceServingHelpers.transform(ResourceServingHelpers.java:186) at com.atlassian.plugin.webresource.impl.http.Controller.serveResource(Controller.java:336) at com.atlassian.plugin.webresource.impl.http.Controller.serveResource(Controller.java:96) at com.atlassian.plugin.webresource.impl.http.Router$2.apply(Router.java:52) at com.atlassian.plugin.webresource.impl.http.Router$2.apply(Router.java:50) at com.atlassian.plugin.webresource.impl.support.http.BaseRouter.callHandler(BaseRouter.java:240) at com.atlassian.plugin.webresource.impl.support.http.BaseRouter.dispatch(BaseRouter.java:217) at com.atlassian.plugin.webresource.servlet.PluginResourceDownload.serveFile(PluginResourceDownload.java:64) at com.atlassian.plugin.servlet.AbstractFileServerServlet.doGet(AbstractFileServerServlet.java:28) at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) ...

Cause

The Javascript script encountered syntax errors due to JVM encoding. 

Solution

Change JVM encoding to UTF-8:

  1. Review document:Setting properties and options on startup

  2. Open <jira-install>/bin/setenv.sh, find the line set JVM_SUPPORT_RECOMMENDED_ARGS=, and modify it to:

    1 set JVM_SUPPORT_RECOMMENDED_ARGS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
  3. Restart Jira to take effect

Updated on February 25, 2025

Still need help?

The Atlassian Community is here for you.