Hi. When my employees try to move issue from one project to another they get 500 error. And in the log i get stack trace:
2016-12-08 08:28:25,005 http-nio-8080-exec-223 uri:/secure/MoveIssueConfirm.jspa username:masalkin.an ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [java.lang.IndexOutOfBoundsException: Index: 0, Size: 0] with root cause java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at com.okapya.jira.customfields.ChecklistItemChanges.generateItemsComments(ChecklistItemChanges.java:70) at com.okapya.jira.customfields.ChecklistItemChanges.getNewItemsComments(ChecklistItemChanges.java:55) at com.okapya.jira.customfields.ChecklistCFType.getChangelogValue(ChecklistCFType.java:464) at com.atlassian.jira.issue.customfields.impl.AbstractMultiCFType.getChangelogValue(AbstractMultiCFType.java:39) at com.atlassian.jira.issue.fields.ImmutableCustomField.getChangelogValue(ImmutableCustomField.java:375) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:436) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:395) at com.atlassian.jira.web.action.issue.MoveIssueConfirm.moveIssueDetails(MoveIssueConfirm.java:359) at com.atlassian.jira.web.action.issue.MoveIssueConfirm.moveIssueInTxn(MoveIssueConfirm.java:272) at com.atlassian.jira.web.action.issue.MoveIssueConfirm.doExecute(MoveIssueConfirm.java:249) ... 1 filtered at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63) ... 7 filtered at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ... 19 filtered at com.atlassian.ams.shipit.servlet.filter.TomcatThreadFilter.doFilter(TomcatThreadFilter.java:70) ... 16 filtered at com.valiantys.jira.plugins.sql.service.bulk.BulkDetectionServletFilter.doFilter(BulkDetectionServletFilter.java:32) ... 24 filtered at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31) ... 4 filtered at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62) ... 7 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 58 filtered at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76) ... 1 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:74) ... 36 filtered at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30) ... 5 filtered at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:142) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:94) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:64) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121) ... 9 filtered at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32) ... 3 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 4 filtered at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36) ... 29 filtered at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25) ... 27 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Can you explain what this exception is meaning? How i can fix this this behavior?
Hi Pavel,
Which version and JIRA and Checklist are you using? I remember protecting the add-on in that function a while ago.
JIRA is Service Desk 7.2.4 (as dedicated server) with Checklist 3.1.9
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The code in the checklist add-on cannot cope properly with the move. My guess is you've got a configuration that has not quite been coded for, or corrupt data that it can't quite handle.
I would check for all your config for the checklist field in the source and target projects. If they are identical, I think the problem will go away if it is just a bug. If it's corrupt data, I would expect it to continue to break. Re-index before you try any new moves though.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I check project settings now. First project (from which issue moves) has several elements in checklist. But second (in which issue moves) has no any settings for Checklist. It seems the problem is precisely in this.
But I do not like this behavior. I wonder how this can be changed?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.