apache / netbeans

Apache NetBeans
https://netbeans.apache.org/
Apache License 2.0
2.62k stars 841 forks source link

AssertionError from javac.comp.Check.validateTypeAnnotation #4590

Open jglick opened 1 year ago

jglick commented 1 year ago

Apache NetBeans version

Apache NetBeans 15 release candidate

What happened

Whether in NB 14 or 15, if I open https://github.com/jenkinsci/workflow-job-plugin with a snapshot dependency on https://github.com/jenkinsci/jenkins from a common aggregator, I get an error from javac. (Stock, not nb-javac.)

java.lang.AssertionError
    at com.sun.tools.javac.util.Assert.error(Assert.java:155)
    at com.sun.tools.javac.util.Assert.checkNonNull(Assert.java:62)
    at com.sun.tools.javac.comp.Check.validateTypeAnnotation(Check.java:3088)
    at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitAnnotation(Attr.java:5567)
    at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2908)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
    at com.sun.tools.javac.tree.TreeScanner.visitModifiers(TreeScanner.java:382)
    at com.sun.tools.javac.tree.JCTree$JCModifiers.accept(JCTree.java:2937)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitClassDef(Attr.java:5650)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:819)
    at com.sun.tools.javac.comp.Attr.validateTypeAnnotations(Attr.java:5556)
    at com.sun.tools.javac.code.TypeAnnotations.lambda$validateTypeAnnotationsSignatures$1(TypeAnnotations.java:133)
    at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:201)
    at com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:145)
    at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:158)
    at com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1723)
    at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1044)
    at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:345)
[catch] at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:251)
    at …

Persists even after clearing NB cache. This is critical: WorkflowRun.java from this source root gets only basic syntax highlighting, no code completion, etc.

Elsewhere in the log I also see (possibly unrelated, I think from a jenkinsci/jenkins/test module):

java.lang.NullPointerException: Cannot read field "kind" because "sym" is null
    at com.sun.tools.javac.tree.TreeInfo.isStaticSym(TreeInfo.java:372)
    at com.sun.tools.javac.tree.TreeInfo.isStaticSelector(TreeInfo.java:358)
    at com.sun.tools.javac.comp.Resolve$MethodReferenceLookupHelper.unboundLookup(Resolve.java:3558)
    at com.sun.tools.javac.comp.Resolve.resolveMemberReference(Resolve.java:3112)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode$StructuralStuckChecker.visitReference(DeferredAttr.java:933)
    at com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:2531)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode$StructuralStuckChecker.check(DeferredAttr.java:814)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.process(DeferredAttr.java:761)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.complete(DeferredAttr.java:608)
    at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:215)
    at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:621)
    at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1582)
    at com.sun.tools.javac.comp.Resolve.findMethodInScope(Resolve.java:1788)
    at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1859)
    at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1832)
    at com.sun.tools.javac.comp.Resolve$12.doLookup(Resolve.java:2751)
    at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3468)
    at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3718)
    at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2748)
    at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2742)
    at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:4419)
    at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:4295)
    at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2450)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:2573)
    at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1797)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredType.complete(DeferredAttr.java:320)
    at com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.complete(ArgumentAttr.java:363)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:359)
    at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:343)
    at com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1076)
    at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:903)
    at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:791)
    at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:912)
    at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:634)
    at com.sun.tools.javac.comp.Resolve.checkMethod(Resolve.java:660)
    at com.sun.tools.javac.comp.Attr.checkMethod(Attr.java:4816)
    at com.sun.tools.javac.comp.Attr.checkIdInternal(Attr.java:4608)
    at com.sun.tools.javac.comp.AttrRecover.basicMethodInvocationRecovery(AttrRecover.java:223)
    at com.sun.tools.javac.comp.AttrRecover.recoverMethodInvocation(AttrRecover.java:213)
    at com.sun.tools.javac.comp.Attr.checkMethodIdInternal(Attr.java:4511)
    at com.sun.tools.javac.comp.Attr.checkId(Attr.java:4501)
    at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:4394)
    at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2450)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:2573)
    at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1797)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:730)
    at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:2280)
    at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1584)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:751)
    at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:770)
    at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1448)
    at org.netbeans.lib.nbjavac.services.NBAttr.visitBlock(NBAttr.java:78)
    at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1091)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:751)
    at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1238)
    at org.netbeans.lib.nbjavac.services.NBAttr.visitMethodDef(NBAttr.java:72)
    at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:921)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:751)
    at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5495)
    at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5386)
    at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5210)
    at com.sun.tools.javac.comp.Attr.attrib(Attr.java:5155)
    at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1317)
    at com.sun.tools.javac.api.JavacTaskImpl$1.process(JavacTaskImpl.java:409)
    at com.sun.tools.javac.api.JavacTaskImpl$Filter.run(JavacTaskImpl.java:523)
    at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:412)
[catch] at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:271)
    at …

Also:

java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.tree.JCTree.accept(com.sun.tools.javac.tree.JCTree$Visitor)" because "tree" is null
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:677)
    at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:723)
    at com.sun.tools.javac.comp.Attr.attribLazyConstantValue(Attr.java:862)
    at com.sun.tools.javac.code.Symbol$VarSymbol.lambda$setLazyConstValue$0(Symbol.java:1741)
    at com.sun.tools.javac.code.Symbol$VarSymbol.getConstValue(Symbol.java:1770)
Caused: java.lang.AssertionError
    at com.sun.tools.javac.code.Symbol$VarSymbol.getConstValue(Symbol.java:1772)
    at com.sun.tools.javac.jvm.ClassWriter.writeField(ClassWriter.java:961)
    at com.sun.tools.javac.jvm.ClassWriter.writeFields(ClassWriter.java:1467)
    at com.sun.tools.javac.jvm.ClassWriter.writeClassFile(ClassWriter.java:1582)
    at com.sun.tools.javac.jvm.ClassWriter.writeClass(ClassWriter.java:1505)
    at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:738)
    at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1617)
    at com.sun.tools.javac.api.JavacTaskImpl$2.process(JavacTaskImpl.java:475)
    at com.sun.tools.javac.api.JavacTaskImpl$Filter.run(JavacTaskImpl.java:523)
    at com.sun.tools.javac.api.JavacTaskImpl.generate(JavacTaskImpl.java:478)
    at org.netbeans.modules.java.source.indexing.VanillaCompileWorker$2.run(VanillaCompileWorker.java:355)
    at org.netbeans.modules.java.source.parsing.FileManagerTransaction.runConcurrent(FileManagerTransaction.java:180)
[catch] at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:342)
    at …

and

java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.code.Type.getThrownTypes()" because "tree.meth.type" is null
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply(Flow.java:1458)
    at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1797)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:444)
    at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:219)
    at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1584)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:444)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitBlock(Flow.java:1207)
    at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1091)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:444)
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitMethodDef(Flow.java:1173)
    at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:921)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:444)
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitClassDef(Flow.java:1136)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:819)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:444)
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1551)
    at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1541)
    at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:222)
    at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1377)
    at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1341)
    at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:404)
    at com.sun.tools.javac.api.JavacTaskImpl.generate(JavacTaskImpl.java:465)
    at org.netbeans.modules.java.source.indexing.VanillaCompileWorker$2.run(VanillaCompileWorker.java:355)
    at org.netbeans.modules.java.source.parsing.FileManagerTransaction.runConcurrent(FileManagerTransaction.java:180)
[catch] at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:342)
    at …

and probably others.

How to reproduce

No response

Did this work correctly in an earlier version?

No / Don't know

Operating System

Linux

JDK

17.0.4 for NB, 11.0.16 for project

Apache NetBeans packaging

Apache NetBeans Snap Package

Anything else

WorkflowRun_*.dump ``` ----- Classpath: --------------------------------------------- bootPath: nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.base/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.compiler/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.datatransfer/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.desktop/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.instrument/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.logging/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.management/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.management.rmi/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.naming/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.net.http/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.prefs/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.rmi/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.scripting/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.se/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.security.jgss/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.security.sasl/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.smartcardio/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.sql/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.sql.rowset/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.transaction.xa/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.xml/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/java.xml.crypto/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.accessibility/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.aot/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.attach/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.charsets/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.compiler/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.crypto.cryptoki/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.crypto.ec/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.dynalink/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.editpad/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.hotspot.agent/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.httpserver/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.ed/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.jvmstat/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.le/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.opt/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.vm.ci/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.vm.compiler/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.internal.vm.compiler.management/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jartool/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.javadoc/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jcmd/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jconsole/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jdeps/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jdi/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jdwp.agent/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jfr/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jlink/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jshell/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jsobject/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.jstatd/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.localedata/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.management/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.management.agent/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.management.jfr/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.naming.dns/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.naming.ldap/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.naming.rmi/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.net/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.pack/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.rmic/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.scripting.nashorn/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.scripting.nashorn.shell/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.sctp/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.security.auth/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.security.jgss/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.unsupported/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.unsupported.desktop/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.xml.dom/:nbjrt:file:/usr/lib/jvm/java-11-openjdk-amd64/!/modules/jdk.zipfs/ classPath: /home/jglick/.m2/repository/org/jenkins-ci/plugins/workflow/workflow-step-api/625.vd896b_f445a_f8/workflow-step-api-625.vd896b_f445a_f8.jar:/home/jglick/.m2/repository/org/jenkins-ci/plugins/workflow/workflow-api/1182.v41475e53ea_43/workflow-api-1182.v41475e53ea_43.jar:/home/jglick/.m2/repository/org/jenkins-ci/plugins/workflow/workflow-support/820.vd1a_6cc65ef33/workflow-support-820.vd1a_6cc65ef33.jar:/home/jglick/.m2/repository/io/jenkins/plugins/caffeine-api/2.9.3-65.v6a_47d0f4d1fe/caffeine-api-2.9.3-65.v6a_47d0f4d1fe.jar:/home/jglick/.m2/repository/com/github/ben-manes/caffeine/caffeine/2.9.3/caffeine-2.9.3.jar:/home/jglick/.m2/repository/org/jboss/marshalling/jboss-marshalling-river/2.0.12.Final/jboss-marshalling-river-2.0.12.Final.jar:/home/jglick/.m2/repository/org/jboss/marshalling/jboss-marshalling/2.0.12.Final/jboss-marshalling-2.0.12.Final.jar:/home/jglick/.m2/repository/org/jenkins-ci/main/jenkins-core/999999-SNAPSHOT/jenkins-core-999999-SNAPSHOT.jar:/home/jglick/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/home/jglick/.m2/repository/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar:/home/jglick/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar:/home/jglick/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/my/checkout/of/jenkinsci/workflow-job-plugin/master/target/classes sourcePath: /my/checkout/of/jenkinsci/workflow-job-plugin/master/src/main/java:/my/checkout/of/jenkinsci/workflow-job-plugin/master/target/generated-sources/localizer:/my/checkout/of/jenkinsci/workflow-job-plugin/master/src/main/webapp:/my/checkout/of/jenkinsci/workflow-job-plugin/master/src/main/resources ----- Original exception --------------------------------------------- java.lang.AssertionError at com.sun.tools.javac.util.Assert.error(Assert.java:155) at com.sun.tools.javac.util.Assert.checkNonNull(Assert.java:62) at com.sun.tools.javac.comp.Check.validateTypeAnnotation(Check.java:3088) at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitAnnotation(Attr.java:5567) at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2908) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitModifiers(TreeScanner.java:382) at com.sun.tools.javac.tree.JCTree$JCModifiers.accept(JCTree.java:2937) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitClassDef(Attr.java:5650) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:819) at com.sun.tools.javac.comp.Attr.validateTypeAnnotations(Attr.java:5556) at com.sun.tools.javac.code.TypeAnnotations.lambda$validateTypeAnnotationsSignatures$1(TypeAnnotations.java:133) at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:201) at com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:145) at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:158) at com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1723) at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1044) at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:345) at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:282) at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:747) at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:540) at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:141) at org.netbeans.modules.parsing.impl.TaskProcessor.callGetResult(TaskProcessor.java:608) at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:241) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:775) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702) at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033) ```

Are you willing to submit a pull request?

Yes

Code of Conduct

Yes

hoggatt commented 1 year ago

I have the exact same issue. It was working for my project, then suddenly, as I'm making development this issue started happening when I'm clean building the project using Maven.

mbien commented 3 months ago

the last exception trace is a symptom of https://github.com/apache/netbeans/pull/7153 and should be fixed in NB22

mbien commented 2 weeks ago

@jglick is this still a problem with current NB releases?

jglick commented 2 weeks ago

I have no idea offhand; I have become used to various assertion errors and runtime exceptions being thrown from javac code during classpath scanning, and do not pay much attention. I do not currently have any of these errors in my ~/snap/netbeans/current/var/log/messages.log* (running 22 from Snap) but I am also not currently working on a project laid out in the same arrangement. If you think some of the stack traces shown above might still be issues, and there is someone to work on them if so, I could try to recreate the conditions in the description.

mbien commented 2 weeks ago

@jglick since almost all NPEs within javac had to be also fixed within javac so far (except one instance I remember), the precondition of this would be to have some kind of reproducer.

I do also see some exceptions from time to time while typing and using auto completion on invalid code for example. But this rarely influences IDE functionality.

Since this issue here was filed against NB 15, I would be inclined to close it.

jglick commented 2 weeks ago

the precondition of this would be to have some kind of reproducer

Sure; if there were one, would somebody be able to do something about it? If so, I can spend the time creating reproducible instructions.

mbien commented 2 weeks ago

@jglick some javac bugs which the NB community found got indeed fixed, e.g https://github.com/apache/netbeans/issues/7397 or https://github.com/apache/netbeans/issues/6826

I let you decide if you think this is worth to hunt down or not.