apache / netbeans

Apache NetBeans
https://netbeans.apache.org/
Apache License 2.0
2.69k stars 853 forks source link

UI not responding after program modification #6429

Open yuedaxia76 opened 1 year ago

yuedaxia76 commented 1 year ago

Apache NetBeans version

Apache NetBeans 19

What happened

My workspace is quite large, with 163 projects. After modifying the Java source code, Netbeans displayed "Check External Resources", causing the UI to almost stop responding. only netbeans 19 has this problem.

How to reproduce

modify java source file

Did this work correctly in an earlier version?

Apache NetBeans 17

Operating System

windows 10

JDK

17

Apache NetBeans packaging

Apache NetBeans binary zip

Anything else

No response

Are you willing to submit a pull request?

No

yuedaxia76 commented 1 year ago

图片

yuedaxia76 commented 1 year ago

Many operations can cause “background scanning project..” and then system is very slow.

neilcsmith-net commented 1 year ago

Check the location of the cache directory in Help / About. Close NetBeans, delete the cache directory, and restart. Does that help?

yuedaxia76 commented 1 year ago

Removing cache directory seems to have improved ,i found ,netbeans run: 名称: RepositoryUpdater.worker 状态: RUNNABLE 总阻止数: 965, 总等待数: 866

堆栈跟踪: java.base@17.0.7/java.io.WinNTFileSystem.list(Native Method) java.base@17.0.7/java.io.File.normalizedList(File.java:1176) java.base@17.0.7/java.io.File.listFiles(File.java:1269) org.netbeans.modules.java.source.parsing.FolderArchive.visit(FolderArchive.java:240) org.netbeans.modules.java.source.parsing.FolderArchive.getFiles(FolderArchive.java:130) org.netbeans.modules.java.source.parsing.CacheFolderArchive.getFiles(CacheFolderArchive.java:82) org.netbeans.modules.java.source.parsing.CachingFileManager.listImpl(CachingFileManager.java:283) org.netbeans.modules.java.source.parsing.CachingFileManager.list(CachingFileManager.java:115) org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFileManager.java:115) com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:748) com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:692) com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:563) com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:310) com.sun.tools.javac.code.ClassFinder$$Lambda$597/0x00000008017e86e8.complete(Unknown Source) org.netbeans.lib.nbjavac.services.NBClassFinder.lambda$getCompleter$1(NBClassFinder.java:95) org.netbeans.lib.nbjavac.services.NBClassFinder$$Lambda$601/0x00000008017d3770.complete(Unknown Source) com.sun.tools.javac.code.Symbol.complete(Symbol.java:682) com.sun.tools.javac.code.ClassFinder.completeOwners(ClassFinder.java:327) com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:295) com.sun.tools.javac.code.ClassFinder$$Lambda$597/0x00000008017e86e8.complete(Unknown Source) org.netbeans.lib.nbjavac.services.NBClassFinder.lambda$getCompleter$1(NBClassFinder.java:95) org.netbeans.lib.nbjavac.services.NBClassFinder$$Lambda$601/0x00000008017d3770.complete(Unknown Source) com.sun.tools.javac.code.Symbol.complete(Symbol.java:682) com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1410) com.sun.tools.javac.code.Symbol$ClassSymbol.members(Symbol.java:1336) com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.findAccessMethod(ClassReader.java:1934) com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompound(ClassReader.java:1925) com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompoundList(ClassReader.java:1914) com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.run(ClassReader.java:2133) com.sun.tools.javac.comp.Annotate.flush(Annotate.java:190) com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:143) com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:156) com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1787) com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1058) com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:345) org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:264) org.netbeans.modules.java.source.indexing.JavaCustomIndexer.index(JavaCustomIndexer.java:360) org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$2.run(Indexable.java:138) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:274) org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:136) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2749) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$index$0(RepositoryUpdater.java:2626) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$$Lambda$1158/0x0000000801c3f058.run(Unknown Source) org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:540) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2625) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$scanFiles$2(RepositoryUpdater.java:3332) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$$Lambda$1397/0x0000000801f1df78.call(Unknown Source) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.lambda$runInContext$4(RepositoryUpdater.java:2119) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$$Lambda$1141/0x0000000801bb2e70.run(Unknown Source) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2117) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2098) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1400(RepositoryUpdater.java:135) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.scanFiles(RepositoryUpdater.java:3290) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$FileListWork.getDone(RepositoryUpdater.java:3832) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3452) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6197) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$3400(RepositoryUpdater.java:5855) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.lambda$call$0(RepositoryUpdater.java:6116) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2$$Lambda$1115/0x0000000801887b88.run(Unknown Source) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6116) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6112) org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153) org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335) org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118) org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:6112) java.base@17.0.7/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) java.base@17.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264) app//org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1419) app//org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:287) app//org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2034)

yuedaxia76 commented 1 year ago

名称: RepositoryUpdater.worker 状态: RUNNABLE 总阻止数: 2,473, 总等待数: 843

堆栈跟踪: java.base@17.0.7/java.io.WinNTFileSystem.list(Native Method) java.base@17.0.7/java.io.File.normalizedList(File.java:1176) java.base@17.0.7/java.io.File.listFiles(File.java:1269) org.netbeans.modules.java.source.parsing.FolderArchive.visit(FolderArchive.java:240) org.netbeans.modules.java.source.parsing.FolderArchive.getFiles(FolderArchive.java:130) org.netbeans.modules.java.source.parsing.CacheFolderArchive.getFiles(CacheFolderArchive.java:82) org.netbeans.modules.java.source.parsing.CachingFileManager.listImpl(CachingFileManager.java:283) org.netbeans.modules.java.source.parsing.CachingFileManager.list(CachingFileManager.java:115) org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFileManager.java:115) com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:748) com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:692) com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:563) com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:310) com.sun.tools.javac.code.ClassFinder$$Lambda$597/0x00000008017e86e8.complete(Unknown Source) org.netbeans.lib.nbjavac.services.NBClassFinder.lambda$getCompleter$1(NBClassFinder.java:95) org.netbeans.lib.nbjavac.services.NBClassFinder$$Lambda$601/0x00000008017d3770.complete(Unknown Source) com.sun.tools.javac.code.Symbol.complete(Symbol.java:682) com.sun.tools.javac.code.ClassFinder.completeOwners(ClassFinder.java:327) com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:295) com.sun.tools.javac.code.ClassFinder$$Lambda$597/0x00000008017e86e8.complete(Unknown Source) org.netbeans.lib.nbjavac.services.NBClassFinder.lambda$getCompleter$1(NBClassFinder.java:95) org.netbeans.lib.nbjavac.services.NBClassFinder$$Lambda$601/0x00000008017d3770.complete(Unknown Source) com.sun.tools.javac.code.Symbol.complete(Symbol.java:682) com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1410) com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:1331) com.sun.tools.javac.code.Types$12.visitClassType(Types.java:2185) com.sun.tools.javac.code.Types$12.visitClassType(Types.java:2161) com.sun.tools.javac.code.Type$ClassType.accept(Type.java:1013) com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4896) com.sun.tools.javac.code.Types.asSuper(Types.java:2158) com.sun.tools.javac.code.Types$12.visitClassType(Types.java:2181) com.sun.tools.javac.code.Types$12.visitClassType(Types.java:2161) com.sun.tools.javac.code.Type$ClassType.accept(Type.java:1013) com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4896) com.sun.tools.javac.code.Types.asSuper(Types.java:2158) com.sun.tools.javac.code.Types$4.visitClassType(Types.java:1185) com.sun.tools.javac.code.Types$4.visitClassType(Types.java:1106) com.sun.tools.javac.code.Type$ClassType.accept(Type.java:1013) com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4896) com.sun.tools.javac.code.Types.isSubtype(Types.java:1102) com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal(Types.java:1028) com.sun.tools.javac.code.Types.isSubtypeUnchecked(Types.java:1014) com.sun.tools.javac.comp.Resolve$MethodCheckContext.compatible(Resolve.java:1034) com.sun.tools.javac.comp.Check.checkType(Check.java:623) com.sun.tools.javac.comp.Attr$ResultInfo.check(Attr.java:516) com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1081) com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:901) com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:789) com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:910) com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:632) com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1585) com.sun.tools.javac.comp.Resolve.findMethodInScope(Resolve.java:1791) com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1862) com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1835) com.sun.tools.javac.comp.Resolve.findConstructor(Resolve.java:2919) com.sun.tools.javac.comp.Resolve$14.doLookup(Resolve.java:2888) com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3479) com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3731) com.sun.tools.javac.comp.Resolve.resolveConstructor(Resolve.java:2885) com.sun.tools.javac.comp.Resolve.resolveConstructor(Resolve.java:2876) com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2861) com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1872) com.sun.tools.javac.comp.Attr.attribTree(Attr.java:663) com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:709) com.sun.tools.javac.comp.Attr.visitVarDef(Attr.java:1306) org.netbeans.lib.nbjavac.services.NBAttr.visitVarDef(NBAttr.java:97) com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:1018) com.sun.tools.javac.comp.Attr.attribTree(Attr.java:663) com.sun.tools.javac.comp.Attr.attribStat(Attr.java:737) com.sun.tools.javac.comp.Attr.attribStats(Attr.java:756) com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1440) org.netbeans.lib.nbjavac.services.NBAttr.visitBlock(NBAttr.java:90) com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1088) com.sun.tools.javac.comp.Attr.attribTree(Attr.java:663) com.sun.tools.javac.comp.Attr.attribStat(Attr.java:737) com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1230) org.netbeans.lib.nbjavac.services.NBAttr.visitMethodDef(NBAttr.java:84) com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:912) com.sun.tools.javac.comp.Attr.attribTree(Attr.java:663) com.sun.tools.javac.comp.Attr.attribStat(Attr.java:737) com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5592) com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5485) com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5309) org.netbeans.lib.nbjavac.services.NBAttr.attribClass(NBAttr.java:72) com.sun.tools.javac.comp.Attr.attrib(Attr.java:5248) com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1331) com.sun.tools.javac.api.JavacTaskImpl$1.process(JavacTaskImpl.java:409) com.sun.tools.javac.api.JavacTaskImpl$Filter.run(JavacTaskImpl.java:519) com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:412) org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:284) org.netbeans.modules.java.source.indexing.JavaCustomIndexer.index(JavaCustomIndexer.java:360) org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$2.run(Indexable.java:138) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:274) org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:136) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2749) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$index$0(RepositoryUpdater.java:2626) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$$Lambda$1158/0x0000000801c3f058.run(Unknown Source) org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:540) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2625) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$scanFiles$2(RepositoryUpdater.java:3332) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$$Lambda$1397/0x0000000801f1df78.call(Unknown Source) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.lambda$runInContext$4(RepositoryUpdater.java:2119) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$$Lambda$1141/0x0000000801bb2e70.run(Unknown Source) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2117) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2098) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1400(RepositoryUpdater.java:135) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.scanFiles(RepositoryUpdater.java:3290) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$FileListWork.getDone(RepositoryUpdater.java:3832) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3452) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6197) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$3400(RepositoryUpdater.java:5855) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.lambda$call$0(RepositoryUpdater.java:6116) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2$$Lambda$1115/0x0000000801887b88.run(Unknown Source) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6116) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6112) org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153) org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335) org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118) org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:6112) java.base@17.0.7/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) java.base@17.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264) app//org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1419) app//org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) app//org.openide.util.lookup.Lookups.executeWith(Lookups.java:287) app//org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2034)

mbien commented 1 year ago

if your system can't handle 160 projects, don't open so many projects. You can use project groups and switch between groups.