Get exception in log when trying to move issue from one project to another

Pavel Afanasev December 7, 2016

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?

2 answers

0 votes
Yves Riel [Okapya]
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
December 9, 2016

Hi Pavel,

Which version and JIRA and Checklist are you using? I remember protecting the add-on in that function a while ago.

Pavel Afanasev December 11, 2016

JIRA is Service Desk 7.2.4 (as dedicated server) with Checklist 3.1.9

0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 7, 2016

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.

Pavel Afanasev December 11, 2016

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?

Suggest an answer

Log in or Sign up to answer