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.
Summary: | Parser called from EDT | ||
---|---|---|---|
Product: | editor | Reporter: | Petr Hejl <phejl> |
Component: | CSL (API & infrastructure) | Assignee: | mslama <mslama> |
Status: | RESOLVED DUPLICATE | ||
Severity: | blocker | CC: | emononen, mfukala, rmatous, tmysik |
Priority: | P3 | ||
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 160727 |
Description
Petr Hejl
2009-03-25 11:11:19 UTC
Sample EDT stack (groovy): "AWT-EventQueue-1" prio=6 tid=0x02ec3000 nid=0x9c8 runnable [0x067dd000..0x067dfb14] java.lang.Thread.State: RUNNABLE at java.io.WinNTFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:691) at org.netbeans.modules.java.source.parsing.FolderArchive.getFiles(FolderArchive.java:104) at org.netbeans.modules.java.source.parsing.CachingFileManager.list(CachingFileManager.java:116) at org.netbeans.modules.java.source.parsing.OutputFileManager.list(OutputFileManager.java:105) at org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFileManager.java:174) at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2203) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1840) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:405) at com.sun.tools.javac.jvm.ClassReader.completeOwners(ClassReader.java:1852) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1831) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:405) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:800) at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2018) at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:870) at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1040) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:284) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:52) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:276) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:52) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:276) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:52) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:276) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:52) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:276) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:52) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:276) at com.sun.tools.javac.comp.Attr$IdentAttributer.visitMemberSelect(Attr.java:273) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1661) at com.sun.tools.javac.comp.Attr.attribIdent(Attr.java:269) at com.sun.tools.javac.main.JavaCompiler.resolveIdent(JavaCompiler.java:646) at com.sun.tools.javac.model.JavacElements.nameToSymbol(JavacElements.java:205) at com.sun.tools.javac.model.JavacElements.getTypeElement(JavacElements.java:152) at com.sun.tools.javac.model.JavacElements.getTypeElement(JavacElements.java:61) at org.netbeans.modules.groovy.editor.api.parser.NbCompilationUnit$NbCompileUnit$1.run(NbCompilationUnit.java:93) at org.netbeans.modules.groovy.editor.api.parser.NbCompilationUnit$NbCompileUnit$1.run(NbCompilationUnit.java:91) at org.netbeans.api.java.source.JavaSource$MimeTask.run(JavaSource.java:517) at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:214) at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:198) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:188) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:186) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:384) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:376) at org.netbeans.modules.groovy.editor.api.parser.NbCompilationUnit$NbCompileUnit.getClass(NbCompilationUnit.java:102) at org.codehaus.groovy.control.ResolveVisitor.resolveFromCompileUnit(ResolveVisitor.java:427) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:251) at org.codehaus.groovy.control.ResolveVisitor.resolveFromModule(ResolveVisitor.java:564) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:251) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:219) at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:203) at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:215) at org.codehaus.groovy.control.ResolveVisitor.transformConstructorCallExpression(ResolveVisitor.java:884) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:649) at org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression(TernaryExpression.java:47) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:654) at org.codehaus.groovy.control.ResolveVisitor.transformDeclarationExpression(ResolveVisitor.java:912) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:641) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:148) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:129) at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1021) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:52) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:84) at org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:129) at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1021) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:52) at org.codehaus.groovy.control.ResolveVisitor.transformClosureExpression(ResolveVisitor.java:877) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:647) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitField(ClassCodeExpressionTransformer.java:70) at org.codehaus.groovy.control.ResolveVisitor.visitField(ResolveVisitor.java:175) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:897) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:48) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1000) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141) at org.codehaus.groovy.control.CompilationUnit$5.call(CompilationUnit.java:527) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:772) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:438) at org.netbeans.modules.groovy.editor.api.parser.GroovyParser.parseBuffer(GroovyParser.java:477) at org.netbeans.modules.groovy.editor.api.parser.GroovyParser.parse(GroovyParser.java:141) at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:194) at org.netbeans.modules.parsing.api.ResultIterator.getParserResult(ResultIterator.java:128) at org.netbeans.modules.parsing.api.ResultIterator.getParserResult(ResultIterator.java:141) at org.netbeans.modules.csl.editor.codetemplates.GsfCodeTemplateFilter.run(GsfCodeTemplateFilter.java:117) at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:128) at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:112) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:188) at org.netbeans.modules.parsing.impl.TaskProcessor.runWhenScanFinished(TaskProcessor.java:244) at org.netbeans.modules.parsing.api.ParserManager.parseWhenScanFinished(ParserManager.java:105) at org.netbeans.modules.csl.editor.codetemplates.GsfCodeTemplateFilter.<init>(GsfCodeTemplateFilter.java:83) at org.netbeans.modules.csl.editor.codetemplates.GsfCodeTemplateFilter.<init>(GsfCodeTemplateFilter.java:70) at org.netbeans.modules.csl.editor.codetemplates.GsfCodeTemplateFilter$Factory.createFilter(GsfCodeTemplateFilter.java:133) at org.netbeans.lib.editor.codetemplates.CodeTemplateManagerOperation.getTemplateFilters(CodeTemplateManagerOperation.java:226) at org.netbeans.lib.editor.codetemplates.SurroundWithFix.getFixes(SurroundWithFix.java:71) at org.netbeans.lib.editor.codetemplates.AbbrevDetection.showSurroundWithHint(AbbrevDetection.java:424) at org.netbeans.lib.editor.codetemplates.AbbrevDetection.access$100(AbbrevDetection.java:93) at org.netbeans.lib.editor.codetemplates.AbbrevDetection$1.actionPerformed(AbbrevDetection.java:186) at javax.swing.Timer.fireActionPerformed(Timer.java:271) at javax.swing.Timer$DoPostEvent.run(Timer.java:201) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) It computes the list of applicable templates, which IMO does not have to be computed immediately in the constructor. Do you guys have a testcase where this is causing problems? From netcat - could be related: I have been working on a few ruby and RoR files and noticed that when editing and I have highlighted some text, the system is very slow in processing my request. Sometime the request takes up to 20 seconds to process for something as simple as copying one line of text (< 80 characters). Current Version is dev 200903250219. Marek, these are yours now ... *** This issue has been marked as a duplicate of 172363 *** |