I went from 6.2.6 to 6.3.6, and from ScriptRunner 3.0.5 to 3.0.6.
I have some scripts set up as Services, and when they run (every hour), a particular group of scripts throws this stack:
2014-10-13 07:01:20,140 atlassian-scheduler-quartz1.clustered_Worker-4 ERROR ServiceRunner [atlassian.scheduler.core.JobLauncher] Scheduled job with ID 'com.atlassian.jira.service.JiraService:18504' failed due to binary incompatibilities java.lang.NoClassDefFoundError: org/codehaus/groovy/classgen/asm/CompileStack$BlockRecorder at org.codehaus.groovy.classgen.asm.StatementWriter.makeBlockRecorder(StatementWriter.java:398) at org.codehaus.groovy.classgen.asm.StatementWriter.writeTryCatchFinally(StatementWriter.java:312) at org.codehaus.groovy.classgen.AsmClassGenerator.visitTryCatchFinally(AsmClassGenerator.java:471) at org.codehaus.groovy.ast.stmt.TryCatchStatement.visit(TryCatchStatement.java:42) at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:80) at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeBlockStatement(OptimizingStatementWriter.java:155) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:447) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) at org.codehaus.groovy.classgen.asm.StatementWriter.writeIfElse(StatementWriter.java:284) at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeIfElse(OptimizingStatementWriter.java:277) at org.codehaus.groovy.classgen.AsmClassGenerator.visitIfElse(AsmClassGenerator.java:463) at org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:80) at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeBlockStatement(OptimizingStatementWriter.java:155) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:447) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112) at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:312) at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:269) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:123) at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethod(AsmClassGenerator.java:389) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1056) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50) at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:173) at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:767) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:967) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:546) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:524) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:501) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:214) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:337) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:109) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:103) at javax.script.AbstractScriptEngine.eval(Unknown Source) at com.onresolve.jira.groovy.GroovyRunner.runFile(GroovyRunner.java:102) at com.onresolve.jira.groovy.GroovyRunner.run(GroovyRunner.java:62) at com.onresolve.jira.groovy.GroovyService.run(GroovyService.java:52) at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:66) at com.atlassian.jira.service.ServiceRunner.runService(ServiceRunner.java:75) at com.atlassian.jira.service.ServiceRunner.runServiceId(ServiceRunner.java:53) at com.atlassian.jira.service.ServiceRunner.runJob(ServiceRunner.java:36) at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:135) at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:101) at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:80) at com.atlassian.scheduler.quartz1.Quartz1Job.execute(Quartz1Job.java:32) at org.quartz.core.JobRunShell.run(JobRunShell.java:223) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
I have other service scripts that don't throw this exception; the ones that do all queue up email.
They definitely all work in 3.0.5 under JIRA 6.3.6. Can I roll back to 3.0.5, or is there something else I can do to get these services running again?
The stack trace refers to classes that don't even exist in the plugin anymore. Are you sure you don't have a very old version in WEB-INF/lib ?
Also check "Manage Addons", that there is only one version listed.
There's no "groovyrunner" jar in WEB-INF/lib, and only one version of Script Runner in Manage Addons.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This class: com.onresolve.jira.groovy.GroovyRunner - does not exist in 3.0.5, or 3.0.6. It must be getting it from somewhere. Check <home>/plugins/installed-plugins, if all else fails delete <home>/plugins/.osgi-plugins and restart. You could try uninstalling and reinstalled 3.0.5, but you should get the same problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The only groovyrunner jar in installed-plugins is 3.0.6 Ah, but there is a 2.1.7 in .osgi-plugins/transformed-plugins. Any idea how it got there? Part of my upgrade process (for JIRA version upgrades) is to delete .osgi-plugins and .bundled-plugins so that they get rebuilt. Thanks for your help Jamie.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Nope... I guess you didn't follow your upgrade procedure!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can't argue with that, I guess, especially since it's fine after cleaning that and restarting. Thanks again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Update: the other services don't actually run either. Stack trace:
2014-10-13 09:09:19,915 atlassian-scheduler-quartz1.clustered_Worker-4 ERROR jira-transition-bot RARTWO Auto Transition Approval [onresolve.jira.groovy.GroovyRunner] The script failed : javax.script.ScriptException: javax.script.ScriptException: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.dgm$197 2014-10-13 09:09:19,915 atlassian-scheduler-quartz1.clustered_Worker-4 ERROR jira-transition-bot RARTWO Auto Transition Approval [onresolve.jira.groovy.GroovyService] Script service failed: /var/atlassian/application-data/jira/import/scripts/RARTWO/RARTWOAutoTransition.groovy javax.script.ScriptException: javax.script.ScriptException: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.dgm$197 at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:117) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:103) at javax.script.AbstractScriptEngine.eval(Unknown Source) at com.onresolve.jira.groovy.GroovyRunner.runFile(GroovyRunner.java:102) at com.onresolve.jira.groovy.GroovyRunner.run(GroovyRunner.java:62) at com.onresolve.jira.groovy.GroovyService.run(GroovyService.java:52) at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:66) at com.atlassian.jira.service.ServiceRunner.runService(ServiceRunner.java:75) at com.atlassian.jira.service.ServiceRunner.runServiceId(ServiceRunner.java:53) at com.atlassian.jira.service.ServiceRunner.runJob(ServiceRunner.java:36) at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:135) at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:101) at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:80) at com.atlassian.scheduler.quartz1.Quartz1Job.execute(Quartz1Job.java:32) at org.quartz.core.JobRunShell.run(JobRunShell.java:223) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) Caused by: javax.script.ScriptException: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.dgm$197 at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:318) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:111) ... 15 more Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.dgm$197 at com.onresolve.jira.groovy.canned.util.JoinClassLoader.findClass(JoinClassLoader.java:34) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.codehaus.groovy.reflection.GeneratedMetaMethod$Proxy.createProxy(GeneratedMetaMethod.java:86) at org.codehaus.groovy.reflection.GeneratedMetaMethod$Proxy.proxy(GeneratedMetaMethod.java:79) at org.codehaus.groovy.reflection.GeneratedMetaMethod$Proxy.isValidMethod(GeneratedMetaMethod.java:65) at groovy.lang.MetaClassImpl.chooseMethodInternal(MetaClassImpl.java:2820) at groovy.lang.MetaClassImpl.chooseMethod(MetaClassImpl.java:2780) at groovy.lang.MetaClassImpl.getMethodWithCachingInternal(MetaClassImpl.java:1172) at groovy.lang.MetaClassImpl.createPojoCallSite(MetaClassImpl.java:2981) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:116) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:150) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at java_util_List$equals.call(Unknown Source) at JiraAutoTransition.meetsConditions(Script2.groovy:49) at JiraAutoTransition.this$2$meetsConditions(Script2.groovy) at JiraAutoTransition$this$2$meetsConditions.callCurrent(Unknown Source) at JiraAutoTransition.<init>(Script2.groovy:84) at sun.reflect.GeneratedConstructorAccessor641.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186) at Script2.run(Script2.groovy:91) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:315) ... 16 more
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Atlassian Government Cloud has achieved FedRAMP Authorization at the Moderate level! Join our webinar to learn how you can accelerate mission success and move work forward faster in cloud, all while ensuring your critical data is secure.
Register NowOnline 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.