Daniel Sun created GROOVY-10877:
-----------------------------------
Summary: Record with ThreadInterruptibleASTTransformation applied
fails to run
Key: GROOVY-10877
URL: https://issues.apache.org/jira/browse/GROOVY-10877
Project: Groovy
Issue Type: Bug
Reporter: Daniel Sun
{code:java}
@groovy.transform.ThreadInterrupt
record Point(int x, int y) {}
def p = new Point(1, 2)
assert 'Point[x=1, y=2]' == p.toString()
{code}
{code:java}
java.lang.ClassFormatError: StackMapTable format error: reserved frame type
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at
java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373)
at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2555)
at
org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:68)
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at
org.codehaus.groovy.reflection.CachedClass.doPrivileged(CachedClass.java:138)
at
org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:73)
at
org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:63)
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:262)
at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:233)
at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:243)
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$InitSelector.getMetaClass(Selector.java:404)
at
org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSiteTarget(Selector.java:1021)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fallback(IndyInterface.java:359)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface$FallbackSupplier.get(IndyInterface.java:282)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$1(IndyInterface.java:304)
at
org.codehaus.groovy.vmplugin.v8.CacheableCallSite.getAndPut(CacheableCallSite.java:70)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$2(IndyInterface.java:301)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.doWithCallSite(IndyInterface.java:375)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:298)
at ConsoleScript10.run(ConsoleScript10:4)
at
groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:287)
at groovy.lang.GroovyShell.run(GroovyShell.java:393)
at groovy.lang.GroovyShell.run(GroovyShell.java:372)
at groovy.lang.GroovyShell.run(GroovyShell.java:198)
at groovy.console.ui.Console$GroovySourceType.run(Console.groovy:1189)
at groovy.console.ui.Console.doRun(Console.groovy:1421)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
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:342)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at
groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy:1379)
at
groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
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:1010)
at groovy.lang.Closure.call(Closure.java:418)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.run(Closure.java:500)
at java.base/java.lang.Thread.run(Thread.java:833)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)