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)
Have you got in touch with ScriptRunner Support?
They might help you with that.
https://productsupport.adaptavist.com/servicedesk/customer/portal/2/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.