You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Radoslav Ivanov (Jira)" <ji...@apache.org> on 2020/12/22 04:49:00 UTC

[jira] [Created] (GROOVY-9870) java.lang.NoClassDefFoundError on Groovy 2.5.x

Radoslav Ivanov created GROOVY-9870:
---------------------------------------

             Summary: java.lang.NoClassDefFoundError on Groovy 2.5.x
                 Key: GROOVY-9870
                 URL: https://issues.apache.org/jira/browse/GROOVY-9870
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.5.6
            Reporter: Radoslav Ivanov


After upgrading Groovy runtime from 2.4.x to 2.5.x we started hitting issues with NoClassDefFoundError[1]. Still trying to isolate the scenario, because it is running on WildFly application platform with specific per module classloading. Basically we have JUnit class in "junit" module classloader depending on "hamcrest" module. A bit suspicious around the changes in "org.codehaus.groovy.control.ClassNodeResolver" and caching of the classes.

Details
1. NoClassDefFoundError 

 
{code:java}
Caused by: java.lang.NoClassDefFoundError: org.hamcrest.Matcher
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:46)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveNonArrayType(AsmReferenceResolver.java:79)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveType(AsmReferenceResolver.java:70)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.MemberSignatureParser.createMethodNode(MemberSignatureParser.java:49)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.DecompiledClassNode$2.get(DecompiledClassNode.java:234)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.DecompiledClassNode$2.get(DecompiledClassNode.java:231)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.DecompiledClassNode.createMethodNode(DecompiledClassNode.java:242)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitMembers(DecompiledClassNode.java:199)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getDeclaredMethods(DecompiledClassNode.java:122)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.ClassNode.getDeclaredMethods(ClassNode.java:897)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:912)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.findMethodsWithGenerated(StaticTypeCheckingVisitor.java:4368)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.findMethod(StaticTypeCheckingVisitor.java:4449)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3341)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:68)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitField(ClassCodeVisitorSupport.java:138)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitField(StaticTypeCheckingVisitor.java:1860)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1095)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:54)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClass(StaticTypeCheckingVisitor.java:401)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.StaticTypesTransformation.visit(StaticTypesTransformation.java:62)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:148)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:229)
	at org.codehaus.groovy@2.5.14//org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1084)
{code}
 



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