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:
Review document:Setting properties and options on startup
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
Restart Jira to take effect
Was this helpful?