Skip to content

IDE throws NullPointerException from javac on opening file #9055

@makiam

Description

@makiam

Apache NetBeans version

Apache NetBeans 29 latest daily build

What happened

Opening some files in Java + Kotlin multi-module Gradle project throws NPE from nbjavac code:

Caused: java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.code.Symbol.flags()" because "sym" is null
	at com.sun.tools.javac.code.Types.memberType(Types.java:2304)
	at com.sun.tools.javac.comp.Attr.isBooleanOrNumeric(Attr.java:2141)
	at com.sun.tools.javac.comp.Attr.isBooleanOrNumeric(Attr.java:2130)
	at com.sun.tools.javac.comp.Attr.visitConditional(Attr.java:2068)
	at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1580)
	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.visitVarDef(Attr.java:1317)
	at org.netbeans.lib.nbjavac.services.NBAttr.visitVarDef(NBAttr.java:99)
	at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:1066)
	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:1463)
	at org.netbeans.lib.nbjavac.services.NBAttr.visitBlock(NBAttr.java:92)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1136)
	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:1244)
	at org.netbeans.lib.nbjavac.services.NBAttr.visitMethodDef(NBAttr.java:86)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:960)
	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:5664)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5550)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5365)
	at org.netbeans.lib.nbjavac.services.NBAttr.attribClass(NBAttr.java:74)
	at com.sun.tools.javac.comp.Attr.attrib(Attr.java:5302)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1346)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1319)
	at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:404)
	at com.sun.tools.javac.api.JavacTaskImpl.lambda$analyze$1(JavacTaskImpl.java:379)
	at com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
	at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:379)
Caused: java.lang.IllegalStateException
	at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:383)
	at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:765)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:536)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:140)
	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:288)
	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
[catch] 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:1403)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)

Language / Project Type / NetBeans Component

Java + Kotlin multi-module Gradle project

How to reproduce

Open GH project: https://github.com/makiam/Tokonga
Module: Translators
Open File OBJExporter.java

Did this work correctly in an earlier version?

No / Don't know

Operating System

Ubuntu and/or Windows

JDK

Java: 17.0.10; OpenJDK 64-Bit Server VM 17.0.10+13-LTS

Apache NetBeans packaging

Other

Anything else

IDE dump file
OBJExporter_2.zip

Are you willing to submit a pull request?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    Java[ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)kind:bugBug report or fixnb-javacRun nb-javac integration testsneeds:triageRequires attention from one of the committers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions