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 260896

Summary: endless scanning of groovy projects
Product: groovy Reporter: cheesus
Component: EditorAssignee: bruno.flavio
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 8.1   
Hardware: PC   
OS: Mac OS X   
Issue Type: DEFECT Exception Reporter:

Description cheesus 2016-05-10 11:39:48 UTC
opening and working of groovy projects work, but it seems that 1 CPU is constantly occupied just scanning the grrovy projects - and when it reaches 100%, it just starts over

It seems there is a thread always busy somewhere above GroovyParser.parse

Three examples

1.
"RepositoryUpdater.worker" #26 daemon prio=1 os_prio=31 tid=0x00007fe0c2779800 nid=0x10703 runnable [0x0000000166693000]
   java.lang.Thread.State: RUNNABLE
        at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.getFileObject(FileObjectFactory.java:231)
        at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.getValidFileObject(FileObjectFactory.java:793)
        at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FolderObj.getFileObject(FolderObj.java:136)
        at org.netbeans.api.java.classpath.ClassPath.findPath(ClassPath.java:1128)
        at org.netbeans.api.java.classpath.ClassPath.findResourceImpl(ClassPath.java:1155)
        at org.netbeans.api.java.classpath.ClassPath.findResource(ClassPath.java:468)
        at org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$ParsingClassLoader.getSourceFile(ClassNodeCache.java:377)
        at org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$ParsingClassLoader.access$200(ClassNodeCache.java:319)
        at org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$ParsingClassLoader$1$1.run(ClassNodeCache.java:337)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$ParsingClassLoader$1.loadGroovySource(ClassNodeCache.java:333)
        at org.codehaus.groovy.control.ClassNodeResolver.tryAsScript(ClassNodeResolver.java:229)
        at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:185)
        at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:168)
        at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:124)
        at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:616)
        at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:268)
        at org.codehaus.groovy.control.ResolveVisitor.resolveFromModule(ResolveVisitor.java:550)
        at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:268)
        at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1163)
        at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141)
        at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:632)
        at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912)
        at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:574)
        at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:523)
        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:157)

2.
"RepositoryUpdater.worker" #26 daemon prio=1 os_prio=31 tid=0x00007fe0c2779800 nid=0x10703 runnable [0x0000000166694000]
   java.lang.Thread.State: RUNNABLE
        at java.net.URI$Parser.scan(URI.java:2998)
        at java.net.URI$Parser.checkChars(URI.java:3019)
        at java.net.URI$Parser.parse(URI.java:3058)
        at java.net.URI.<init>(URI.java:588)
        at java.net.URL.toURI(URL.java:939)
        at org.netbeans.api.java.source.ClasspathInfo.toURIs(ClasspathInfo.java:426)
        at org.netbeans.api.java.source.ClasspathInfo.equals(ClasspathInfo.java:217)
        at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:459)
        at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:162)
        at org.netbeans.modules.parsing.impl.TaskProcessor.callGetResult(TaskProcessor.java:631)
        at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:378)
        at org.netbeans.modules.parsing.api.ParserManager$MimeTaskAction.run(ParserManager.java:363)
        at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:204)
        at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:201)
        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.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:141)
        at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:88)
        at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:201)
        at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:334)
        at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:415)
        at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:407)
        at org.netbeans.modules.groovy.editor.compiler.CompilationUnit$CompileUnit.getClass(CompilationUnit.java:156)
        at org.codehaus.groovy.control.ResolveVisitor.resolveFromCompileUnit(ResolveVisitor.java:417)
        at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:268)
        at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1140)
        at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141)
        at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:632)
        at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912)
        at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:574)
        at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:523)
        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:157)

3.
"RepositoryUpdater.worker" #26 daemon prio=1 os_prio=31 tid=0x00007fe0c2779800 nid=0x10703 runnable [0x0000000166691000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.Throwable.fillInStackTrace(Native Method)
        at java.lang.Throwable.fillInStackTrace(Throwable.java:783)
        - locked <0x00000007abe2c188> (a java.io.FileNotFoundException)
        at java.lang.Throwable.<init>(Throwable.java:265)
        at java.lang.Exception.<init>(Exception.java:66)
        at java.io.IOException.<init>(IOException.java:58)
        at java.io.FileNotFoundException.<init>(FileNotFoundException.java:64)
        at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:142)
        at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
        at sun.misc.URLClassPath$Loader.getResource(URLClassPath.java:702)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:212)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        - locked <0x00000007aae30ba8> (a org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$TransformationClassLoader)
        at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
        at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
        at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        - locked <0x00000007aae30ba8> (a org.netbeans.modules.groovy.editor.compiler.ClassNodeCache$TransformationClassLoader)
        at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
        at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperationsForGlobalTransforms(ASTTransformationVisitor.java:299)
        at org.codehaus.groovy.transform.ASTTransformationVisitor.doAddGlobalTransforms(ASTTransformationVisitor.java:280)
        at org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:190)
        at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:154)
        at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:195)
        at org.netbeans.modules.groovy.editor.compiler.CompilationUnit.<init>(CompilationUnit.java:89)
        at org.netbeans.modules.groovy.editor.api.parser.GroovyParser.parseBuffer(GroovyParser.java:460)
        at org.netbeans.modules.groovy.editor.api.parser.GroovyParser.parse(GroovyParser.java:157)

I did not observer the same problem in nightly 201605100002 (but that one
crashes on me almost instantly when I start typing, so can't use it either)

There was stuff like this around #175320 but that should not be happening with NB 8.1 with latest groovy and gradle plugins, right ?