[ 
https://issues.apache.org/jira/browse/NETBEANS-242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16310205#comment-16310205
 ] 

Jan Lahoda commented on NETBEANS-242:
-------------------------------------

FWIW, my take is that bugs that are NetBeans bugs (like this one) should be 
fixed in the same mode as any other NetBeans bug.

For javac/JDK problems, I'd say it is a combination of severity of the problem 
and the difficulty of the workaround. Simple workarounds inside the modules 
that integrate javac into the IDE are surely less troublesome than wide-spread 
workarounds that would require significant changes in the features. I think we 
should (try to) avoid the situation of having the code littered with too many 
workarounds. But there were multiple workarounds done already, to avoid too 
much trouble when using the vanilla javac. (Although I am e.g. less inclined to 
workaround problems that I know are fixed in the future JDK 10).


> NullPointerException at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker
> --------------------------------------------------------------------------------------
>
>                 Key: NETBEANS-242
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-242
>             Project: NetBeans
>          Issue Type: Bug
>          Components: java - Source
>         Environment: Product Version: Apache NetBeans IDE Dev (Build 
> incubator-netbeans-release-152-on-20171231)
> Java: 9.0.1; Java HotSpot(TM) 64-Bit Server VM 9.0.1+11
> Runtime: Java(TM) SE Runtime Environment 9.0.1+11
> System: Windows 10 version 10.0 running on amd64; Cp1252; en_CA (nb)
> User directory: C:\Users\Gili\AppData\Roaming\NetBeans\dev
> Cache directory: C:\Users\Gili\AppData\Local\NetBeans\Cache\dev
>            Reporter: Gili
>              Labels: javac
>         Attachments: Price.java
>
>
> I saved a Java file and got this exception:
> {code}
> java.lang.NullPointerException
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:492)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:507)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.resolveErrors(VanillaCompileWorker.java:517)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:485)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:507)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.resolveErrors(VanillaCompileWorker.java:517)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:485)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:507)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.resolveErrors(VanillaCompileWorker.java:518)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:485)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:507)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.resolveErrors(VanillaCompileWorker.java:518)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:485)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.error2Object(VanillaCompileWorker.java:507)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.visitMethod(VanillaCompileWorker.java:420)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.visitMethod(VanillaCompileWorker.java:380)
>       at 
> jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898)
>       at 
> jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.visitClass(VanillaCompileWorker.java:436)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker$3.visitClass(VanillaCompileWorker.java:380)
>       at 
> jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
>       at 
> jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
>       at 
> jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:144)
>       at 
> jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:591)
>       at 
> jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
>       at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker.dropMethodsAndErrors(VanillaCompileWorker.java:522)
> [catch] at 
> org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:283)
>       at 
> org.netbeans.modules.java.source.indexing.JavaCustomIndexer.index(JavaCustomIndexer.java:273)
>       at 
> org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$2.run(Indexable.java:138)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:275)
>       at 
> org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:136)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2750)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.access$800(RepositoryUpdater.java:2154)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2636)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2634)
>       at 
> org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:540)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2634)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.call(RepositoryUpdater.java:3300)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.call(RepositoryUpdater.java:3255)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$4.run(RepositoryUpdater.java:2127)
>       at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2123)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2104)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1500(RepositoryUpdater.java:136)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.scanFiles(RepositoryUpdater.java:3255)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$FileListWork.getDone(RepositoryUpdater.java:3785)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3420)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6183)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$4300(RepositoryUpdater.java:5834)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2$1.run(RepositoryUpdater.java:6099)
>       at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279)
>       at 
> org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6095)
>       at 
> org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6091)
>       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.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:6091)
>       at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
>       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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to