[ 
https://issues.apache.org/jira/browse/GROOVY-9493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul King updated GROOVY-9493:
------------------------------
    Description: 
Since version 3.0.0, Groovy fails at running JSR 223 scripts under OpenJ9. The 
issue does not appear under OpenJDK.

 

The following is the result of the attempted evaluation of the script `1` under 
OpenJ9 12. The failure is reproducible with OpenJ9 11 and OpenJ9 14.

Inside  `GroovyScriptEngineImpl`, parameter `script` has value `"1"` (meaning a 
string of length 1 with the sole number 1 as content).

 

```

java.lang.NullPointerExceptionjava.lang.NullPointerException at 
groovy.lang.GroovyClassLoader$InnerLoader.setDefaultAssertionStatus(GroovyClassLoader.java:617)
 at 
java.base/java.lang.ClassLoader.initializeClassLoaderAssertStatus(ClassLoader.java:1990)
 at java.base/java.lang.ClassLoader.<init>(ClassLoader.java:344) at 
java.base/java.lang.ClassLoader.<init>(ClassLoader.java:284) at 
java.base/java.security.SecureClassLoader.<init>(SecureClassLoader.java:77) at 
java.base/java.net.URLClassLoader.<init>(URLClassLoader.java:232) at 
groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:158) at 
groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:147) at 
groovy.lang.GroovyClassLoader$InnerLoader.<init>(GroovyClassLoader.java:472) at 
groovy.lang.GroovyClassLoader.lambda$createCollector$4(GroovyClassLoader.java:671)
 at groovy.lang.GroovyClassLoader$$Lambda$397.00000000283EE5D0.run(Unknown 
Source) at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:678)
 at groovy.lang.GroovyClassLoader.createCollector(GroovyClassLoader.java:671) 
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:385) at 
groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332) 
at groovy.lang.GroovyClassLoader$$Lambda$345.00000000284B4BF0.provide(Unknown 
Source) at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
 at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
 at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330) at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314) at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:257) at 
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:336)
 at 
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:153)
 at 
java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
 at 
it.unibo.alchemist.loader.variables.JSR223Variable.getWith(JSR223Variable.kt:39)
 at it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:287) at 
it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:220) at 
it.unibo.alchemist.SimulationLauncher.launch(SimulationLauncher.kt:42) at 
it.unibo.alchemist.Launcher$DefaultImpls.invoke(Launcher.kt:20) at 
it.unibo.alchemist.SimulationLauncher.invoke(SimulationLauncher.kt:27) at 
it.unibo.alchemist.Alchemist.main(Alchemist.kt:115) at 
TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt:48) at 
TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt) at 
TestCLIKt.runCatchingExit(TestCLI.kt:38) at 
TestCLIKt.runWithOptions(TestCLI.kt:47) at 
TestCLI$1$2.invokeSuspend(TestCLI.kt:69) at TestCLI$1$2.invoke(TestCLI.kt) at 
io.kotlintest.runner.jvm.TestCaseExecutor$executeTest$supervisorJob$1$invokeSuspend$$inlined$map$lambda$1.invokeSuspend(TestCaseExecutor.kt:121)
 at 
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:831)

```

  was:
Since version 3.0.0, Groovy fails at running JSR 233 scripts under OpenJ9. The 
issue does not appear under OpenJDK.

 

The following is the result of the attempted evaluation of the script `1` under 
OpenJ9 12. The failure is reproducible with OpenJ9 11 and OpenJ9 14.

Inside  `GroovyScriptEngineImpl`, parameter `script` has value `"1"` (meaning a 
string of length 1 with the sole number 1 as content).

 

```

java.lang.NullPointerExceptionjava.lang.NullPointerException at 
groovy.lang.GroovyClassLoader$InnerLoader.setDefaultAssertionStatus(GroovyClassLoader.java:617)
 at 
java.base/java.lang.ClassLoader.initializeClassLoaderAssertStatus(ClassLoader.java:1990)
 at java.base/java.lang.ClassLoader.<init>(ClassLoader.java:344) at 
java.base/java.lang.ClassLoader.<init>(ClassLoader.java:284) at 
java.base/java.security.SecureClassLoader.<init>(SecureClassLoader.java:77) at 
java.base/java.net.URLClassLoader.<init>(URLClassLoader.java:232) at 
groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:158) at 
groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:147) at 
groovy.lang.GroovyClassLoader$InnerLoader.<init>(GroovyClassLoader.java:472) at 
groovy.lang.GroovyClassLoader.lambda$createCollector$4(GroovyClassLoader.java:671)
 at groovy.lang.GroovyClassLoader$$Lambda$397.00000000283EE5D0.run(Unknown 
Source) at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:678)
 at groovy.lang.GroovyClassLoader.createCollector(GroovyClassLoader.java:671) 
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:385) at 
groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332) 
at groovy.lang.GroovyClassLoader$$Lambda$345.00000000284B4BF0.provide(Unknown 
Source) at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
 at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
 at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330) at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314) at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:257) at 
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:336)
 at 
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:153)
 at 
java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
 at 
it.unibo.alchemist.loader.variables.JSR223Variable.getWith(JSR223Variable.kt:39)
 at it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:287) at 
it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:220) at 
it.unibo.alchemist.SimulationLauncher.launch(SimulationLauncher.kt:42) at 
it.unibo.alchemist.Launcher$DefaultImpls.invoke(Launcher.kt:20) at 
it.unibo.alchemist.SimulationLauncher.invoke(SimulationLauncher.kt:27) at 
it.unibo.alchemist.Alchemist.main(Alchemist.kt:115) at 
TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt:48) at 
TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt) at 
TestCLIKt.runCatchingExit(TestCLI.kt:38) at 
TestCLIKt.runWithOptions(TestCLI.kt:47) at 
TestCLI$1$2.invokeSuspend(TestCLI.kt:69) at TestCLI$1$2.invoke(TestCLI.kt) at 
io.kotlintest.runner.jvm.TestCaseExecutor$executeTest$supervisorJob$1$invokeSuspend$$inlined$map$lambda$1.invokeSuspend(TestCaseExecutor.kt:121)
 at 
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:831)

```


> JSR 223 regression: not working under OpenJ9 since version 3.0.0
> ----------------------------------------------------------------
>
>                 Key: GROOVY-9493
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9493
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-jsr223
>    Affects Versions: 3.0.0, 3.0.1, 3.0.2
>            Reporter: Danilo Pianini
>            Priority: Major
>
> Since version 3.0.0, Groovy fails at running JSR 223 scripts under OpenJ9. 
> The issue does not appear under OpenJDK.
>  
> The following is the result of the attempted evaluation of the script `1` 
> under OpenJ9 12. The failure is reproducible with OpenJ9 11 and OpenJ9 14.
> Inside  `GroovyScriptEngineImpl`, parameter `script` has value `"1"` (meaning 
> a string of length 1 with the sole number 1 as content).
>  
> ```
> java.lang.NullPointerExceptionjava.lang.NullPointerException at 
> groovy.lang.GroovyClassLoader$InnerLoader.setDefaultAssertionStatus(GroovyClassLoader.java:617)
>  at 
> java.base/java.lang.ClassLoader.initializeClassLoaderAssertStatus(ClassLoader.java:1990)
>  at java.base/java.lang.ClassLoader.<init>(ClassLoader.java:344) at 
> java.base/java.lang.ClassLoader.<init>(ClassLoader.java:284) at 
> java.base/java.security.SecureClassLoader.<init>(SecureClassLoader.java:77) 
> at java.base/java.net.URLClassLoader.<init>(URLClassLoader.java:232) at 
> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:158) at 
> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:147) at 
> groovy.lang.GroovyClassLoader$InnerLoader.<init>(GroovyClassLoader.java:472) 
> at 
> groovy.lang.GroovyClassLoader.lambda$createCollector$4(GroovyClassLoader.java:671)
>  at groovy.lang.GroovyClassLoader$$Lambda$397.00000000283EE5D0.run(Unknown 
> Source) at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:678)
>  at groovy.lang.GroovyClassLoader.createCollector(GroovyClassLoader.java:671) 
> at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:385) at 
> groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332) 
> at groovy.lang.GroovyClassLoader$$Lambda$345.00000000284B4BF0.provide(Unknown 
> Source) at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
>  at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
>  at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330) at 
> groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314) at 
> groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:257) at 
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:336)
>  at 
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:153)
>  at 
> java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
>  at 
> it.unibo.alchemist.loader.variables.JSR223Variable.getWith(JSR223Variable.kt:39)
>  at it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:287) at 
> it.unibo.alchemist.loader.YamlLoader.<init>(YamlLoader.java:220) at 
> it.unibo.alchemist.SimulationLauncher.launch(SimulationLauncher.kt:42) at 
> it.unibo.alchemist.Launcher$DefaultImpls.invoke(Launcher.kt:20) at 
> it.unibo.alchemist.SimulationLauncher.invoke(SimulationLauncher.kt:27) at 
> it.unibo.alchemist.Alchemist.main(Alchemist.kt:115) at 
> TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt:48) at 
> TestCLIKt$runWithOptions$exit$1.invoke(TestCLI.kt) at 
> TestCLIKt.runCatchingExit(TestCLI.kt:38) at 
> TestCLIKt.runWithOptions(TestCLI.kt:47) at 
> TestCLI$1$2.invokeSuspend(TestCLI.kt:69) at TestCLI$1$2.invoke(TestCLI.kt) at 
> io.kotlintest.runner.jvm.TestCaseExecutor$executeTest$supervisorJob$1$invokeSuspend$$inlined$map$lambda$1.invokeSuspend(TestCaseExecutor.kt:121)
>  at 
> kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
>  at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  at java.base/java.lang.Thread.run(Thread.java:831)
> ```



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to