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

Radoslav Ivanov updated GROOVY-9870:
------------------------------------
    Description: 
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, 
which is 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}
 

  was:
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}
 


> 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
>            Priority: Major
>
> 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, 
> which is 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)

Reply via email to