[ 
https://issues.apache.org/jira/browse/GROOVY-11580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935102#comment-17935102
 ] 

Richard Harker commented on GROOVY-11580:
-----------------------------------------

The workaround suggestion provided by Jochen of setting a compiler 
configuration that sets 'asmResolving' to false seems to have entirely solved 
the problems we were having.  We're now using a compiler configuration with 
this flag set to false for both our Groovy Script execution and the templating 
engine - and so far have not seen any of the stack overflow or hang issues in 
either instance, both in our groovy 3.0.23 or 4.0.26 setups. (Just to be clear 
on why we're running both 3.x and 4.x setups - we were intending to just use 
4.x but had previously temporarily tried downgrading to 3.x branch in a failed 
attempt to see if that avoided the issue.  Now we have this workaround, we'll 
now be moving out application fully to latest 4.0.26).

 

In the Groovy Shell instance, we're now creating a config like this:

{{CompilerConfiguration config = new 
CompilerConfiguration(CompilerConfiguration.DEFAULT);}}
{{Map<String, Boolean> optOptions = new 
HashMap(CompilerConfiguration.DEFAULT.getOptimizationOptions());}}
{{optOptions.put("asmResolving", false);}}
{{config.setOptimizationOptions(optOptions);}}
 
and passing in when we create the shell using the lines below depending on how 
we previously instanciated the shell:
{{GroovyShell shell = new GroovyShell(classLoader, config);}}
or 
{{GroovyShell shell = new GroovyShell(binding, config);}}

 

In the HTML Templating instance, we're now creating and setting a config like 
this:
 
{{templateEngine = new 
MarkupTemplateEngine(ScriptClassLoader.getDynamicImportClassLoader(),templateConfig,templateResolver);}}

{{//FIXME: Custom compiler config added for 
https://issues.apache.org/jira/browse/GROOVY-11580}}
{{//If that issue resolves to a good conclusion, hopefully can remove this.}}
{{LOG.debug("Setting template engine to use custom compiler configuration with 
asmResolving disabled");}}
{{CompilerConfiguration newConfig = new 
CompilerConfiguration(CompilerConfiguration.DEFAULT);}}
{{Map<String, Boolean> optOptions = new 
HashMap(CompilerConfiguration.DEFAULT.getOptimizationOptions());}}
{{optOptions.put("asmResolving", false);}}
{{newConfig.setOptimizationOptions(optOptions);}}
{{templateEngine.getCompilerConfiguration().setOptimizationOptions(optOptions);}}
 
 
Also to clarify on a potential underlying trigger for the issue - our Java 
library code does include some recursive use of generics, so this could be what 
is causing the problem.  For example, we have a number of classes which 
implement this interface:
 
{{public interface Field<I extends FieldInstance<? extends Field<I>>> extends 
NamedItemTree<Field<?>, FieldContainer<?>>, AnnotatedItem}}
 

We'll continue to use these workarounds and will update asap if we have any 
further occurrences of the issues now we're using these workarounds.

> Intermittent stack overflow exceptions and hangs
> ------------------------------------------------
>
>                 Key: GROOVY-11580
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11580
>             Project: Groovy
>          Issue Type: Bug
>          Components: parser, Templating
>    Affects Versions: 3.0.23, 4.0.26
>         Environment: Java: Just J OpenJDK JRE 21.0.5 
> (We use both Windows and Linux and see the issue on both platforms)
> Exact windows version of the JRE is: 
> org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.5.v20241023-1957
> OSGI libraries in use are:
> org.osgi.service.cm_1.6.1.202109301733.jar
> org.osgi.service.component_1.5.1.202212101352.jar
> org.osgi.service.device_1.1.1.202109301733.jar
> org.osgi.service.event_1.4.1.202109301733.jar
> org.osgi.service.http.whiteboard_1.1.1.202109301733.jar
> org.osgi.service.metatype_1.4.1.202109301733.jar
> org.osgi.service.prefs_1.1.2.202109301733.jar
> org.osgi.service.provisioning_1.2.0.201505202024.jar
> org.osgi.service.upnp_1.2.1.202109301733.jar
> org.osgi.service.useradmin_1.1.1.202109301733.jar
> org.osgi.service.wireadmin_1.0.2.202109301733.jar
> org.osgi.util.function_1.2.0.202109301733.jar
> org.osgi.util.measurement_1.0.2.201802012109.jar
> org.osgi.util.position_1.0.1.201505202026.jar
> org.osgi.util.promise_1.3.0.202212101352.jar
> org.osgi.util.xml_1.0.2.202109301733.jar
> Eclipse OSGI libraries in use are:
> org.eclipse.osgi.compatibility.state_1.2.1000.v20240213-1057.jar
> org.eclipse.osgi.services_3.12.100.v20240327-0645.jar
> org.eclipse.osgi.util_3.7.300.v20231104-1118.jar
> org.eclipse.osgi_3.21.0.v20240717-2103.jar
>            Reporter: Richard Harker
>            Priority: Major
>
> 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. In the "affected versions 
> above" I've listed 4.0.26 and 3.0.23 - it is not isolated to these versions 
> only, but these are the most recent versions of 4.x and 3.x that we've tried 
> - indeed we see the issue with all versions of 3.x and 4.x that we've tried.
> Note in the issue header, for the "components", I've listed "templating" and 
> "parser". I'm not 100% sure if that second one should be "parser" or 
> "compiler", but guesstimated "parser" based on the stack trace.
>  
> +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.+
> _This example is from Windows._
> !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 post 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:+
> _This example is from Linux._
> 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 post 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



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to