netbeans icon indicating copy to clipboard operation
netbeans copied to clipboard

AssertionError from javac.comp.Check.validateTypeAnnotation

Open jglick opened this issue 3 years ago • 2 comments

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
<as in https://raw.githubusercontent.com/jenkinsci/workflow-job-plugin/5a4c994312f1ee232c4c1d6349c39afae14bd337/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java>
----- 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

jglick avatar Sep 06 '22 19:09 jglick

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.

hoggatt avatar Apr 05 '23 17:04 hoggatt

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

mbien avatar May 25 '24 09:05 mbien

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

mbien avatar Aug 05 '24 17:08 mbien

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.

jglick avatar Aug 05 '24 17:08 jglick

@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.

mbien avatar Aug 05 '24 18:08 mbien

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.

jglick avatar Aug 05 '24 19:08 jglick

@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.

mbien avatar Aug 05 '24 19:08 mbien

Closing, please open a new issue if there is are reproducibe issues.

matthiasblaesing avatar Aug 15 '25 20:08 matthiasblaesing