IDE throws NullPointerException from javac on opening file
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### 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](https://github.com/user-attachments/files/23852197/OBJExporter_2.zip)
### Are you willing to submit a pull request?
No
Contributor guide
Research direction
Reproduce the failure in the Tokonga project's Translators module by opening OBJExporter.java, using the attached IDE dump if needed. Start with the stack trace entries for org.netbeans.lib.nbjavac.services.NBAttr and JavacParser.moveToPhase, then compare the behavior while opening the file. Done means the file opens without the reported NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100