Unexpected exception in org.netbeans.modules.parsing.spi.ParseException
- 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
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