apache / apache/netbeans

Unexpected exception in org.netbeans.modules.parsing.spi.ParseException

Open
#4,000 1 comment 0 reactions 0 assignees View on GitHub
caused-by-plugin kind:bug needs:triage
Dominant language
Java
Stars
3.1k
Forks
935
Avg merge
2d 3h
Merged PRs (30d)
17

Description

### Apache NetBeans version

Apache NetBeans 13

### What happened

Unexpected exception was thrown when opening **xhtml** files for editing

### How to reproduce

i dont know, its random

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

No

### Operating System

Windows 10 64 bits

### JDK

Eclipse Adoptium jdk-18.0.0.36-hotspot 64bits

### Apache NetBeans packaging

Apache NetBeans provided installer

### Anything else

- Joinfaces Maven Project
- NB-SpringBoot Plugin installed : Version 3.0 (Oct 2019)
- StackTrace :
```
java.lang.NullPointerException: Cannot invoke "java.util.Collection.toArray()" because "c" is null
at java.base/java.util.ArrayList.(ArrayList.java:181)
at org.netbeans.modules.spring.beans.model.impl.SpringModelProviderImpl.getCachedNamedElements(SpringModelProviderImpl.java:126)
at org.netbeans.modules.spring.beans.model.impl.SpringModelProviderImpl.getBeans(SpringModelProviderImpl.java:65)
at org.netbeans.modules.spring.api.beans.model.SpringModel.getBeans(SpringModel.java:43)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver$2.run(SpringBeansELVariableResolver.java:161)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver$2.run(SpringBeansELVariableResolver.java:156)
at org.netbeans.modules.spring.beans.model.impl.SpringModelImplementation$1.call(SpringModelImplementation.java:47)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.runCallable(AnnotationModelHelper.java:231)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.access$100(AnnotationModelHelper.java:54)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper$2.run(AnnotationModelHelper.java:159)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper$2.run(AnnotationModelHelper.java:156)
at org.netbeans.modules.java.source.parsing.MimeTask.run(MimeTask.java:60)
at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:363)
at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:346)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:317)
at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:433)
at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:425)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.runJavaSourceTask(AnnotationModelHelper.java:156)
at org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.runJavaSourceTask(AnnotationModelHelper.java:124)
at org.netbeans.modules.spring.beans.model.impl.SpringModelImplementation.runReadAction(SpringModelImplementation.java:43)
at org.netbeans.modules.j2ee.metadata.model.api.MetadataModel.runReadAction(MetadataModel.java:97)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver.getAnnotatedBeans(SpringBeansELVariableResolver.java:156)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver.getBeansFromScope(SpringBeansELVariableResolver.java:136)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver.getSpringBeans(SpringBeansELVariableResolver.java:111)
at org.netbeans.modules.spring.webmvc.editor.SpringBeansELVariableResolver.getInjectableField(SpringBeansELVariableResolver.java:53)
at org.netbeans.modules.web.el.ELVariableResolvers$1.get(ELVariableResolvers.java:55)
at org.netbeans.modules.web.el.ELVariableResolvers$1.get(ELVariableResolvers.java:50)
at org.netbeans.modules.web.el.CompilationCache.getOrCache(CompilationCache.java:35)
at org.netbeans.modules.web.el.ELVariableResolvers.findBeanClass(ELVariableResolvers.java:48)
at org.netbeans.modules.web.el.ELTypeUtilities.getIdentifierType(ELTypeUtilities.java:590)
at org.netbeans.modules.web.el.ELTypeUtilities.access$100(ELTypeUtilities.java:72)
at org.netbeans.modules.web.el.ELTypeUtilities$TypeResolverVisitor.visit(ELTypeUtilities.java:851)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:222)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at org.netbeans.modules.web.el.ELTypeUtilities.resolveElement(ELTypeUtilities.java:168)
at org.netbeans.modules.web.el.ELTypeUtilities.resolveElement(ELTypeUtilities.java:157)
at org.netbeans.modules.web.el.hints.Identifiers$1.visit(Identifiers.java:97)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:222)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:225)
at org.netbeans.modules.web.el.hints.Identifiers.run(Identifiers.java:83)
at org.netbeans.modules.web.el.hints.ELHintsProvider$1.run(ELHintsProvider.java:70)
at org.netbeans.modules.web.el.hints.ELHintsProvider$1.run(ELHintsProvider.java:62)
at org.netbeans.modules.java.source.parsing.MimeTask.run(MimeTask.java:60)
at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:363)
at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:346)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:317)
at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:433)
at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:425)
at org.netbeans.modules.web.el.hints.ELHintsProvider.computeHints(ELHintsProvider.java:62)
at org.netbeans.modules.csl.hints.infrastructure.HintsTask$1.run(HintsTask.java:114)
at org.netbeans.modules.csl.hints.infrastructure.HintsTask$1.run(HintsTask.java:76)
at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:132)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:116)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
Caused: org.netbeans.modules.parsing.spi.ParseException
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:186)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83)
[catch] at org.netbeans.modules.csl.hints.infrastructure.HintsTask.run(HintsTask.java:69)
at org.netbeans.modules.csl.hints.infrastructure.HintsTask.run(HintsTask.java:52)
at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561)
at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786)
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?

No

### Code of Conduct

Yes

Contributor guide

Open the contributing guide

Research direction

Start with org.netbeans.modules.spring.beans.model.impl.SpringModelProviderImpl.getCachedNamedElements at SpringModelProviderImpl.java:126, then follow the SpringBeansELVariableResolver path shown in the stack trace. Reproduce the exception while opening XHTML files, and confirm that the NullPointerException no longer becomes a ParseException during editing.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.