-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Jenkins core 2.204
Declarative Pipeline 1.5.1
The following pipeline causes a "Method code too large!" error when you try to execute it, seems related to the environment variables and the number of axis but I dunno why.
11:51:01 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
11:51:01 General error during class generation: Method code too large!
11:51:01
11:51:01 java.lang.RuntimeException: Method code too large!
11:51:01 at groovyjarjarasm.asm.MethodWriter.a(Unknown Source)
11:51:01 at groovyjarjarasm.asm.ClassWriter.toByteArray(Unknown Source)
11:51:01 at org.codehaus.groovy.control.CompilationUnit$17.call(CompilationUnit.java:827)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
11:51:01 at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
11:51:01 at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
11:51:01 at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
11:51:01 at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
11:51:01 at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:327)
11:51:01 at hudson.model.ResourceController.execute(ResourceController.java:97)
11:51:01 at hudson.model.Executor.run(Executor.java:428)
11:51:01
11:51:01 1 error
11:51:01
11:51:01 at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
11:51:01 at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
11:51:01 at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
11:51:01 at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
11:51:01 at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
11:51:01 at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
11:51:01 at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
11:51:01 at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:327)
11:51:01 at hudson.model.ResourceController.execute(ResourceController.java:97)
11:51:01 at hudson.model.Executor.run(Executor.java:428)
11:51:01 Finished: FAILURE
#!/usr/bin/env groovy pipeline { agent { label 'linux' } stages { stage('Tests'){ matrix { agent { label 'linux' } environment { TMPDIR = "/tmp" REUSE_CONTAINERS = "true" HOME = "/tmp" CONFIG_HOME = "/tmp" EC_WS ="/tmp/aaaa" VENV = "/tmp/.venv" PATH = "/tmp/aaaa/.ci/scripts:/tmp/bin:aaaa/bin:aaaa/.ci/scripts:${env.PATH}" CLUSTER_CONFIG_FILE="aaaaa/tests/environments/elastic_cloud.yml" ENABLE_ES_DUMP = "true" } axes { axis { name 'TEST' values 'all', 'dotnet', 'go', 'java', 'nodejs', 'python', 'ruby', 'rum' } axis { name 'ELASTIC_STACK_VERSION' values '8.0.0-SNAPSHOT', '7.7.0-SNAPSHOT', '7.6.1-SNAPSHOT', '6.8.7-SNAPSHOT' } } stages { stage('Prepare Test'){ steps { echo "Running tests - ${ELASTIC_STACK_VERSION} x ${TEST}" } } } } } } }
- is related to
-
JENKINS-37984 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during class generation: Method code too large! error in pipeline Script
-
- Open
-
-
JENKINS-37984 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during class generation: Method code too large! error in pipeline Script
-
- Open
-
Another case that does not make any sense that it said that the method is too large, the following pipeline return the "Method code too large!" error
moving the agent request from the matrix to the stage resolves the issue, but it should be supported