Skip to content

exception in phase 'semantic analysis' in Groovy sources after optimizations #297

@h1alexbel

Description

@h1alexbel

Right after optimization of our classes, Groovy sources stop compiling:

[INFO] >> [INFO] Total 51 files were assembled in 1s
[INFO] >> [INFO] Bytecode verification is disabled, skipping
[INFO] >> [INFO] ------------------------------------------------------------------------
[INFO] >> [INFO] BUILD SUCCESS
[INFO] >> [INFO] ------------------------------------------------------------------------
[INFO] >> [INFO] Total time:  17:29 min
[INFO] >> [INFO] Finished at: 2025-08-20T11:01:46Z
[INFO] >> [INFO] ------------------------------------------------------------------------
[INFO] + docker run --rm --volume /home/runner/work/lints/lints/target:/target --volume /home/runner/.eo:/eo-cache --env TARGET=/target --env EO_CACHE=/eo-cache --env EXTRA=/target/hone-extra --env JEO_VERSION=0.13.9 --env CLASSES=classes --env SMALL_STEPS=false --env VERBOSE=false --env DEBUG=false --env GREP_IN=.* --env MAX_DEPTH=500 --env TIMEOUT=999 --env EXCLUDES=/target/classes/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.class --user 1001:1001 --env RULES=rules/streams/101-remove-self-reference-labels.phr rules/streams/111-invokedynamic-to-lambda.phr rules/streams/201-lambda-to-filter.phr rules/streams/202-lambda-to-map.phr rules/streams/203-lambda-to-primitive-filter.phr rules/streams/204-lambda-to-primitive-map.phr rules/streams/205-lambda-to-unbox.phr rules/streams/206-boxed-to-box.phr rules/streams/211-box-unbox-primitive-function.phr rules/streams/221-unbox-box-to-map.phr rules/streams/231-boxed-primitive-map-to-map.phr rules/streams/232-boxed-primitive-filter-to-filter.phr rules/streams/241-type-primitive-to-primitive-after-map.phr rules/streams/242-transform-primitive-to-object-after-map.phr rules/streams/243-transform-object-to-primitive-after-map.phr rules/streams/251-type-primitive-to-primitive-after-filter.phr rules/streams/252-transform-primitive-to-object-after-filter.phr rules/streams/261-transform-object-to-primitive-after-filter.phr rules/streams/271-remove-useless-types.phr rules/streams/272-remove-useless-object-to-primitive-conversion.phr rules/streams/281-insert-dup-before-filter.phr rules/streams/282-insert-dup-before-transformed-filter.phr rules/streams/301-primitive-filter-to-distill.phr rules/streams/302-object-filter-to-distill.phr rules/streams/303-map-to-distill.phr rules/streams/304-dup-to-distill.phr rules/streams/305-transform-to-distill.phr rules/streams/306-type-to-distill.phr rules/streams/401-fuse.phr rules/streams/411-box-distill-unbox-to-primitive-distill.phr rules/streams/421-transform-distill-head-to-object.phr rules/streams/422-transform-distill-tail-to-object.phr rules/streams/431-dup-before-filter-distill.phr rules/streams/501-distill-to-mapMulti.phr rules/streams/601-mapMulti-to-lambda.phr rules/streams/602-box-to-boxed.phr rules/streams/603-unbox-to-lambda.phr rules/streams/701-lambda-to-invokedynamic.phr yegor256/hone:0.12.0 -> 0x0000 in 18min
[INFO] Bytecode was optimized in '/home/runner/work/lints/lints/target' in 18min
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ lints ---
[INFO] Copying 377 resources from src/test/resources to target/test-classes
[INFO] The encoding used to copy filtered properties files have not been set. This means that the same encoding will be used to copy filtered properties files as when copying other filtered resources. This might not be what you want! Run your build with --debug to see which files might be affected. Read more at https://maven.apache.org/plugins/maven-resources-plugin/examples/filtering-properties-files.html
[INFO] 
[INFO] --- compiler:3.14.0:testCompile (default-testCompile) @ lints ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 45 source files with javac [forked debug deprecation release 11] to target/test-classes
[INFO] 
[INFO] --- gplus:4.2.0:compileTests (jcabi-groovy) @ lints ---
[INFO] Using isolated classloader, without GMavenPlus classpath.
[INFO] Using Groovy 3.0.25 to perform compileTests.
[INFO] Parallel parsing disabled.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  17:54 min
[INFO] Finished at: 2025-08-20T11:01:51Z
[INFO] ------------------------------------------------------------------------
Error:  Failed to execute goal org.codehaus.gmavenplus:gmavenplus-plugin:4.2.0:compileTests (jcabi-groovy) on project lints: Error occurred while calling a method on a Groovy class from classpath. InvocationTargetException: BUG! exception in phase 'semantic analysis' in source unit '/home/runner/work/lints/lints/src/test/groovy/org/eolang/lints/HomeNamesTest.groovy' Index 65536 out of bounds for length 1069 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.gmavenplus:gmavenplus-plugin:4.2.0:compileTests (jcabi-groovy) on project lints: Error occurred while calling a method on a Groovy class from classpath.
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error occurred while calling a method on a Groovy class from classpath.
    at org.codehaus.gmavenplus.mojo.CompileTestsMojo.execute (CompileTestsMojo.java:83)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
Caused by: java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:118)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.gmavenplus.util.ReflectionUtils.invokeMethod (ReflectionUtils.java:216)
    at org.codehaus.gmavenplus.mojo.AbstractCompileMojo.doCompile (AbstractCompileMojo.java:414)
    at org.codehaus.gmavenplus.mojo.CompileTestsMojo.execute (CompileTestsMojo.java:79)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
Caused by: org.codehaus.groovy.GroovyBugError: BUG! exception in phase 'semantic analysis' in source unit '/home/runner/work/lints/lints/src/test/groovy/org/eolang/lints/HomeNamesTest.groovy' Index 65536 out of bounds for length 1069

Full story here: https://github.com/objectionary/lints/actions/runs/17096072696/job/48480694553?pr=721

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions