我们的Jenkins CI服务器出现问题。我们的CI实现依赖于几个Groovy脚本,我们在Jenkins中作为“系统Groovy脚本”执行。多年来一直如此,这些脚本没有最近的修改,并实现了构建流程、版本检查等业务逻辑步骤。昨天,我们在尝试启动任何一种尝试执行Groovy脚本的Jenkins作业时都遇到了异常。异常信息为:
这看起来像是Jenkins内部的Groovy解析器在尝试解析Groovy脚本时达到了堆栈顶部(如我所说,许多之前完美运行且未经过任何近期修改的脚本在突然出现此问题)。
当前我们的Jenkins安装(v1.594)在AIX v7.1上运行Websphere 8.5.5.2应用服务器(不确定其修补程序级别和/或是否最近进行了任何更新,仍在努力收集信息)。
重启后,我们恢复了正常行为(所有脚本再次像往常一样工作,而没有对它们进行任何修改)。
有人知道是否有任何基础库与Jenkins Groovy解析不兼容的情况吗?
java.lang.StackOverflowError
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.additiveExpression(GroovyRecognizer.java:12478)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.shiftExpression(GroovyRecognizer.java:9695)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.relationalExpression(GroovyRecognizer.java:12383)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.equalityExpression(GroovyRecognizer.java:12307)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.regexExpression(GroovyRecognizer.java:12255)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.andExpression(GroovyRecognizer.java:12223)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.exclusiveOrExpression(GroovyRecognizer.java:12191)
hundreds of similar lines
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.compoundStatement(GroovyRecognizer.java:7510)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.compatibleBodyStatement(GroovyRecognizer.java:8834)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:899)
at org.codehaus.groovy.antlr.parser.GroovyRecognizer.compilationUnit(GroovyRecognizer.java:757)
at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:131)
at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108)
at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236)
at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:161)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:846)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:550)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:526)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:503)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
at groovy.lang.GroovyShell.parse(GroovyShell.java:770)
at groovy.lang.GroovyShell.parse(GroovyShell.java:761)
at groovy.lang.GroovyShell$parse.call(Unknown Source)
at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:80)
at com.cloudbees.plugins.flow.FlowRun$FlyweightTaskRunnerImpl.run(FlowRun.java:219)
at hudson.model.Run.execute(Run.java:1759)
at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:155)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
at hudson.model.OneOffExecutor.run(OneOffExecutor.java:43)
这看起来像是Jenkins内部的Groovy解析器在尝试解析Groovy脚本时达到了堆栈顶部(如我所说,许多之前完美运行且未经过任何近期修改的脚本在突然出现此问题)。
当前我们的Jenkins安装(v1.594)在AIX v7.1上运行Websphere 8.5.5.2应用服务器(不确定其修补程序级别和/或是否最近进行了任何更新,仍在努力收集信息)。
重启后,我们恢复了正常行为(所有脚本再次像往常一样工作,而没有对它们进行任何修改)。
有人知道是否有任何基础库与Jenkins Groovy解析不兼容的情况吗?