[jira] [Resolved] (GROOVY-10470) Update from Groovy 3 to 4.0.0 breaks existing code
[ https://issues.apache.org/jira/browse/GROOVY-10470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-10470. Assignee: Paul King Resolution: Information Provided > Update from Groovy 3 to 4.0.0 breaks existing code > -- > > Key: GROOVY-10470 > URL: https://issues.apache.org/jira/browse/GROOVY-10470 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime >Affects Versions: 4.0.0 >Reporter: Alexander Veit >Assignee: Paul King >Priority: Major > > After updating from Groovy 3 to 4.0.0 scripts that use {{AntBuilder}} without > an {{import}} statement no longer work. > This is probably caused by missing default includes for {{groovy.ant.*}} or > {{groovy.ant.AntBuilder}}. > The same problem exists for {{XmlSlurper}} and {{XmlParser}}. > Example: The script below works with Groovy 3.0.9 but not with 4.0.0. > {code:java} > new AntBuilder() > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GROOVY-10474) Bump gradle to 7.4 (build dependency)
[ https://issues.apache.org/jira/browse/GROOVY-10474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-10474. Fix Version/s: 4.0.1 Assignee: Paul King Resolution: Fixed > Bump gradle to 7.4 (build dependency) > - > > Key: GROOVY-10474 > URL: https://issues.apache.org/jira/browse/GROOVY-10474 > Project: Groovy > Issue Type: Dependency upgrade >Reporter: Paul King >Assignee: Paul King >Priority: Major > Fix For: 4.0.1 > > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GROOVY-10472) @AutoImplement is failing when covariant returns are involved
[ https://issues.apache.org/jira/browse/GROOVY-10472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491828#comment-17491828 ] Paul King commented on GROOVY-10472: Proposed PR merged. If you can check whether the snapshot builds work for your real-life example, that would be great. > @AutoImplement is failing when covariant returns are involved > - > > Key: GROOVY-10472 > URL: https://issues.apache.org/jira/browse/GROOVY-10472 > Project: Groovy > Issue Type: Bug > Components: Compiler >Reporter: Phaninra >Assignee: Paul King >Priority: Major > Fix For: 3.0.10, 4.0.1 > > Time Spent: 20m > Remaining Estimate: 0h > > {code:java} > @AutoImplement{code} > is failing when (Java) covariant returns are involved. > > Copy the following into GroovyConsole and hit run to reproduce the error. > {code:java} > import groovy.transform.* > @CompileStatic > interface Super { > Iterable findAll() > } > @CompileStatic > interface Sub extends Super { > List findAll() // a List instead of an Iterable > } > @AutoImplement > @CompileStatic > class ThisClassFails implements Sub{} {code} > > Error will look like > {code:java} > 1 compilation error: > The return type of java.lang.Iterable findAll() in ThisClassFails is > incompatible with java.util.List in Sub > . At [14:1] at line: 14, column: 1 {code} > > Refs: > - Real life example: > [https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html] > Look at all variations of `findAll` methods in that interface and super - > some use Iterable and some use List. > - Covariant return type : [https://www.javatpoint.com/covariant-return-type] > > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GROOVY-10472) @AutoImplement is failing when covariant returns are involved
[ https://issues.apache.org/jira/browse/GROOVY-10472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491827#comment-17491827 ] Paul King commented on GROOVY-10472: Proposed PR: https://github.com/apache/groovy/pull/1684 > @AutoImplement is failing when covariant returns are involved > - > > Key: GROOVY-10472 > URL: https://issues.apache.org/jira/browse/GROOVY-10472 > Project: Groovy > Issue Type: Bug > Components: Compiler >Reporter: Phaninra >Assignee: Paul King >Priority: Major > Fix For: 3.0.10, 4.0.1 > > Time Spent: 20m > Remaining Estimate: 0h > > {code:java} > @AutoImplement{code} > is failing when (Java) covariant returns are involved. > > Copy the following into GroovyConsole and hit run to reproduce the error. > {code:java} > import groovy.transform.* > @CompileStatic > interface Super { > Iterable findAll() > } > @CompileStatic > interface Sub extends Super { > List findAll() // a List instead of an Iterable > } > @AutoImplement > @CompileStatic > class ThisClassFails implements Sub{} {code} > > Error will look like > {code:java} > 1 compilation error: > The return type of java.lang.Iterable findAll() in ThisClassFails is > incompatible with java.util.List in Sub > . At [14:1] at line: 14, column: 1 {code} > > Refs: > - Real life example: > [https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html] > Look at all variations of `findAll` methods in that interface and super - > some use Iterable and some use List. > - Covariant return type : [https://www.javatpoint.com/covariant-return-type] > > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] (GROOVY-10472) @AutoImplement is failing when covariant returns are involved
[ https://issues.apache.org/jira/browse/GROOVY-10472 ] Paul King deleted comment on GROOVY-10472: was (Author: paulk): Proposed PR merged. If you can check whether the snapshot builds work for your real-life example, that would be great. > @AutoImplement is failing when covariant returns are involved > - > > Key: GROOVY-10472 > URL: https://issues.apache.org/jira/browse/GROOVY-10472 > Project: Groovy > Issue Type: Bug > Components: Compiler >Reporter: Phaninra >Assignee: Paul King >Priority: Major > Fix For: 3.0.10, 4.0.1 > > Time Spent: 20m > Remaining Estimate: 0h > > {code:java} > @AutoImplement{code} > is failing when (Java) covariant returns are involved. > > Copy the following into GroovyConsole and hit run to reproduce the error. > {code:java} > import groovy.transform.* > @CompileStatic > interface Super { > Iterable findAll() > } > @CompileStatic > interface Sub extends Super { > List findAll() // a List instead of an Iterable > } > @AutoImplement > @CompileStatic > class ThisClassFails implements Sub{} {code} > > Error will look like > {code:java} > 1 compilation error: > The return type of java.lang.Iterable findAll() in ThisClassFails is > incompatible with java.util.List in Sub > . At [14:1] at line: 14, column: 1 {code} > > Refs: > - Real life example: > [https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html] > Look at all variations of `findAll` methods in that interface and super - > some use Iterable and some use List. > - Covariant return type : [https://www.javatpoint.com/covariant-return-type] > > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GROOVY-10472) @AutoImplement is failing when covariant returns are involved
[ https://issues.apache.org/jira/browse/GROOVY-10472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-10472. Fix Version/s: 3.0.10 4.0.1 Assignee: Paul King Resolution: Fixed Proposed PR merged. If you can check whether the snapshot builds work for your real-life example, that would be great. > @AutoImplement is failing when covariant returns are involved > - > > Key: GROOVY-10472 > URL: https://issues.apache.org/jira/browse/GROOVY-10472 > Project: Groovy > Issue Type: Bug > Components: Compiler >Reporter: Phaninra >Assignee: Paul King >Priority: Major > Fix For: 3.0.10, 4.0.1 > > Time Spent: 20m > Remaining Estimate: 0h > > {code:java} > @AutoImplement{code} > is failing when (Java) covariant returns are involved. > > Copy the following into GroovyConsole and hit run to reproduce the error. > {code:java} > import groovy.transform.* > @CompileStatic > interface Super { > Iterable findAll() > } > @CompileStatic > interface Sub extends Super { > List findAll() // a List instead of an Iterable > } > @AutoImplement > @CompileStatic > class ThisClassFails implements Sub{} {code} > > Error will look like > {code:java} > 1 compilation error: > The return type of java.lang.Iterable findAll() in ThisClassFails is > incompatible with java.util.List in Sub > . At [14:1] at line: 14, column: 1 {code} > > Refs: > - Real life example: > [https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html] > Look at all variations of `findAll` methods in that interface and super - > some use Iterable and some use List. > - Covariant return type : [https://www.javatpoint.com/covariant-return-type] > > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[GitHub] [groovy] asfgit merged pull request #1684: GROOVY-10472: @AutoImplement is failing when covariant returns are in…
asfgit merged pull request #1684: URL: https://github.com/apache/groovy/pull/1684 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@groovy.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [groovy] paulk-asert commented on pull request #1683: Add support for Java 15 target
paulk-asert commented on pull request #1683: URL: https://github.com/apache/groovy/pull/1683#issuecomment-1038730513 Merged, thanks! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@groovy.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [groovy] paulk-asert merged pull request #1683: Add support for Java 15 target
paulk-asert merged pull request #1683: URL: https://github.com/apache/groovy/pull/1683 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@groovy.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Resolved] (GROOVY-10479) Disable Ant tests which don't fork under JDK18
[ https://issues.apache.org/jira/browse/GROOVY-10479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-10479. Fix Version/s: 4.0.1 Assignee: Paul King Resolution: Fixed > Disable Ant tests which don't fork under JDK18 > -- > > Key: GROOVY-10479 > URL: https://issues.apache.org/jira/browse/GROOVY-10479 > Project: Groovy > Issue Type: Task >Reporter: Paul King >Assignee: Paul King >Priority: Major > Fix For: 4.0.1 > > > Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is > being slowly phased out. This results in warnings on JDK17 and runtime > exceptions on JDK18. Groovy is already making progress on how to handle that > change in other areas. This issue is specifically to disable Ant tests on > JDK18 until such time as Ant itself no longer has the issue as per [Ant > bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. > If Ant fixes or implements its own workaround mechanism our goal would be to > re-enable the tests affected by this issue. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GROOVY-10479) Disable Ant tests which don't fork under JDK18
[ https://issues.apache.org/jira/browse/GROOVY-10479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King updated GROOVY-10479: --- Description: Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is being slowly phased out. This results in warnings on JDK17 and runtime exceptions on JDK18. Groovy is already making progress on how to handle that change in other areas. This issue is specifically to disable Ant tests on JDK18 until such time as Ant itself no longer has the issue as per [Ant bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. If Ant fixes or implements its own workaround mechanism our goal would be to re-enable the tests affected by this issue. (was: Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is being slowly phased out. This results in warnings on JDK17 and runtime exceptions on JDK18. Groovy is already making progress on how to handle that change in other areas. This issue is specifically to disable Ant tests on JDK18 until such time as Ant itself no longer has the issue as per [Ant bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. If Ant fixes or implements a mechanism our goal would be to re-enable the tests affected by this issue.) > Disable Ant tests which don't fork under JDK18 > -- > > Key: GROOVY-10479 > URL: https://issues.apache.org/jira/browse/GROOVY-10479 > Project: Groovy > Issue Type: Task >Reporter: Paul King >Priority: Major > > Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is > being slowly phased out. This results in warnings on JDK17 and runtime > exceptions on JDK18. Groovy is already making progress on how to handle that > change in other areas. This issue is specifically to disable Ant tests on > JDK18 until such time as Ant itself no longer has the issue as per [Ant > bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. > If Ant fixes or implements its own workaround mechanism our goal would be to > re-enable the tests affected by this issue. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GROOVY-10479) Disable Ant tests which don't fork under JDK18
[ https://issues.apache.org/jira/browse/GROOVY-10479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King updated GROOVY-10479: --- Description: Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is being slowly phased out. This results in warnings on JDK17 and runtime exceptions on JDK18. Groovy is already making progress on how to handle that change in other areas. This issue is specifically to disable Ant tests on JDK18 until such time as Ant itself no longer has the issue as per [Ant bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. If Ant fixes or implements a mechanism our goal would be to re-enable the tests affected by this issue. (was: Due to [JEP-411|[https://openjdk.java.net/jeps/411],] the security manager is being slowly phased out. This results in warnings on JDK17 and runtime exceptions on JDK18. Groovy is already making progress on how to handle that change in other areas. This issue is specifically to disable Ant tests on JDK18 until such time as Ant itself no longer has the issue as per [Ant bugzilla issue 65381|[https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]]. If Ant fixes or implements a mechanism our goal would be to re-enable the tests affected by this issue.) > Disable Ant tests which don't fork under JDK18 > -- > > Key: GROOVY-10479 > URL: https://issues.apache.org/jira/browse/GROOVY-10479 > Project: Groovy > Issue Type: Task >Reporter: Paul King >Priority: Major > > Due to [JEP-411|https://openjdk.java.net/jeps/411], the security manager is > being slowly phased out. This results in warnings on JDK17 and runtime > exceptions on JDK18. Groovy is already making progress on how to handle that > change in other areas. This issue is specifically to disable Ant tests on > JDK18 until such time as Ant itself no longer has the issue as per [Ant > bugzilla issue 65381|https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]. > If Ant fixes or implements a mechanism our goal would be to re-enable the > tests affected by this issue. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Created] (GROOVY-10479) Disable Ant tests which don't fork under JDK18
Paul King created GROOVY-10479: -- Summary: Disable Ant tests which don't fork under JDK18 Key: GROOVY-10479 URL: https://issues.apache.org/jira/browse/GROOVY-10479 Project: Groovy Issue Type: Task Reporter: Paul King Due to [JEP-411|[https://openjdk.java.net/jeps/411],] the security manager is being slowly phased out. This results in warnings on JDK17 and runtime exceptions on JDK18. Groovy is already making progress on how to handle that change in other areas. This issue is specifically to disable Ant tests on JDK18 until such time as Ant itself no longer has the issue as per [Ant bugzilla issue 65381|[https://bz.apache.org/bugzilla/show_bug.cgi?id=65381]]. If Ant fixes or implements a mechanism our goal would be to re-enable the tests affected by this issue. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GROOVY-10475) Groovy console fails to launch if Jar built by Maven
[ https://issues.apache.org/jira/browse/GROOVY-10475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King closed GROOVY-10475. -- Resolution: Not A Problem Not an inconvenience at all. Thanks for raising the issue. I am sure others who are trying to do similar things in the future will appreciate knowing the solution you found. > Groovy console fails to launch if Jar built by Maven > > > Key: GROOVY-10475 > URL: https://issues.apache.org/jira/browse/GROOVY-10475 > Project: Groovy > Issue Type: Bug > Components: Groovy Console >Affects Versions: 3.0.9, 4.0.0 > Environment: Ubuntu 18.04/20.04, Debian 10 > OpenJDK 11.0.13 > Groovy 3.0.9/4.0.0 > Maven 3.6.0 >Reporter: Olga Lobanova >Priority: Major > Attachments: groovy-console-test.tgz > > > The same error like in GROOVY-8253 still exists for Groovy 3(or 4) and Java > 11 if Jar with main method is build by Maven. > Use to reproduce the attached project [^groovy-console-test.tgz] > Execute via: > {noformat} > mvn package > java -jar ./target/my-app-1.0-SNAPSHOT.jar > {noformat} > The exception stacktrace: > {noformat} > Exception in thread "main" groovy.lang.MissingMethodException: No signature > of method: javax.swing.JMenu.setMnemonic() is applicable for argument types: > (String) values: [F] > Possible solutions: setMnemonic(char), setMnemonic(int), getMnemonic() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72) > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:78) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:82) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194) > at > groovy.console.ui.view.BasicMenuBar$_run_closure1.doCall(BasicMenuBar.groovy:22) > at > groovy.console.ui.view.BasicMenuBar$_run_closure1.doCall(BasicMenuBar.groovy) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009) > at groovy.lang.Closure.call(Closure.java:418) > at groovy.lang.Closure.call(Closure.java:412) > at > groovy.util.FactoryBuilderSupport.dispatchNodeCall(FactoryBuilderSupport.java:892) > at > groovy.util.FactoryBuilderSupport.doInvokeMethod(FactoryBuilderSupport.java:784) > at > groovy.util.FactoryBuilderSupport.invokeMethod(FactoryBuilderSupport.java:503) > at > groovy.util.FactoryInterceptorMetaClass.invokeMethod(FactoryBuilderSupport.java:1342) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:75) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:50) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:85) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185) > at groovy.console.ui.view.BasicMenuBar.run(BasicMenuBar.groovy:21) > at > groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1174) > at > groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1157) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328) > at groovy.lang.MetaClassImpl.doInvokeMethod(MetaClassImpl.java:1369) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1103) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009) > at > org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:610) > at > org.codehaus.groovy.runtime.I
[jira] [Commented] (GROOVY-10475) Groovy console fails to launch if Jar built by Maven
[ https://issues.apache.org/jira/browse/GROOVY-10475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491736#comment-17491736 ] Olga Lobanova commented on GROOVY-10475: Hello [~paulk]. While researching how we can pre-merge extensions from modules via Maven, we found that the solution already exists, that is the {{GroovyResourceTransformer}}: https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#GroovyResourceTransformer If the shaded jar is built via maven-shade-plugin with GroovyResourceTransformer, then the {{META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule}} file lists extensions from all Groovy modules that are included in groovy-all. In this case the Groovy console starts and runs without errors. :) Thank you again for your help and sorry for the inconvenience. You can close this issue. Best regards, Olga > Groovy console fails to launch if Jar built by Maven > > > Key: GROOVY-10475 > URL: https://issues.apache.org/jira/browse/GROOVY-10475 > Project: Groovy > Issue Type: Bug > Components: Groovy Console >Affects Versions: 3.0.9, 4.0.0 > Environment: Ubuntu 18.04/20.04, Debian 10 > OpenJDK 11.0.13 > Groovy 3.0.9/4.0.0 > Maven 3.6.0 >Reporter: Olga Lobanova >Priority: Major > Attachments: groovy-console-test.tgz > > > The same error like in GROOVY-8253 still exists for Groovy 3(or 4) and Java > 11 if Jar with main method is build by Maven. > Use to reproduce the attached project [^groovy-console-test.tgz] > Execute via: > {noformat} > mvn package > java -jar ./target/my-app-1.0-SNAPSHOT.jar > {noformat} > The exception stacktrace: > {noformat} > Exception in thread "main" groovy.lang.MissingMethodException: No signature > of method: javax.swing.JMenu.setMnemonic() is applicable for argument types: > (String) values: [F] > Possible solutions: setMnemonic(char), setMnemonic(int), getMnemonic() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72) > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:78) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:82) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194) > at > groovy.console.ui.view.BasicMenuBar$_run_closure1.doCall(BasicMenuBar.groovy:22) > at > groovy.console.ui.view.BasicMenuBar$_run_closure1.doCall(BasicMenuBar.groovy) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009) > at groovy.lang.Closure.call(Closure.java:418) > at groovy.lang.Closure.call(Closure.java:412) > at > groovy.util.FactoryBuilderSupport.dispatchNodeCall(FactoryBuilderSupport.java:892) > at > groovy.util.FactoryBuilderSupport.doInvokeMethod(FactoryBuilderSupport.java:784) > at > groovy.util.FactoryBuilderSupport.invokeMethod(FactoryBuilderSupport.java:503) > at > groovy.util.FactoryInterceptorMetaClass.invokeMethod(FactoryBuilderSupport.java:1342) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:75) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:50) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:85) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185) > at groovy.console.ui.view.BasicMenuBar.run(BasicMenuBar.groovy:21) > at > groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1174) > at > groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1157) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/ja
[jira] [Comment Edited] (GROOVY-10478) Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.
[ https://issues.apache.org/jira/browse/GROOVY-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491699#comment-17491699 ] Eric Milles edited comment on GROOVY-10478 at 2/13/22, 8:47 PM: Are you able to track down the source of the method call or reference? Looks like maybe {{getTS_UPDATED}}. This is possibly related to GROOVY-10362 and GROOVY-9853. was (Author: emilles): Are you able to track down the source of the method call or reference? Looks like {{getTS_UPDATED}}. This is possibly related to GROOVY-10362 and GROOVY-9853. > Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface > method reference is in an indirect superinterface. > --- > > Key: GROOVY-10478 > URL: https://issues.apache.org/jira/browse/GROOVY-10478 > Project: Groovy > Issue Type: Bug > Components: bytecode >Affects Versions: 4.0.0 > Environment: os.name: Windows 10 > groovy.version: 4.0.0 > java.version: 11.0.13 > java.runtime.version: 11.0.13+8 > java.runtime.name: OpenJDK Runtime Environment > java.vendor.version: Temurin-11.0.13+8 > java.vm.version: 11.0.13+8 > java.vm.name: OpenJDK 64-Bit Server VM >Reporter: mgroovy >Priority: Major > > * Tried to execute my Groovy 3 to Groovy 4 performance degradation test case > (see GROOVY-10307) > * Code worked with Groovy 4.0.0-RC1, but Groovy 4.0.0 throws RTE: > {code:java} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface.{code} > * Standalone test to reproduce error upcoming > * The error occurs when trying to access a class that represents a concrete > database table, deriving from a shared database table base class with certain > shared properties/methods added through a hierarchy of Groovy traits, with > the properties/methods also occuring in interfaces implemented through said > traits > * The error only occurs if that class is @CompileStatic annotated > * The error reported seems to be non-deterministically picked from any of the > traits' properties/methods > * Full error: > {code} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface. > Exception Details: > Location: > > schema/tables/entities/variation/editor/FOO_Table.schema_tables_CreatedUpdatedColumnsTabletrait$super$getTS_UPDATED()Lgroovysql/sql/column/Column; > @38: invokespecial > Reason: > Error exists in the bytecode > Bytecode: > 000: 2ac1 01d2 9900 212a ba01 d500 00b9 01d9 > 010: 0100 1303 3403 bd01 9eb8 01e0 ba01 e300 > 020: 00b0 bf2a b703 38b0 > Stackmap Table: > full_frame(@34,{},{Object[#487]}) > append_frame(@37,Object[#2]) > {code} > * Stacktrace starting with JUnit 5 test invocation: > {code} > at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) > at > java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) > at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357) > at > org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:69) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at org.codehaus.groovy.vmplugin.v8.Java8.doPrivileged(Java8.java:628) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) > at > org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:50) > at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) > at > org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:232) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:242) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:166) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:156) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:139) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314) > at > org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.getMetaClass(Selector.java:575) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSit
[jira] [Comment Edited] (GROOVY-10478) Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.
[ https://issues.apache.org/jira/browse/GROOVY-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491699#comment-17491699 ] Eric Milles edited comment on GROOVY-10478 at 2/13/22, 8:46 PM: Are you able to track down the source of the method call or reference? Looks like {{getTS_UPDATED}}. This is possibly related to GROOVY-10362 and GROOVY-9853. was (Author: emilles): Are you able to track down the source of the method call or reference? This is possibly related to GROOVY-10362 and GROOVY-9853. > Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface > method reference is in an indirect superinterface. > --- > > Key: GROOVY-10478 > URL: https://issues.apache.org/jira/browse/GROOVY-10478 > Project: Groovy > Issue Type: Bug > Components: bytecode >Affects Versions: 4.0.0 > Environment: os.name: Windows 10 > groovy.version: 4.0.0 > java.version: 11.0.13 > java.runtime.version: 11.0.13+8 > java.runtime.name: OpenJDK Runtime Environment > java.vendor.version: Temurin-11.0.13+8 > java.vm.version: 11.0.13+8 > java.vm.name: OpenJDK 64-Bit Server VM >Reporter: mgroovy >Priority: Major > > * Tried to execute my Groovy 3 to Groovy 4 performance degradation test case > (see GROOVY-10307) > * Code worked with Groovy 4.0.0-RC1, but Groovy 4.0.0 throws RTE: > {code:java} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface.{code} > * Standalone test to reproduce error upcoming > * The error occurs when trying to access a class that represents a concrete > database table, deriving from a shared database table base class with certain > shared properties/methods added through a hierarchy of Groovy traits, with > the properties/methods also occuring in interfaces implemented through said > traits > * The error only occurs if that class is @CompileStatic annotated > * The error reported seems to be non-deterministically picked from any of the > traits' properties/methods > * Full error: > {code} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface. > Exception Details: > Location: > > schema/tables/entities/variation/editor/FOO_Table.schema_tables_CreatedUpdatedColumnsTabletrait$super$getTS_UPDATED()Lgroovysql/sql/column/Column; > @38: invokespecial > Reason: > Error exists in the bytecode > Bytecode: > 000: 2ac1 01d2 9900 212a ba01 d500 00b9 01d9 > 010: 0100 1303 3403 bd01 9eb8 01e0 ba01 e300 > 020: 00b0 bf2a b703 38b0 > Stackmap Table: > full_frame(@34,{},{Object[#487]}) > append_frame(@37,Object[#2]) > {code} > * Stacktrace starting with JUnit 5 test invocation: > {code} > at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) > at > java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) > at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357) > at > org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:69) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at org.codehaus.groovy.vmplugin.v8.Java8.doPrivileged(Java8.java:628) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) > at > org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:50) > at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) > at > org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:232) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:242) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:166) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:156) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:139) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314) > at > org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.getMetaClass(Selector.java:575) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSiteTarget(Selector.java:1006) > at
[jira] [Commented] (GROOVY-10478) Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.
[ https://issues.apache.org/jira/browse/GROOVY-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17491699#comment-17491699 ] Eric Milles commented on GROOVY-10478: -- Are you able to track down the source of the method call or reference? This is possibly related to GROOVY-10362 and GROOVY-9853. > Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface > method reference is in an indirect superinterface. > --- > > Key: GROOVY-10478 > URL: https://issues.apache.org/jira/browse/GROOVY-10478 > Project: Groovy > Issue Type: Bug > Components: bytecode >Affects Versions: 4.0.0 > Environment: os.name: Windows 10 > groovy.version: 4.0.0 > java.version: 11.0.13 > java.runtime.version: 11.0.13+8 > java.runtime.name: OpenJDK Runtime Environment > java.vendor.version: Temurin-11.0.13+8 > java.vm.version: 11.0.13+8 > java.vm.name: OpenJDK 64-Bit Server VM >Reporter: mgroovy >Priority: Major > > * Tried to execute my Groovy 3 to Groovy 4 performance degradation test case > (see GROOVY-10307) > * Code worked with Groovy 4.0.0-RC1, but Groovy 4.0.0 throws RTE: > {code:java} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface.{code} > * Standalone test to reproduce error upcoming > * The error occurs when trying to access a class that represents a concrete > database table, deriving from a shared database table base class with certain > shared properties/methods added through a hierarchy of Groovy traits, with > the properties/methods also occuring in interfaces implemented through said > traits > * The error only occurs if that class is @CompileStatic annotated > * The error reported seems to be non-deterministically picked from any of the > traits' properties/methods > * Full error: > {code} > java.lang.VerifyError: Bad invokespecial instruction: interface method > reference is in an indirect superinterface. > Exception Details: > Location: > > schema/tables/entities/variation/editor/FOO_Table.schema_tables_CreatedUpdatedColumnsTabletrait$super$getTS_UPDATED()Lgroovysql/sql/column/Column; > @38: invokespecial > Reason: > Error exists in the bytecode > Bytecode: > 000: 2ac1 01d2 9900 212a ba01 d500 00b9 01d9 > 010: 0100 1303 3403 bd01 9eb8 01e0 ba01 e300 > 020: 00b0 bf2a b703 38b0 > Stackmap Table: > full_frame(@34,{},{Object[#487]}) > append_frame(@37,Object[#2]) > {code} > * Stacktrace starting with JUnit 5 test invocation: > {code} > at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) > at > java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) > at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357) > at > org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:69) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at org.codehaus.groovy.vmplugin.v8.Java8.doPrivileged(Java8.java:628) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) > at > org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) > at > org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:50) > at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) > at > org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:232) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:242) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:166) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:156) > at > groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:139) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271) > at > org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314) > at > org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.getMetaClass(Selector.java:575) > at > org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSiteTarget(Selector.java:1006) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fallback(IndyInterface.java:351) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.access$000(IndyInterface.java:49) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface$Fa
[jira] [Updated] (GROOVY-10478) Groovy4: java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.
[ https://issues.apache.org/jira/browse/GROOVY-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mgroovy updated GROOVY-10478: - Description: * Tried to execute my Groovy 3 to Groovy 4 performance degradation test case (see GROOVY-10307) * Code worked with Groovy 4.0.0-RC1, but Groovy 4.0.0 throws RTE: {code:java} java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.{code} * Standalone test to reproduce error upcoming * The error occurs when trying to access a class that represents a concrete database table, deriving from a shared database table base class with certain shared properties/methods added through a hierarchy of Groovy traits, with the properties/methods also occuring in interfaces implemented through said traits * The error only occurs if that class is @CompileStatic annotated * The error reported seems to be non-deterministically picked from any of the traits' properties/methods * Full error: {code} java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface. Exception Details: Location: schema/tables/entities/variation/editor/FOO_Table.schema_tables_CreatedUpdatedColumnsTabletrait$super$getTS_UPDATED()Lgroovysql/sql/column/Column; @38: invokespecial Reason: Error exists in the bytecode Bytecode: 000: 2ac1 01d2 9900 212a ba01 d500 00b9 01d9 010: 0100 1303 3403 bd01 9eb8 01e0 ba01 e300 020: 00b0 bf2a b703 38b0 Stackmap Table: full_frame(@34,{},{Object[#487]}) append_frame(@37,Object[#2]) {code} * Stacktrace starting with JUnit 5 test invocation: {code} at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357) at org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:69) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.codehaus.groovy.vmplugin.v8.Java8.doPrivileged(Java8.java:628) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:50) at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) at org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) at groovy.lang.MetaClassImpl.(MetaClassImpl.java:232) at groovy.lang.MetaClassImpl.(MetaClassImpl.java:242) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:166) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:156) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:139) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269) at org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.getMetaClass(Selector.java:575) at org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSiteTarget(Selector.java:1006) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fallback(IndyInterface.java:351) at org.codehaus.groovy.vmplugin.v8.IndyInterface.access$000(IndyInterface.java:49) at org.codehaus.groovy.vmplugin.v8.IndyInterface$FallbackSupplier.get(IndyInterface.java:281) at org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$1(IndyInterface.java:301) at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134) at org.codehaus.groovy.vmplugin.v8.CacheableCallSite.getAndPut(CacheableCallSite.java:61) at org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$2(IndyInterface.java:298) at org.codehaus.groovy.vmplugin.v8.IndyInterface.doWithCallSite(IndyInterface.java:367) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:295) at groovy.groovybugs.v4_0_0.Groovy_4_0_0.java-lang-VerifyError - Bad invokespecial instruction - interface method reference is in an indirect superinterface(Groovy_4_0_0.groovy:42) ... {code} was: * Tried to execute my Groovy 3 to Groovy 4 performance degradation test case (see GROOVY-10307) * Code worked with Groovy 4.0.0-RC1, but Groovy 4.0.0 throws RTE: {code:java} java.lang.VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface.{code} * T