Out Of Memory caused by Script Runner

weichu wang September 2, 2014

Hi Jamie Echlin,

I encountered an Out Of Memery issue at our JIRA instance with Script Runner plugin. I analyze the heap dump by Eclipse Memory Analyzer, and the result is that:
One object nearly (class name is com.atlassian.jira.jql.operand.registty.LazyResettableJqlFunctionHandlerRegistry )retained all the PS Old Gen heap and can't be recovered by GC.
You can refer to following image for the details.


I want to know that what operation will call this class and why this memory was not been recovered?

JVM Input Arguments:
-Dcatalina.base=/data/tomcat/jira -Dcatalina.home=/data/tomcat/jira/software/tomcat -Djava.io.tmpdir=/data/tomcat/jira/tmp -Djavax.net.ssl.keyStore=/data/tomcat/jira/SSL/jiracerts -Djavax.net.ssl.trustStore=/data/tomcat/jira/SSL/jiracerts -Djavax.net.ssl.keyStorePassword=changeit -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dfile.encoding=utf-8 -Dmail.mime.decodeparameters=true -Dnon.admin.upgrade=true -XX:MaxPermSize=1024m -Djira.jelly.on=true -Xms7072m -Xmx7072m -verbose -Dcommons.daemon.process.id=17664 -Dcommons.daemon.process.parent=17663 -Dcommons.daemon.version=1.0.10 abort

1 answer

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.
September 2, 2014

What script is your code running?

The script runner itself does not run out of memory. The problem is caused by writing scripts that do, and that's where you need to start.

weichu wang September 3, 2014

Hi Nic,

Thanks for your reply.

I don't find any service include script runner, but only some filter or workflow condition. Could you please tell me which type code will cause this issue?

Thanks

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.
September 3, 2014

It could be any type of code. The images you have above seem to imply the script runner is running some JQL which is leaking memory. What JQL it is running is up to you and your scripts or the built in functions - you've issued a JQL query somewhere that is not suitable. If it's happening regularly, it's probably a saved filter that someone keeps using. Or a script you've written.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events