[ 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