apache / apache/netbeans

Refactoring NPE `Cannot read field "flags" because "x0" is null`

Open
#5,838 0 comments 0 reactions 0 assignees View on GitHub
Java kind:bug
Dominant language
Java
Stars
3.1k
Forks
935
Avg merge
2d 3h
Merged PRs (30d)
17

Description

### Apache NetBeans version

Apache NetBeans 17

### What happened

Today when I go to run refactorings (tried both rename and inline) the refactoring dialog just claims there is an error. In the log:

```
java.lang.NullPointerException: Cannot read field "flags" because "x0" is null
at org.netbeans.modules.parsing.api.Source.access$300(Source.java:99)
at org.netbeans.modules.parsing.api.Source$MySourceAccessor.invalidate(Source.java:632)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:174)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:85)
at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:454)
at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:425)
at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java:686)
at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:323)
at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:264)
at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:246)
at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAddElements(JavaRefactoringPlugin.java:338)
at org.netbeans.modules.refactoring.java.plugins.InlineRefactoringPlugin.prepare(InlineRefactoringPlugin.java:103)
[catch] at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:417)
at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:401)
at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:212)
at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$12.run(ParametersPanel.java:654)
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:287)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
```

No other obviously related errors.

### How to reproduce

Unknown, but at least the problem should be caught and reported earlier in the call stack.

### Did this work correctly in an earlier version?

No / Don't know

### Operating System

(X)Ubuntu 22.04

### JDK

Java 17

### Apache NetBeans packaging

Apache NetBeans Snap Package

### Anything else

Find Usages is working normally.

### Are you willing to submit a pull request?

Yes

Contributor guide

Open the contributing guide

Research direction

Start with the reported stack trace in Source.java, TaskProcessor.java, JavaSource.java, and JavaRefactoringPlugin.java, then inspect InlineRefactoringPlugin.prepare. Try the rename and inline refactorings on the reported NetBeans 17 setup, noting that Find Usages works normally. Done means the null-pointer failure is caught and reported earlier rather than surfacing as the shown exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.