Hi Tommy

Thank you for the response.  I understand your concerns and this is indeed a 
risk - though the issue is being seen in our application by us in our R&D team 
using Groovy scripts that we have created - not unknown scripts from random 
users. The issue occurs seemingly at random, and can occur when the application 
attempts to parse even very simple one-line scripts that do not appear to 
contain anything contentious.

Even if you disregard the part of the issue where I wrote about the user being 
able to run Groovy scripts, we still see the same intermittent issue when 
parsing our TPL files (and to be clear, this can be seen on a fresh start of 
the application, not having executed any Groovy scripts).

As suggested by Paul in the other response I'll raise it as a Jira ticket as 
soon as my Jira access is approved.

Best Regards,

Rich

From: Tommy <to...@natusoft.se>
Sent: 10 March 2025 10:27
To: users@groovy.apache.org
Subject: Re: Intermittent Groovy stack overflow exceptions and hangs

This part sounds potentially dangerous to me:


    We develop an OSGI Eclipse E4 based application which is written in a 
combination of Java and Groovy. The application makes use of Groovy templates 
dynamically loaded at runtime (to facilitate providing HTML reports) and 
provides provision for the user to provide Groovy scripts which are parsed and 
run by a GroovyShell at runtime.


Is this user provided Groovy shell code somehow isolated from application code 
? If not that sounds dangerous to me, and can cause unexpected side effects. Or 
are all users experienced developers with deep understanding of the 
application? Even if so I'm skeptical.

BR / Tommy

______________________
Tommy Svensson
to...@natusoft.se<https://mailto:to...@natusoft.se>
On 10 Mar 2025 at 08:59 +0100, Richard Harker 
<richard.har...@cytal.co.uk<mailto:richard.har...@cytal.co.uk>>, wrote:

Hi All.

We develop an OSGI Eclipse E4 based application which is written in a 
combination of Java and Groovy. The application makes use of Groovy templates 
dynamically loaded at runtime (to facilitate providing HTML reports) and 
provides provision for the user to provide Groovy scripts which are parsed and 
run by a GroovyShell at runtime.

For some time now we've been seeing issues with intermittent stack overflow 
exceptions and intermittent hangs - both when the application loads the Groovy 
templates and when the application compiles the Groovy scripts.

The stack overflow exceptions appear to be originating from Groovy and given 
the hangs appear to occur interchangeably for the stack overflow exceptions, 
our suspicion is that the hangs are potentially a different manifestation of 
the same underlying issue.

We've been using Groovy for some years, and when we were on Groovy 2.5.x did 
not see these issues at all. We see them on both Groovy 3.x and on 4.x, with 
them seemingly being more frequent on Groovy 4.x.

Has anyone else seen these types of issues? I've included two example stack 
traces below. I've truncated each stack trace in the middle of the repeating 
lines, so the email is not huge.



Example stack trace 1 - from when we saw the Stack Overflow Exception with 
latest Groovy (4.0.26), when the Groovy Shell parses a Groovy script.

!ENTRY com.protocrawler.jstdlib.core 4 0 2025-03-04 09:17:15.877
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.StackOverflowError
      at java.base/java.lang.String.startsWith(String.java:2327)
      at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:97)
      at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
      at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
      at 
java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:231)
      at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1445)
      at 
java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:724)
      at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:251)
      at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:180)
      at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:194)
      at 
org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:353)
      at 
org.eclipse.osgi.storage.bundlefile.ZipBundleFile.doOpen(ZipBundleFile.java:51)
      at 
org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.internalOpen(CloseableBundleFile.java:146)
      at 
org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.lockOpen(CloseableBundleFile.java:83)
      at 
org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.getEntry(CloseableBundleFile.java:285)
      at 
org.eclipse.osgi.storage.bundlefile.BundleFile.getResourceURL(BundleFile.java:147)
      at 
org.eclipse.osgi.internal.loader.classpath.ClasspathEntry.findResource(ClasspathEntry.java:228)
      at 
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalResourceImpl(ClasspathManager.java:462)
      at 
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalResourceImpl(ClasspathManager.java:441)
      at 
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalResource(ClasspathManager.java:412)
      at 
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalResource(ModuleClassLoader.java:340)
      at 
org.eclipse.osgi.internal.loader.BundleLoader.findLocalResource(BundleLoader.java:952)
      at 
org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.getResource(SingleSourcePackage.java:46)
      at 
org.eclipse.osgi.internal.loader.BundleLoader.findResource(BundleLoader.java:710)
      at 
org.eclipse.osgi.internal.loader.ModuleClassLoader.getResource(ModuleClassLoader.java:212)
      at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1413)
      at 
org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:252)
      at 
org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:193)
      at 
org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:175)
      at 
org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:129)
      at 
org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:57)
      at 
org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:44)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:113)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)

<<removed ~900 lines to make the email shorter>>

      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
      at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
      at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:111)
      at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:35)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:189)
      at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:148)
      at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:125)




Example 2 - The stack overflow seen with Groovy 3.0.23 when parsing one of our 
TPL template files:

OpenJDK 64-Bit Server VM warning: Potentially dangerous stack overflow in 
ReservedStackAccess annotated method 
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquireShared(I)I [1]
[ERROR] Unhandled HTML reporter exception
java.lang.IllegalStateException: Unexpected error loading template PacketTrace
     at 
com.protocrawler.jtf.reporting.testexecution.html.TemplateManagementService.<init>(TemplateManagementService.java:115)
     at 
com.protocrawler.jtf.reporting.testexecution.html.TemplateManagementService.getTemplateManagementService(TemplateManagementService.java:51)
     at 
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
     at 
com.protocrawler.jtf.reporting.testexecution.html.MultiFileTestExecutionHTMLReporter.initialSetup(MultiFileTestExecutionHTMLReporter.groovy:173)
     at 
com.protocrawler.pts.core.jtf.analysis.reporting.html.HTMLAnalysisReporter.super$2$initialSetup(HTMLAnalysisReporter.groovy)
     at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
     at java.base/java.lang.reflect.Method.invoke(Method.java:580)
     at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1254)
     at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
     at 
com.protocrawler.pts.core.jtf.analysis.reporting.html.HTMLAnalysisReporter.initialSetup(HTMLAnalysisReporter.groovy:94)
     at 
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
     at 
com.protocrawler.jtf.reporting.testexecution.html.MultiFileTestExecutionHTMLReporter.generateReport(MultiFileTestExecutionHTMLReporter.groovy:98)
     at 
com.protocrawler.jtf.reporting.testexecution.html.cmdln.HTMTestExecutionReport.performCommand(HTMTestExecutionReport.java:219)
     at 
com.protocrawler.jtf.reporting.testexecution.html.cmdln.HTMTestExecutionReport.performCommand(HTMTestExecutionReport.java:36)
     at 
com.protocrawler.jstdlib.emfcore.cmdline.EMFSettingsCommandLineCommand.performCommand(EMFSettingsCommandLineCommand.java:111)
     at 
com.protocrawler.jstdlib.applications.cmdln.DefaultEclipseRCPCommandLineApplication.start(DefaultEclipseRCPCommandLineApplication.java:126)
     at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
     at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
     at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
     at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
     at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
     at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
     at java.base/java.lang.reflect.Method.invoke(Method.java:580)
     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
     at org.eclipse.equinox.launcher.Main.run(Main.java:1481)
     at org.eclipse.equinox.launcher.Main.main(Main.java:1454)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: 
startup failed:
General error during canonicalization: Requesting upgrade to write lock.

java.lang.IllegalMonitorStateException: Requesting upgrade to write lock.
     at 
org.eclipse.osgi.container.ModuleDatabase.writeLock(ModuleDatabase.java:840)
     at 
org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:984)
     at 
org.eclipse.osgi.container.ModuleContainer.resolveDynamic(ModuleContainer.java:835)
     at 
org.eclipse.osgi.internal.loader.BundleLoader.findDynamicSource(BundleLoader.java:1269)
     at 
org.eclipse.osgi.internal.loader.BundleLoader.findResource(BundleLoader.java:729)
     at 
org.eclipse.osgi.internal.loader.ModuleClassLoader.getResource(ModuleClassLoader.java:212)
     at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1413)
     at 
org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:248)
     at 
org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)
     at 
org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169)
     at 
org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
     at 
org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:57)
     at 
org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:44)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:102)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)

<<removed ~900 lines to make the email shorter>>

     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:74)
     at 
org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:32)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:163)
     at 
org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getGenericsTypes(DecompiledClassNode.java:128)
     at 
org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:114)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
     at 
groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:240)
     at 
groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:124)

1 error

     at 
org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:292)
     at 
org.codehaus.groovy.control.ErrorCollector.addException(ErrorCollector.java:140)
     at 
org.codehaus.groovy.control.CompilationUnit$IPrimaryClassNodeOperation.doPhaseOperation(CompilationUnit.java:977)
     at 
org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:672)
     at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:636)
     at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:392)
     at 
groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:335)
     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:333)
     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:317)
     at 
groovy.text.markup.MarkupTemplateEngine$TemplateGroovyClassLoader.parseClass(MarkupTemplateEngine.java:256)
     at 
groovy.text.markup.MarkupTemplateEngine$MarkupTemplateMaker.<init>(MarkupTemplateEngine.java:229)
     at 
groovy.text.markup.MarkupTemplateEngine.createTemplate(MarkupTemplateEngine.java:174)
     at 
com.protocrawler.jtf.reporting.testexecution.html.TemplateManagementService.loadTemplate(TemplateManagementService.java:142)
     at 
com.protocrawler.jtf.reporting.testexecution.html.TemplateManagementService.getTemplateFromInfo(TemplateManagementService.java:175)
     at 
com.protocrawler.jtf.reporting.testexecution.html.TemplateManagementService.<init>(TemplateManagementService.java:111)
     ... 28 common frames omitted
Error occurred during execution: Unexpected error loading template PacketTrace

Does anyone have any suggestions of what the cause of these issues may be, or 
steps we could take to avoid the issues please?


If it's relevant here, the JRE we're currently using is Just J OpenJDK JRE 
21.0.5, though we've tried other versions of OpenJDK including 17.x and still 
see the same issues.

Best Regards,

Rich.

Reply via email to