pmd
pmd copied to clipboard
[java] [7.0-rc1] Processing errors: Disambiguation pass should resolve everything except qualified ctor calls
Affects PMD Version: 7.0+
Description: The evaluation is successful but it reports,
> Task :caffeine:pmdMain
/Users/ben/projects/caffeine/caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedBuffer.java - ContextedRuntimeException: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
Exception Context:
[1:Resolving type of=!debug only! [ClassOrInterfaceType:164:56]PadWriteCounter]
---------------------------------
/Users/ben/projects/caffeine/caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedLocalCache.java - ContextedRuntimeException: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
Exception Context:
[1:Resolving type of=!debug only! [ClassOrInterfaceType:4598:48]PadDrainStatus]
---------------------------------
Exception Stacktrace:
BoundedBuffer
org.apache.commons.lang3.exception.ContextedRuntimeException: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
Exception Context:
[1:Resolving type of=!debug only! [ClassOrInterfaceType:164:56]PadWriteCounter]
---------------------------------
at net.sourceforge.pmd.util.AssertionUtil.contexted(AssertionUtil.java:232)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:54)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.getTypeMirror(ASTClassOrInterfaceType.java:34)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:39)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.getTypeMirror(ASTClassOrInterfaceType.java:34)
at net.sourceforge.pmd.lang.java.symbols.internal.ast.AstClassSym.getSuperclassType(AstClassSym.java:234)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.getSuperClass(ClassTypeImpl.java:290)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SuperTypesEnumerator$3.iterable(SuperTypesEnumerator.java:59)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.walkSelf(JavaResolvers.java:374)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.hidingWalkResolvers(JavaResolvers.java:344)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.inheritedMembersResolvers(JavaResolvers.java:316)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymTableFactory.typeBody(SymTableFactory.java:326)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:262)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:135)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visit(JavaVisitorBase.java:56)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration.acceptVisitor(ASTClassOrInterfaceDeclaration.java:38)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)
at net.sourceforge.pmd.lang.ast.AstVisitorBase.visitChildren(AstVisitorBase.java:31)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:275)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:135)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visit(JavaVisitorBase.java:56)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration.acceptVisitor(ASTClassOrInterfaceDeclaration.java:38)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)
at net.sourceforge.pmd.lang.ast.AstVisitorBase.visitChildren(AstVisitorBase.java:31)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visit(SymbolTableResolver.java:226)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visit(SymbolTableResolver.java:135)
at net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit.acceptVisitor(ASTCompilationUnit.java:71)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.traverse(SymbolTableResolver.java:161)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver.traverse(SymbolTableResolver.java:98)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.lambda$process$1(JavaAstProcessor.java:132)
at net.sourceforge.pmd.benchmark.TimeTracker.bench(TimeTracker.java:163)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:132)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:164)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:148)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:69)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25)
at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)
at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)
at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)
at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)
at net.sourceforge.pmd.lang.impl.MonoThreadProcessor.processFiles(MonoThreadProcessor.java:24)
at net.sourceforge.pmd.lang.impl.BatchLanguageProcessor.launchAnalysis(BatchLanguageProcessor.java:66)
at net.sourceforge.pmd.PmdAnalysis.performAnalysisImpl(PmdAnalysis.java:374)
at net.sourceforge.pmd.PmdAnalysis.performAnalysisImpl(PmdAnalysis.java:317)
at net.sourceforge.pmd.PmdAnalysis.performAnalysis(PmdAnalysis.java:297)
at net.sourceforge.pmd.ant.internal.PMDTaskImpl.doTask(PMDTaskImpl.java:127)
at net.sourceforge.pmd.ant.internal.PMDTaskImpl.execute(PMDTaskImpl.java:231)
at net.sourceforge.pmd.ant.PMDTask.execute(PMDTask.java:58)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at groovy.ant.AntBuilder.performTask(AntBuilder.java:343)
at groovy.ant.AntBuilder.nodeCompleted(AntBuilder.java:282)
at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:90)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:489)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:196)
at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:163)
at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.nodeCompleted(AntBuilderDelegate.java:124)
at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:160)
at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:74)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:44)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
at org.gradle.api.plugins.quality.internal.PmdInvoker.runPmd(PmdInvoker.groovy:119)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:1268)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:94)
at org.gradle.api.plugins.quality.internal.PmdInvoker.this$dist$invoke$1(PmdInvoker.groovy)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.methodMissing(PmdInvoker.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:953)
at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1347)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1270)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.create(PmdInvoker.groovy:55)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.create(PmdInvoker.groovy)
at org.gradle.internal.SystemProperties.withSystemProperty(SystemProperties.java:123)
at org.gradle.internal.SystemProperties$withSystemProperty.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:157)
at org.gradle.api.plugins.quality.internal.PmdInvoker.execute(PmdInvoker.groovy:52)
at org.gradle.api.plugins.quality.internal.PmdInvoker.execute(PmdInvoker.groovy)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.lambda$execute$2(DefaultIsolatedAntBuilder.java:158)
at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:135)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:141)
at org.gradle.api.plugins.quality.internal.AntWorkAction.execute(AntWorkAction.java:38)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:54)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:48)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:48)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:96)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:65)
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
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:829)
Caused by: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.getReferenceEnsureResolved(TypesFromAst.java:234)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.makeFromClassType(TypesFromAst.java:133)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.fromAstImpl(TypesFromAst.java:60)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.fromAst(TypesFromAst.java:53)
at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.buildTypeFromAstInternal(InternalApiBridge.java:208)
at net.sourceforge.pmd.lang.java.types.ast.LazyTypeResolver.visitType(LazyTypeResolver.java:173)
at net.sourceforge.pmd.lang.java.types.ast.LazyTypeResolver.visitType(LazyTypeResolver.java:94)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visitReferenceType(JavaVisitorBase.java:95)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visit(JavaVisitorBase.java:123)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.acceptVisitor(ASTClassOrInterfaceType.java:159)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51)
... 133 more
BoundedLocalCache
org.apache.commons.lang3.exception.ContextedRuntimeException: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
Exception Context:
[1:Resolving type of=!debug only! [ClassOrInterfaceType:4598:48]PadDrainStatus]
---------------------------------
at net.sourceforge.pmd.util.AssertionUtil.contexted(AssertionUtil.java:232)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:54)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.getTypeMirror(ASTClassOrInterfaceType.java:34)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:39)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.getTypeMirror(ASTClassOrInterfaceType.java:34)
at net.sourceforge.pmd.lang.java.symbols.internal.ast.AstClassSym.getSuperclassType(AstClassSym.java:234)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.getSuperClass(ClassTypeImpl.java:290)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SuperTypesEnumerator$3.iterable(SuperTypesEnumerator.java:59)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.walkSelf(JavaResolvers.java:374)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.hidingWalkResolvers(JavaResolvers.java:344)
at net.sourceforge.pmd.lang.java.symbols.table.internal.JavaResolvers.inheritedMembersResolvers(JavaResolvers.java:316)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymTableFactory.typeBody(SymTableFactory.java:326)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:262)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visitTypeDecl(SymbolTableResolver.java:135)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visit(JavaVisitorBase.java:56)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration.acceptVisitor(ASTClassOrInterfaceDeclaration.java:38)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)
at net.sourceforge.pmd.lang.ast.AstVisitorBase.visitChildren(AstVisitorBase.java:31)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visit(SymbolTableResolver.java:226)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.visit(SymbolTableResolver.java:135)
at net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit.acceptVisitor(ASTCompilationUnit.java:71)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver$MyVisitor.traverse(SymbolTableResolver.java:161)
at net.sourceforge.pmd.lang.java.symbols.table.internal.SymbolTableResolver.traverse(SymbolTableResolver.java:98)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.lambda$process$1(JavaAstProcessor.java:132)
at net.sourceforge.pmd.benchmark.TimeTracker.bench(TimeTracker.java:163)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:132)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:164)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:148)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:69)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25)
at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)
at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)
at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)
at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)
at net.sourceforge.pmd.lang.impl.MonoThreadProcessor.processFiles(MonoThreadProcessor.java:24)
at net.sourceforge.pmd.lang.impl.BatchLanguageProcessor.launchAnalysis(BatchLanguageProcessor.java:66)
at net.sourceforge.pmd.PmdAnalysis.performAnalysisImpl(PmdAnalysis.java:374)
at net.sourceforge.pmd.PmdAnalysis.performAnalysisImpl(PmdAnalysis.java:317)
at net.sourceforge.pmd.PmdAnalysis.performAnalysis(PmdAnalysis.java:297)
at net.sourceforge.pmd.ant.internal.PMDTaskImpl.doTask(PMDTaskImpl.java:127)
at net.sourceforge.pmd.ant.internal.PMDTaskImpl.execute(PMDTaskImpl.java:231)
at net.sourceforge.pmd.ant.PMDTask.execute(PMDTask.java:58)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at groovy.ant.AntBuilder.performTask(AntBuilder.java:343)
at groovy.ant.AntBuilder.nodeCompleted(AntBuilder.java:282)
at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:90)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:489)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:196)
at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:163)
at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.nodeCompleted(AntBuilderDelegate.java:124)
at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:160)
at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:74)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:44)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
at org.gradle.api.plugins.quality.internal.PmdInvoker.runPmd(PmdInvoker.groovy:119)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:1268)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:94)
at org.gradle.api.plugins.quality.internal.PmdInvoker.this$dist$invoke$1(PmdInvoker.groovy)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.methodMissing(PmdInvoker.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:953)
at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1347)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1270)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.create(PmdInvoker.groovy:55)
at org.gradle.api.plugins.quality.internal.PmdInvoker$1.create(PmdInvoker.groovy)
at org.gradle.internal.SystemProperties.withSystemProperty(SystemProperties.java:123)
at org.gradle.internal.SystemProperties$withSystemProperty.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:157)
at org.gradle.api.plugins.quality.internal.PmdInvoker.execute(PmdInvoker.groovy:52)
at org.gradle.api.plugins.quality.internal.PmdInvoker.execute(PmdInvoker.groovy)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.lambda$execute$2(DefaultIsolatedAntBuilder.java:158)
at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:135)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:141)
at org.gradle.api.plugins.quality.internal.AntWorkAction.execute(AntWorkAction.java:38)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:54)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:48)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:48)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:96)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:65)
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
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:829)
Caused by: java.lang.IllegalStateException: Disambiguation pass should resolve everything except qualified ctor calls
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.getReferenceEnsureResolved(TypesFromAst.java:234)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.makeFromClassType(TypesFromAst.java:133)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.fromAstImpl(TypesFromAst.java:60)
at net.sourceforge.pmd.lang.java.ast.TypesFromAst.fromAst(TypesFromAst.java:53)
at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.buildTypeFromAstInternal(InternalApiBridge.java:208)
at net.sourceforge.pmd.lang.java.types.ast.LazyTypeResolver.visitType(LazyTypeResolver.java:173)
at net.sourceforge.pmd.lang.java.types.ast.LazyTypeResolver.visitType(LazyTypeResolver.java:94)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visitReferenceType(JavaVisitorBase.java:95)
at net.sourceforge.pmd.lang.java.ast.JavaVisitorBase.visit(JavaVisitorBase.java:123)
at net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType.acceptVisitor(ASTClassOrInterfaceType.java:159)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51)
... 127 more
Steps to reproduce:
- Checkout Caffeine
- Run
./gradlew caffeine:cleanPmdMain caffeine:pmdMain -Dpmd --no-build-cache --console plain
Running PMD through: Gradle This requires workaround in https://github.com/gradle/gradle/issues/24502
Here's a fairly simple test case which reproduce this error:
package net.sourceforge.pmd.lang.java.ast;
import org.junit.jupiter.api.Test;
import net.sourceforge.pmd.lang.java.BaseParserTest;
public class AstGenericDeclarationTest extends BaseParserTest {
private final static String CODE =
"public class Foo extends FooParent implements KeyProvider<Foo.Bar> {"
+ " @Override"
+ " public Bar getKey() {"
+ " return Bar.A;"
+ " }"
+ " }"
+ " public class FooParent {"
+ " public enum Bar {"
+ " A, B, C"
+ " }"
+ " }"
+ " public interface KeyProvider<K> {"
+ " K getKey();"
+ " }";
@Test
void test() {
java.parse(CODE);
}
}
If the class declaration is changed to use the parent class insted to fetch the enum, then everything works just fine.
implements KeyProvider<FooParent.Bar>
Here is another example:
- PR: https://github.com/jenkinsci/warnings-ng-plugin/pull/1782
- Compile log: https://github.com/jenkinsci/warnings-ng-plugin/pull/1782/checks?check_run_id=27089938679
- Parsed Class: https://github.com/jenkinsci/warnings-ng-plugin/blob/2fcf545b501fe5cfbbb052db5ab22360a7046907/plugin/src/main/java/io/jenkins/plugins/analysis/warnings/DuplicateCodeScanner.java
I'm unsure if this is related or a different failure. I am starting to apply the rules to my test suite. The exception was captured in the html report.
/Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java
org.apache.commons.lang3.exception.ContextedRuntimeException: java.lang.IllegalArgumentException: cannot be a wildcard bound
Exception Context:
[1:Resolving type of=!debug only! [MethodCall:89:9]new MutableConfiguration()
.addCacheEntryListenerConfiguration(new MutableCacheEntryListenerConfiguration<>(
(truncated)]
[2:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:89:9]
[3:Resolving type of=!debug only! [MethodCall:89:9]new MutableConfiguration()
.addCacheEntryListenerConfiguration(new MutableCacheEntryListenerConfiguration<>(
(truncated)]
[4:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:89:9]
[5:Resolving type of=!debug only! [MethodCall:88:13]provider.getCacheManager().createCache("primary",
new MutableConfiguration()
.addCacheEntryListenerConf(truncated)]
[6:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:88:13]
---------------------------------
at net.sourceforge.pmd.util.AssertionUtil.contexted(AssertionUtil.java:236)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:54)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:68)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:26)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:303)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:214)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:68)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:26)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:303)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.BaseInvocMirror.getStandaloneCtdecl(BaseInvocMirror.java:74)
at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getStandaloneType(MethodInvocMirror.java:37)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:887)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:319)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:214)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:39)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22)
at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.lambda$forceTypeResolutionPhase$0(InternalApiBridge.java:92)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at net.sourceforge.pmd.lang.ast.internal.IteratorBasedNStream.forEach(IteratorBasedNStream.java:102)
at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.forceTypeResolutionPhase(InternalApiBridge.java:90)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.lambda$process$3(JavaAstProcessor.java:135)
at net.sourceforge.pmd.benchmark.TimeTracker.bench(TimeTracker.java:163)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:135)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:166)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:150)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:69)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25)
at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)
at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)
at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)
at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
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:829)
Caused by: java.lang.IllegalArgumentException: cannot be a wildcard bound
at net.sourceforge.pmd.lang.java.types.TypeSystem.wildcard(TypeSystem.java:648)
at net.sourceforge.pmd.lang.java.types.WildcardTypeImpl.subst(WildcardTypeImpl.java:36)
at net.sourceforge.pmd.lang.java.types.WildcardTypeImpl.subst(WildcardTypeImpl.java:17)
at net.sourceforge.pmd.lang.java.types.TypeOps.lambda$subst$0(TypeOps.java:950)
at net.sourceforge.pmd.lang.java.types.TypeOps.mapPreservingSelf(TypeOps.java:977)
at net.sourceforge.pmd.lang.java.types.TypeOps.subst(TypeOps.java:950)
at net.sourceforge.pmd.lang.java.types.JClassType.subst(JClassType.java:78)
at net.sourceforge.pmd.lang.java.types.JClassType.subst(JClassType.java:54)
at net.sourceforge.pmd.lang.java.types.TypeOps.lambda$subst$0(TypeOps.java:950)
at net.sourceforge.pmd.lang.java.types.TypeOps.mapPreservingSelf(TypeOps.java:977)
at net.sourceforge.pmd.lang.java.types.TypeOps.subst(TypeOps.java:950)
at net.sourceforge.pmd.lang.java.symbols.internal.asm.ExecutableStub.getFormalParameterTypes(ExecutableStub.java:101)
at net.sourceforge.pmd.lang.java.types.ClassMethodSigImpl.getFormalParameters(ClassMethodSigImpl.java:115)
at net.sourceforge.pmd.lang.java.types.ClassMethodSigImpl.subst(ClassMethodSigImpl.java:166)
at net.sourceforge.pmd.lang.java.types.internal.infer.InferenceContext.ground(InferenceContext.java:247)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.lambda$isLambdaCompatible$4(ExprCheckHelper.java:489)
at net.sourceforge.pmd.lang.java.types.internal.infer.InferenceContext.addInstantiationListener(InferenceContext.java:330)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isLambdaCompatible(ExprCheckHelper.java:484)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:135)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.determineInvocationTypeOrFail(Infer.java:275)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isInvocationCompatible(ExprCheckHelper.java:166)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:155)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateConstructor(Infer.java:447)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:395)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.determineInvocationTypeOrFail(Infer.java:275)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isInvocationCompatible(ExprCheckHelper.java:166)
at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:155)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:532)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:224)
at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103)
at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51)
... 63 more
As an update, I've been looking at this but don't have a fix yet. Fwiw this usually happens when you use wildcard imports for a type declared in the current file. If you instead use individual imports for those types, it should go away.
I'm unsure if this is related or a different failure. I am starting to apply the rules to my test suite. The exception was captured in the html report.
/Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java org.apache.commons.lang3.exception.ContextedRuntimeException: java.lang.IllegalArgumentException: cannot be a wildcard bound Exception Context: [1:Resolving type of=!debug only! [MethodCall:89:9]new MutableConfiguration() .addCacheEntryListenerConfiguration(new MutableCacheEntryListenerConfiguration<>( (truncated)] [2:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:89:9] [3:Resolving type of=!debug only! [MethodCall:89:9]new MutableConfiguration() .addCacheEntryListenerConfiguration(new MutableCacheEntryListenerConfiguration<>( (truncated)] [4:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:89:9] [5:Resolving type of=!debug only! [MethodCall:88:13]provider.getCacheManager().createCache("primary", new MutableConfiguration() .addCacheEntryListenerConf(truncated)] [6:Location=!debug only! /Users/ben/projects/caffeine/jcache/src/test/java/com/github/benmanes/caffeine/jcache/issues/Issue1065Test.java:88:13] --------------------------------- at net.sourceforge.pmd.util.AssertionUtil.contexted(AssertionUtil.java:236) at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:54) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:68) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:26) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:303) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:214) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71) at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:68) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getAccessibleCandidates(MethodInvocMirror.java:26) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:303) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.BaseInvocMirror.getStandaloneCtdecl(BaseInvocMirror.java:74) at net.sourceforge.pmd.lang.java.types.internal.infer.ast.MethodInvocMirror.getStandaloneType(MethodInvocMirror.java:37) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:887) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.computeCompileTimeDecl(Infer.java:319) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.getCompileTimeDecl(Infer.java:281) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:214) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71) at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22) at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:39) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.getTypeMirror(ASTMethodCall.java:22) at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.lambda$forceTypeResolutionPhase$0(InternalApiBridge.java:92) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at net.sourceforge.pmd.lang.ast.internal.IteratorBasedNStream.forEach(IteratorBasedNStream.java:102) at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.forceTypeResolutionPhase(InternalApiBridge.java:90) at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.lambda$process$3(JavaAstProcessor.java:135) at net.sourceforge.pmd.benchmark.TimeTracker.bench(TimeTracker.java:163) at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:135) at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:166) at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process(JavaAstProcessor.java:150) at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:69) at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25) at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36) at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112) at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132) at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 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:829) Caused by: java.lang.IllegalArgumentException: cannot be a wildcard bound at net.sourceforge.pmd.lang.java.types.TypeSystem.wildcard(TypeSystem.java:648) at net.sourceforge.pmd.lang.java.types.WildcardTypeImpl.subst(WildcardTypeImpl.java:36) at net.sourceforge.pmd.lang.java.types.WildcardTypeImpl.subst(WildcardTypeImpl.java:17) at net.sourceforge.pmd.lang.java.types.TypeOps.lambda$subst$0(TypeOps.java:950) at net.sourceforge.pmd.lang.java.types.TypeOps.mapPreservingSelf(TypeOps.java:977) at net.sourceforge.pmd.lang.java.types.TypeOps.subst(TypeOps.java:950) at net.sourceforge.pmd.lang.java.types.JClassType.subst(JClassType.java:78) at net.sourceforge.pmd.lang.java.types.JClassType.subst(JClassType.java:54) at net.sourceforge.pmd.lang.java.types.TypeOps.lambda$subst$0(TypeOps.java:950) at net.sourceforge.pmd.lang.java.types.TypeOps.mapPreservingSelf(TypeOps.java:977) at net.sourceforge.pmd.lang.java.types.TypeOps.subst(TypeOps.java:950) at net.sourceforge.pmd.lang.java.symbols.internal.asm.ExecutableStub.getFormalParameterTypes(ExecutableStub.java:101) at net.sourceforge.pmd.lang.java.types.ClassMethodSigImpl.getFormalParameters(ClassMethodSigImpl.java:115) at net.sourceforge.pmd.lang.java.types.ClassMethodSigImpl.subst(ClassMethodSigImpl.java:166) at net.sourceforge.pmd.lang.java.types.internal.infer.InferenceContext.ground(InferenceContext.java:247) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.lambda$isLambdaCompatible$4(ExprCheckHelper.java:489) at net.sourceforge.pmd.lang.java.types.internal.infer.InferenceContext.addInstantiationListener(InferenceContext.java:330) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isLambdaCompatible(ExprCheckHelper.java:484) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:135) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.determineInvocationTypeOrFail(Infer.java:275) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isInvocationCompatible(ExprCheckHelper.java:166) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:155) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateImpl(Infer.java:594) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:572) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateConstructor(Infer.java:447) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:395) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.determineInvocationTypeOrFail(Infer.java:275) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isInvocationCompatible(ExprCheckHelper.java:166) at net.sourceforge.pmd.lang.java.types.internal.infer.ExprCheckHelper.isCompatible(ExprCheckHelper.java:155) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addBoundOrDefer(Infer.java:941) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.addArgsConstraints(Infer.java:899) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMaybeNoInfer(Infer.java:532) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethod(Infer.java:416) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.instantiateMethodOrCtor(Infer.java:396) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.logInference(Infer.java:379) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.finishInstantiation(Infer.java:359) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.goToInvocationWithFallback(Infer.java:224) at net.sourceforge.pmd.lang.java.types.internal.infer.Infer.inferInvocationRecursively(Infer.java:176) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.inferInvocation(PolyResolution.java:263) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.polyTypeOtherCtx(PolyResolution.java:135) at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.computePolyType(PolyResolution.java:125) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.handlePoly(LazyTypeResolver.java:358) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:363) at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.visit(LazyTypeResolver.java:103) at net.sourceforge.pmd.lang.java.ast.ASTMethodCall.acceptVisitor(ASTMethodCall.java:71) at net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode.getTypeMirror(AbstractJavaTypeNode.java:51) ... 63 more
This looks like a different bug though