This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 247871 - NullPointerException when executing Ant script
Summary: NullPointerException when executing Ant script
Status: RESOLVED FIXED
Alias: None
Product: javascript
Classification: Unclassified
Component: Editor (show other bugs)
Version: 8.0.1
Hardware: PC Windows 8 x64
: P3 normal (vote)
Assignee: Petr Pisl
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-11 12:46 UTC by tonythebear
Modified: 2015-06-19 03:03 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tonythebear 2014-10-11 12:46:35 UTC
In the NetBeans Platform I have defined an Ant-based Project Type. When I launch the app (from the IDE) after a Clean & Build, select a suitable project and try to run my build.xml script an NPE occurs (see below).

Note the following:
1. The Ant script does still work - I see it's completion in the Output Window.
2. It only occurs the first time the Ant script is called after the NB platform app was Cleaned & Buil - subsequent calls give no error.
3. If I launch the app without doing Clean & Build before then no error occurs.
4. I can cancel the Exception dialog and continue with the app.

The statements leading up to the exception are:

switch (command) {
    case ActionProvider.COMMAND_BUILD:
        InputOutput io = IOProvider.getDefault().getIO("", false);
        io.select();
        io.closeInputOutput();
        FileObject buildImpl = helper.getProjectDirectory().getFileObject("build.xml");
        try {
             ActionUtils.runTarget(buildImpl, new String[]{"build"}, null);
        } catch (IOException ex) {
             //Exceptions.printStackTrace(ex);
        }
        break;


The exception log given in the app is:

java.lang.NullPointerException
	at org.netbeans.modules.javascript2.editor.jsdoc.JsDocParser.parse(JsDocParser.java:77)
	at org.netbeans.modules.javascript2.editor.jsdoc.JsDocDocumentationHolder.getCommentBlocks(JsDocDocumentationHolder.java:64)
	at org.netbeans.modules.javascript2.editor.doc.spi.JsDocumentationHolder.getDocumentation(JsDocumentationHolder.java:155)
	at org.netbeans.modules.javascript2.editor.model.impl.ModelVisitor.enter(ModelVisitor.java:729)
	at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:291)
	at org.netbeans.modules.javascript2.editor.model.Model.getModelVisitor(Model.java:156)
	at org.netbeans.modules.javascript2.editor.model.Model.getGlobalObject(Model.java:458)
	at org.netbeans.modules.javascript2.editor.index.JsIndexer.index(JsIndexer.java:105)
	at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$3.run(Indexable.java:248)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:283)
	at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:246)
[catch] at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$2.run(RepositoryUpdater.java:3076)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:598)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:155)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:139)
	at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:206)
	at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:203)
	at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:176)
	at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:360)
	at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:74)
	at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:203)
	at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:106)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.indexEmbedding(RepositoryUpdater.java:3017)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2756)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.access$1600(RepositoryUpdater.java:2091)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2539)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2537)
	at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:544)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2537)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSource(RepositoryUpdater.java:5353)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSources(RepositoryUpdater.java:5062)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.getDone(RepositoryUpdater.java:4717)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3267)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:5796)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$5300(RepositoryUpdater.java:5462)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$3$1.run(RepositoryUpdater.java:5721)
	at org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:96)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$3.call(RepositoryUpdater.java:5717)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$3.call(RepositoryUpdater.java:5713)
	at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:176)
	at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:360)
	at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:74)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:5713)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
Comment 1 Tomas Stupka 2015-06-11 13:57:33 UTC
please evaluate
Comment 2 Petr Pisl 2015-06-18 14:36:15 UTC
Fixed in web-main. But I can not understand, why is called the JsDocParser over java source file. In this case the TokenHierarchy will be null. Added check for TokenHierarchy. So the NPE should not happen, but in the same case I expect another exception from next feature. But I don't have a doubt, how to reproduce this.
Comment 3 Quality Engineering 2015-06-19 03:03:48 UTC
Integrated into 'main-silver', will be available in build *201506190001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/b3eba73f7e10
User: Petr Pisl <ppisl@netbeans.org>
Log: #247871 - NullPointerException when executing Ant script