-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: JCMA - 1.10.11
-
6
-
Severity 3 - Minor
-
2
Issue Summary
When completing pre-migration checks in the Jira Cloud Migration App, some tests are failing for an unknown reason.
The atlassian-jira-migration.log file is spammed with StackOverflowErrors and therefore the actual root cause is masked.
Steps to Reproduce
- Login to Jira as an administrator
- click on Settings > System > Migrate to Cloud
- Select to migration specific components to cloud
- Click through the prompts to start the pre-migration-checks
Expected Results
All checks are successful and the site can be migrated to Jira Cloud
Actual Results
The below exception is thrown in the atlassian-jira-migration.log file for each incomplete migration check.
/rest/migration/latest/check/de60693db03ffa4636aa147c8d09d8d3ecda980a [jira.migration.preflight.AsyncCheckExecutor] Pre-flight execution error occurred for check type JswLicence java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.StackOverflowError at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor$Companion.extractResult(AsyncCheckExecutor.kt:288) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor$Companion.access$extractResult(AsyncCheckExecutor.kt:278) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor$persistWhenDone$1.onFailure(AsyncCheckExecutor.kt:183) at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.StackOverflowError at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at com.atlassian.jira.migration.preflight.PreflightCheckKt.getUsersAndGroups(PreflightCheck.kt:85) at com.atlassian.jira.migration.preflight.AbstractLicenceCheck.performCheck(AbstractLicenceCheck.kt:31) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor.runCheck(AsyncCheckExecutor.kt:245) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor.access$runCheck(AsyncCheckExecutor.kt:41) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor$executeChecksListenable$1.invoke$lambda$6$lambda$4(AsyncCheckExecutor.kt:153) at java.util.concurrent.FutureTask.run(FutureTask.java:266) ... 3 more Caused by: java.util.concurrent.ExecutionException: java.lang.StackOverflowError at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.atlassian.jira.migration.workers.usersgroups.ScopedUserExtractor$data$2.invoke(ScopedUserExtractor.kt:74) at com.atlassian.jira.migration.workers.usersgroups.ScopedUserExtractor$data$2.invoke(ScopedUserExtractor.kt:44) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.atlassian.jira.migration.workers.usersgroups.ScopedUserExtractor.getData(ScopedUserExtractor.kt:44) at com.atlassian.jira.migration.workers.usersgroups.ScopedUserExtractor.getAllUsersGroupsWithReferences(ScopedUserExtractor.kt:94) at com.atlassian.jira.migration.preflight.UsersGroupsAndCustomerService$getUsersAndGroupsWithReferences$1$1.invoke(UsersGroupsAndCustomerService.kt:181) at com.atlassian.jira.migration.preflight.UsersGroupsAndCustomerService$getUsersAndGroupsWithReferences$1$1.invoke(UsersGroupsAndCustomerService.kt:166) at com.atlassian.jira.migration.jiraservice.JiraExtensionsKt.wrap(JiraExtensions.kt:19) at com.atlassian.jira.migration.preflight.UsersGroupsAndCustomerService.getUsersAndGroupsWithReferences$lambda$2(UsersGroupsAndCustomerService.kt:166) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) ... 3 more Caused by: java.lang.StackOverflowError at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3799) at java.util.regex.Pattern$Curly.match0(Pattern.java:4252) at java.util.regex.Pattern$Curly.match(Pattern.java:4236) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660) at java.util.regex.Pattern$Branch.match(Pattern.java:4606) at java.util.regex.Pattern$Branch.match(Pattern.java:4604) at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3800) at java.util.regex.Pattern$Start.match(Pattern.java:3463) at java.util.regex.Matcher.search(Matcher.java:1248) at java.util.regex.Matcher.find(Matcher.java:664)
As a result, you cannot click to run the actual Server-to-Cloud migration.
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available
Plugin Details:
<key>com.atlassian.jira.migration.jira-migration-plugin</key>
<name>Jira Cloud Migration Assistant</name>
<version>1.10.11</version>
<vendor>Atlassian</vendor>
<status>ENABLED</status>
<vendor-url>https://www.atlassian.com/</vendor-url>
<framework-version>2</framework-version>