Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

StackOver Flow Error related to ScriptRunner removedAfterSprintStart function

Erik Saline April 29, 2020

Our JIRA instance went down because a StackOver Flow error.  Has anyone else experienced StackOver Flow errors related to the removedAfterSprintStart function with ScriptRunner?  

 

Running JIRA Data Center 7.13.8 and ScriptRunner 5.6.14

 

2020-04-29 16:32:53,344 http-nio-8080-exec-544 url:/secure/GHGoToBoard.jspa username:jirauser ERROR      [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [Filter execution threw an exception] with root cause
java.lang.StackOverflowError
com.google.common.cache.LocalCache.lockedGetOrLoad(LocalCache.java:2272)
com.google.common.cache.LocalCache.get(LocalCache.java:2197)
com.google.common.cache.LocalCache.get(LocalCache.java:3937)
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
com.google.common.cache.LocalCache.get(LocalCache.java:4824)
com.google.common.cache.LocalCache.getUnchecked(LocalCache.java:4830)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.call(JiraSystemPropertiesCache.java:223)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.apply(JiraSystemPropertiesCache.java:43)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.apply(JiraSystemPropertiesCache.java:39)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.getCached(JiraSystemPropertiesCache.java:220)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.getLong(JiraSystemPropertiesCache.java:160)
com.atlassian.jira.config.properties.JiraPropertiesImpl.getLong(JiraPropertiesImpl.java:161)
... 2 filtered
java.lang.reflect.Method.invoke(Method.java:498)
com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
com.sun.proxy..getLong(Unknown Source)
... 2 filtered
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
com.sun.proxy..getLong(Unknown Source)
com.atlassian.jira.config.properties.JiraProperties.call(Unknown Source)
com.onresolve.jira.groovy.jql.ScriptedFunctionClauseFactory.getQuery(ScriptedFunctionClauseFactory.groovy:78)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:97)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:143)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:71)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.OrClause.accept(OrClause.java:28)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.AndClause.accept(AndClause.java:28)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.AndClause.accept(AndClause.java:28)
com.atlassian.jira.jql.query.QueryVisitor.createQuery(QueryVisitor.java:51)
com.atlassian.jira.jql.query.DefaultLuceneQueryBuilder.createLuceneQuery(DefaultLuceneQueryBuilder.java:29)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:310)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:149)
... 2 filtered
java.lang.reflect.Method.invoke(Method.java:498)
com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
com.sun.proxy..search(Unknown Source)
... 2 filtered
java.lang.reflect.Method.invoke(Method.java:498)
com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean.invoke(HostComponentFactoryBean.java:136)
com.sun.proxy..search(Unknown Source)
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findImpl(IssueDataServiceImpl.java:183)
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findWithServiceOutcome(IssueDataServiceImpl.java:53)
com.atlassian.greenhopper.service.sprint.SprintQueryServiceImpl.getSprints(SprintQueryServiceImpl.java:71)
com.atlassian.greenhopper.service.rapid.view.RapidViewSprintQueryServiceImpl.getSprints(RapidViewSprintQueryServiceImpl.java:48)
com.atlassian.greenhopper.service.sprint.SprintServiceImpl.getSprints(SprintServiceImpl.java:127)
com.atlassian.greenhopper.service.sprint.SprintService.call(Unknown Source)
com.onresolve.jira.groovy.jql.plugins.AddedRemovedAfterSprintStart.getSprintsFromBoard(AddedRemovedAfterSprintStart.groovy:192)
com.onresolve.jira.groovy.jql.plugins.AddedRemovedAfterSprintStart-bash.callCurrent(Unknown Source)
com.onresolve.jira.groovy.jql.plugins.AddedRemovedAfterSprintStart.getQuery(AddedRemovedAfterSprintStart.groovy:139)
com.onresolve.jira.groovy.jql.plugins.AddedRemovedAfterSprintStart.call(Unknown Source)
com.onresolve.jira.groovy.jql.ScriptedJqlFunction.getQuery(ScriptedJqlFunction.groovy:128)
com.onresolve.jira.groovy.jql.ScriptedJqlFunction.call(Unknown Source)
com.onresolve.jira.groovy.jql.ScriptedFunctionClauseFactory.getQuery(ScriptedFunctionClauseFactory.groovy:92)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:97)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:143)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:71)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.OrClause.accept(OrClause.java:28)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.AndClause.accept(AndClause.java:28)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55)
com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25)
com.atlassian.query.clause.AndClause.accept(AndClause.java:28)
com.atlassian.jira.jql.query.QueryVisitor.createQuery(QueryVisitor.java:51)
com.atlassian.jira.jql.query.DefaultLuceneQueryBuilder.createLuceneQuery(DefaultLuceneQueryBuilder.java:29)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:310)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:149)
... 2 filtered

This causes all the threads to be stuck on acquiring the object lock for guava cache on both the nodes.

grep -c "parking to wait for  <0x00000003414deb50> " jira_threads.1588178*
jira_threads.1588178763.txt:200
jira_threads.1588178777.txt:200
jira_threads.1588178790.txt:200
jira_threads.1588178804.txt:200
jira_threads.1588178818.txt:200
jira_threads.1588178832.txt:200

All of the above threads are waiting on acquiring a lock for the guava cache object.

   java.lang.Thread.State: WAITING (parking)
sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000003414deb50> (a java.util.concurrent.locks.ReentrantLock)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:209)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
com.google.common.cache.LocalCache.lockedGetOrLoad(LocalCache.java:2218)
com.google.common.cache.LocalCache.get(LocalCache.java:2197)
com.google.common.cache.LocalCache.get(LocalCache.java:3937)
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
com.google.common.cache.LocalCache.get(LocalCache.java:4824)
com.google.common.cache.LocalCache.getUnchecked(LocalCache.java:4830)
com.atlassian.jira.config.properties.JiraSystemPropertiesCache.call(JiraSystemPropertiesCache.java:223)

 

1 answer

0 votes
Andre Serrano
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 6, 2020

Have you got in touch with ScriptRunner Support?
They might help you with that.

https://productsupport.adaptavist.com/servicedesk/customer/portal/2/

Erik Saline June 11, 2020

I did, thank you for the suggestion!

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
VERSION
7.13.8
TAGS
AUG Leaders

Atlassian Community Events