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.
I guess that after the introduction of "project preferences", the opening of editor is now horribly delayed, especially for files in NetBeans Module projects. At least it just took half a minute to open an editor just now. Here is the stack trace: "AWT-EventQueue-1" prio=10 tid=0x0812e000 nid=0x41d8 in Object.wait() [0xb1b38000..0xb1b39db0] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1601) - locked <0x7b8dbc90> (a org.openide.util.Mutex$QueueCell) at org.openide.util.Mutex.enterImpl(Mutex.java:723) at org.openide.util.Mutex.enter(Mutex.java:630) at org.openide.util.Mutex.writeEnter(Mutex.java:608) at org.openide.util.Mutex.writeAccess(Mutex.java:430) at org.openide.util.Mutex$1R.run(Mutex.java:1305) at org.netbeans.api.project.ProjectManager$2$1.run(ProjectManager.java:120) at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:120) at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:499) at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:215) at org.netbeans.api.project.ProjectManager$2.execute(ProjectManager.java:118) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1320) at org.openide.util.Mutex.writeAccess(Mutex.java:384) at org.netbeans.modules.projectapi.AuxiliaryConfigBasedPreferencesProvider$AuxiliaryConfigBasedPreferences.node(AuxiliaryConfigBasedPreferencesProvider.java:709) at org.netbeans.modules.editor.indent.CodeStylePreferences.findProjectPreferences(CodeStylePreferences.java:144) at org.netbeans.modules.editor.indent.CodeStylePreferences.<init>(CodeStylePreferences.java:116) at org.netbeans.modules.editor.indent.CodeStylePreferences.get(CodeStylePreferences.java:67) - locked <0x897075e0> (a java.lang.Class for org.netbeans.modules.editor.indent.CodeStylePreferences) at org.netbeans.modules.editor.indent.api.IndentUtils.tabSize(IndentUtils.java:122) at org.netbeans.modules.editor.NbEditorDocument.getTabSize(NbEditorDocument.java:150) at org.netbeans.editor.DrawEngine.initInfo(DrawEngine.java:158) at org.netbeans.editor.DrawEngine.drawInternal(DrawEngine.java:1165) - locked <0x7b8dbed0> (a org.netbeans.modules.editor.NbEditorUI) at org.netbeans.editor.DrawEngine.draw(DrawEngine.java:1074) at org.netbeans.editor.DrawEngineLineView.getModel2ViewRect(DrawEngineLineView.java:413) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:482) at org.netbeans.editor.DrawEngineLineView.getPreferredSpan(DrawEngineLineView.java:305) at org.netbeans.editor.DrawEngineLineView.minorAxisUpdateLayout(DrawEngineLineView.java:802) at org.netbeans.editor.DrawEngineLineView.updateLayout(DrawEngineLineView.java:757) at org.netbeans.lib.editor.view.GapBoxViewChildren.childrenUpdateLayout(GapBoxViewChildren.java:900) at org.netbeans.lib.editor.view.GapBoxViewChildren.childrenUpdateLayout(GapBoxViewChildren.java:905) at org.netbeans.lib.editor.view.GapBoxView.updateLayout(GapBoxView.java:750) at org.netbeans.lib.editor.view.GapBoxView.directUpdateLayout(GapBoxView.java:898) at org.netbeans.lib.editor.view.GapDocumentView.directUpdateLayout(GapDocumentView.java:187) at org.netbeans.lib.editor.view.GapBoxView.markLayoutInvalid(GapBoxView.java:885) at org.netbeans.lib.editor.view.GapBoxViewChildren.markLayoutInvalid(GapBoxViewChildren.java:859) at org.netbeans.lib.editor.view.GapBoxView.preferenceChanged(GapBoxView.java:1273) at org.netbeans.editor.DrawEngineLineView.setEstimatedSpan(DrawEngineLineView.java:184) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:454) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:441) at org.netbeans.lib.editor.view.GapBoxView.modelToView(GapBoxView.java:1501) at org.netbeans.editor.view.spi.LockView.modelToView(LockView.java:423) at javax.swing.plaf.basic.BasicTextUI$RootView.modelToView(BasicTextUI.java:1497) at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1035) at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1010) at org.netbeans.editor.GlyphGutter.paintComponent(GlyphGutter.java:526) at javax.swing.JComponent.paint(JComponent.java:1027) at javax.swing.JComponent.paintChildren(JComponent.java:864) - locked <0x70434848> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1036) at javax.swing.JComponent.paintChildren(JComponent.java:864) - locked <0x70434848> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1036) at javax.swing.JComponent.paintChildren(JComponent.java:864) - locked <0x70434848> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1036) at javax.swing.JViewport.paint(JViewport.java:747) at javax.swing.JComponent.paintChildren(JComponent.java:864) - locked <0x70434848> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1036) at javax.swing.JComponent.paintChildren(JComponent.java:864) - locked <0x70434848> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1036) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285) at javax.swing.RepaintManager.paint(RepaintManager.java:1172) at javax.swing.JComponent._paintImmediately(JComponent.java:5070) at javax.swing.JComponent.paintImmediately(JComponent.java:4880) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:758) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714) at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128) 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:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
We cache the settings once they are found, but perhaps even finding them is expensive...
IMHO, more interesting information would be - who holds the project mutex for such a long time (half a minute)? Could you please attach the rest of thread dump? Thanks.
apisupport.projects
Should not this issue belong rather to apisupport.projects then?
I moved the initialization of indentation related settings to 'initNonVisual' phase, which is running outside of AWT and therefore should not freeze the IDE. The file will still take long to open, but the rest of the IDE should be responsive. I'm not sure what else we can do in the editor. We need tab-size for rendering the document and since this can now be stored in a project, we need to access project settings before we can render any text on the screen. http://hg.netbeans.org/main/rev/31e63b884d04 http://hg.netbeans.org/main/rev/478746535fda
I haven't seen any such delays. What is going on in the thread holding the lock? apisupport.project is not involved in what is shown happening in EQ.
Start the IDE. Open an editor with some class from NetBeans projects. Leave the IDE running and cleanup all info about the repository used in the IDE by filling filesystem caches with something else, for example by running hg status on next two or three NetBeans repositories (in case you have more memory than 2GB, run the hg status on more). Return back and do "Go To Declaration" from the editor to a class which is next to the already opened one. The system will scan the old repository for tens of seconds.
Integrated into 'main-golden', available in NB_Trunk_Production #285 build Changeset: http://hg.netbeans.org/main/rev/31e63b884d04 User: Vita Stejskal <vstejskal@netbeans.org> Log: #137528: attempting to improve responsivness when opening a document
After saturating my disk caches as best I could according to your instructions, I jumped to another file within a couple of seconds, an expectable delay for a laptop user with a cold disk cache. Once-per-second automated thread dumps captured the following things in EQ in between quiescent states: at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:199) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) - locked <0x67e5b158> (a java.io.BufferedInputStream) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) - locked <0x67e5b140> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(InputStreamReader.java:167) at org.netbeans.modules.java.source.parsing.SourceFileObject.getCharContentImpl(SourceFileObject.java:379) at org.netbeans.modules.java.source.parsing.SourceFileObject.getCharContent(SourceFileObject.java:136) at org.netbeans.modules.java.source.parsing.SourceFileObject.getCharContent(SourceFileObject.java:82) at com.sun.tools.javac.main.JavaCompiler.readSource(JavaCompiler.java:503) at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:570) at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:825) at com.sun.tools.javac.api.JavacTaskImpl.parse(JavacTaskImpl.java:278) at com.sun.tools.javac.api.JavacTaskImpl.parse(JavacTaskImpl.java:254) at org.netbeans.modules.java.source.TreeLoader.loadTreeFor(TreeLoader.java:121) at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:626) at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:652) at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:175) at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:167) at org.netbeans.modules.editor.java.GoToSupport$1.run(GoToSupport.java:295) at org.netbeans.modules.editor.java.GoToSupport$1.run(GoToSupport.java:147) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:666) at org.netbeans.modules.editor.java.GoToSupport.performGoTo(GoToSupport.java:146) at org.netbeans.modules.editor.java.GoToSupport.goTo(GoToSupport.java:357) at org.netbeans.modules.editor.java.JavaKit$JavaGoToDeclarationAction.gotoDeclaration(JavaKit.java:725) at org.netbeans.editor.ext.ExtKit$GotoDeclarationAction.actionPerformed(ExtKit.java:574) at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:199) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) - locked <0x67ad3c18> (a java.io.BufferedInputStream) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) - locked <0x67ad3c00> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.read(BufferedReader.java:157) - locked <0x67ad3c00> (a java.io.InputStreamReader) at org.netbeans.modules.java.source.usages.SymbolClassReader.fillInImpl(SymbolClassReader.java:183) at org.netbeans.modules.java.source.usages.SymbolClassReader.fillIn(SymbolClassReader.java:155) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1816) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:401) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:784) at org.netbeans.modules.java.source.usages.SymbolClassReader.markInnerClassOwner(SymbolClassReader.java:412) at org.netbeans.modules.java.source.usages.SymbolClassReader.fillInFromSig(SymbolClassReader.java:298) at org.netbeans.modules.java.source.usages.SymbolClassReader.fillInImpl(SymbolClassReader.java:187) at org.netbeans.modules.java.source.usages.SymbolClassReader.fillIn(SymbolClassReader.java:155) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1816) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:401) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:784) at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:1991) at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:858) at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1028) at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:2007) at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1921) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1655) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:387) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:417) at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:804) at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:587) at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:504) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:420) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:432) at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:553) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:451) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:420) at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:942) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:401) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:784) at com.sun.tools.javac.comp.Enter.complete(Enter.java:609) at org.netbeans.api.java.source.JavaSource$ErrorHandlingJavadocEnter.main(JavaSource.java:1222) at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:843) at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:357) at org.netbeans.modules.java.source.TreeLoader.loadTreeFor(TreeLoader.java:121) at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:626) at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:652) at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:175) at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:167) at org.netbeans.modules.editor.java.GoToSupport$1.run(GoToSupport.java:295) at org.netbeans.modules.editor.java.GoToSupport$1.run(GoToSupport.java:147) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:666) at org.netbeans.modules.editor.java.GoToSupport.performGoTo(GoToSupport.java:146) at org.netbeans.modules.editor.java.GoToSupport.goTo(GoToSupport.java:357) at org.netbeans.modules.editor.java.JavaKit$JavaGoToDeclarationAction.gotoDeclaration(JavaKit.java:725) at org.netbeans.editor.ext.ExtKit$GotoDeclarationAction.actionPerformed(ExtKit.java:574) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:114) at java.util.jar.JarFile.<init>(JarFile.java:133) at java.util.jar.JarFile.<init>(JarFile.java:97) at org.openide.filesystems.JarFileSystem.reOpenJarFile(JarFileSystem.java:665) - locked <0x6da92158> (a java.lang.Object) at org.openide.filesystems.JarFileSystem.getEntry(JarFileSystem.java:844) - locked <0x6da92158> (a java.lang.Object) at org.openide.filesystems.JarFileSystem.lastModified(JarFileSystem.java:420) at org.openide.filesystems.JarFileSystem$Impl.lastModified(JarFileSystem.java:956) at org.openide.filesystems.AbstractFileObject.initLastModified(AbstractFileObject.java:94) at org.openide.filesystems.AbstractFileObject.lastModified(AbstractFileObject.java:175) at org.openide.filesystems.AbstractFileObject.<init>(AbstractFileObject.java:79) at org.openide.filesystems.AbstractFileSystem.createFileObject(AbstractFileSystem.java:447) at org.openide.filesystems.AbstractFileObject.createFile(AbstractFileObject.java:136) at org.openide.filesystems.AbstractFolder.getChild(AbstractFolder.java:361) at org.openide.filesystems.AbstractFolder.getChild(AbstractFolder.java:332) at org.openide.filesystems.AbstractFolder.getFileObject(AbstractFolder.java:468) - locked <0x6da7a968> (a org.openide.filesystems.AbstractFileObject) at org.netbeans.api.java.classpath.ClassPath.findPath(ClassPath.java:876) at org.netbeans.api.java.classpath.ClassPath.findResourceImpl(ClassPath.java:890) at org.netbeans.api.java.classpath.ClassPath.findAllResources(ClassPath.java:374) at org.netbeans.api.java.source.SourceUtils.getFile(SourceUtils.java:480) at org.netbeans.api.java.source.ui.ElementOpen.open(ElementOpen.java:77) at org.netbeans.modules.editor.java.GoToSupport$2.open(GoToSupport.java:797) at org.netbeans.modules.editor.java.GoToSupport.performGoTo(GoToSupport.java:343) at org.netbeans.modules.editor.java.GoToSupport.goTo(GoToSupport.java:357) at org.netbeans.modules.editor.java.JavaKit$JavaGoToDeclarationAction.gotoDeclaration(JavaKit.java:725) at org.netbeans.editor.ext.ExtKit$GotoDeclarationAction.actionPerformed(ExtKit.java:574) at java.io.UnixFileSystem.getBooleanAttributes0(Native Method) at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228) at java.io.File.isFile(File.java:778) at org.netbeans.modules.java.source.parsing.FolderArchive.getFiles(FolderArchive.java:110) at org.netbeans.modules.java.source.parsing.CachingFileManager.list(CachingFileManager.java:116) at org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFileManager.java:174) at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2182) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1820) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:401) at com.sun.tools.javac.code.Symbol$PackageSymbol.flags(Symbol.java:633) at com.sun.tools.javac.comp.Attr.checkId(Attr.java:2203) at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1985) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1655) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:387) at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:569) at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:504) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:420) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:432) at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:553) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:451) at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:420) at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:942) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:401) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:784) at com.sun.tools.javac.comp.Enter.complete(Enter.java:609) at org.netbeans.api.java.source.JavaSource$ErrorHandlingJavadocEnter.main(JavaSource.java:1222) at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:843) at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:357) at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:303) at org.netbeans.api.java.source.JavaSource.moveToPhase(JavaSource.java:1294) at org.netbeans.api.java.source.CompilationInfoImpl.toPhase(CompilationInfoImpl.java:280) at org.netbeans.api.java.source.CompilationController.toPhase(CompilationController.java:80) at org.netbeans.api.java.source.ui.ElementOpen$1.run(ElementOpen.java:197) at org.netbeans.api.java.source.ui.ElementOpen$1.run(ElementOpen.java:195) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:666) at org.netbeans.api.java.source.ui.ElementOpen.getOffset(ElementOpen.java:194) at org.netbeans.api.java.source.ui.ElementOpen.getOpenInfo(ElementOpen.java:142) at org.netbeans.api.java.source.ui.ElementOpen.open(ElementOpen.java:78) at org.netbeans.modules.editor.java.GoToSupport$2.open(GoToSupport.java:797) at org.netbeans.modules.editor.java.GoToSupport.performGoTo(GoToSupport.java:343) at org.netbeans.modules.editor.java.GoToSupport.goTo(GoToSupport.java:357) at org.netbeans.modules.editor.java.JavaKit$JavaGoToDeclarationAction.gotoDeclaration(JavaKit.java:725) at org.netbeans.editor.ext.ExtKit$GotoDeclarationAction.actionPerformed(ExtKit.java:574) at java.io.UnixFileSystem.getLastModifiedTime(Native Method) at java.io.File.lastModified(File.java:826) at java.util.zip.ZipFile.<init>(ZipFile.java:114) at java.util.jar.JarFile.<init>(JarFile.java:133) at java.util.jar.JarFile.<init>(JarFile.java:112) at org.netbeans.JarClassLoader$JarSource.getJarFile(JarClassLoader.java:367) - locked <0x69ffb930> (a java.util.HashSet) at org.netbeans.JarClassLoader$JarSource.resource(JarClassLoader.java:395) at org.netbeans.Archive.getData(Archive.java:193) at org.netbeans.JarClassLoader$JarSource.readClass(JarClassLoader.java:390) at org.netbeans.JarClassLoader$Source.getClassData(JarClassLoader.java:297) at org.netbeans.JarClassLoader.doLoadClass(JarClassLoader.java:203) at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:262) - locked <0x6a374eb0> (a org.netbeans.StandardModule$OneModuleClassLoader) at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:226) - locked <0x6a374eb0> (a org.netbeans.StandardModule$OneModuleClassLoader) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) - locked <0x6a374eb0> (a org.netbeans.StandardModule$OneModuleClassLoader) at org.netbeans.api.java.lexer.JavaTokenId$1.embedding(JavaTokenId.java:257) at org.netbeans.spi.lexer.LanguageHierarchy$Accessor.embedding(LanguageHierarchy.java:363) at org.netbeans.lib.lexer.LexerUtilsConstants.findEmbedding(LexerUtilsConstants.java:208) at org.netbeans.lib.lexer.EmbeddingContainer.embeddedTokenList(EmbeddingContainer.java:143) - locked <0x678ae720> (a org.netbeans.lib.lexer.inc.IncTokenList) at org.netbeans.api.lexer.TokenSequence.embeddedImpl(TokenSequence.java:355) at org.netbeans.api.lexer.TokenSequence.embedded(TokenSequence.java:303) at org.netbeans.modules.editor.lib2.highlighting.SyntaxHighlighting$HSImpl.moveNext(SyntaxHighlighting.java:316) - locked <0x67d3b988> (a org.netbeans.modules.editor.lib2.highlighting.SyntaxHighlighting) at org.netbeans.spi.editor.highlighting.support.OffsetsBag.addAllHighlightsImpl(OffsetsBag.java:723) at org.netbeans.spi.editor.highlighting.support.OffsetsBag.addAllHighlights(OffsetsBag.java:184) - locked <0x67d3e788> (a org.netbeans.modules.editor.lib2.highlighting.OffsetGapList) at org.netbeans.modules.editor.lib2.highlighting.CompoundHighlightsContainer.updateCache(CompoundHighlightsContainer.java:300) at org.netbeans.modules.editor.lib2.highlighting.CompoundHighlightsContainer.getHighlights(CompoundHighlightsContainer.java:169) - locked <0x67d3d8e8> (a java.lang.String) at org.netbeans.editor.HighlightingDrawLayer.processOffset(HighlightingDrawLayer.java:614) at org.netbeans.editor.HighlightingDrawLayer.isActive(HighlightingDrawLayer.java:340) at org.netbeans.editor.DrawEngine.drawArea(DrawEngine.java:884) at org.netbeans.editor.DrawEngine.drawInternal(DrawEngine.java:1168) - locked <0x67ac8790> (a org.netbeans.modules.editor.NbEditorUI) at org.netbeans.editor.DrawEngine.draw(DrawEngine.java:1074) at org.netbeans.editor.DrawEngineLineView.getModel2ViewRect(DrawEngineLineView.java:413) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:482) at org.netbeans.editor.DrawEngineLineView.getPreferredSpan(DrawEngineLineView.java:305) at org.netbeans.editor.DrawEngineLineView.minorAxisUpdateLayout(DrawEngineLineView.java:802) at org.netbeans.editor.DrawEngineLineView.updateLayout(DrawEngineLineView.java:757) at org.netbeans.lib.editor.view.GapBoxViewChildren.childrenUpdateLayout(GapBoxViewChildren.java:900) at org.netbeans.lib.editor.view.GapBoxViewChildren.childrenUpdateLayout(GapBoxViewChildren.java:905) at org.netbeans.lib.editor.view.GapBoxView.updateLayout(GapBoxView.java:750) at org.netbeans.lib.editor.view.GapBoxView.directUpdateLayout(GapBoxView.java:898) at org.netbeans.lib.editor.view.GapDocumentView.directUpdateLayout(GapDocumentView.java:187) at org.netbeans.lib.editor.view.GapBoxView.markLayoutInvalid(GapBoxView.java:885) at org.netbeans.lib.editor.view.GapBoxViewChildren.markLayoutInvalid(GapBoxViewChildren.java:859) at org.netbeans.lib.editor.view.GapBoxView.preferenceChanged(GapBoxView.java:1273) at org.netbeans.editor.DrawEngineLineView.setEstimatedSpan(DrawEngineLineView.java:184) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:454) at org.netbeans.editor.DrawEngineLineView.modelToView(DrawEngineLineView.java:441) at org.netbeans.lib.editor.view.GapBoxView.modelToView(GapBoxView.java:1501) at org.netbeans.editor.view.spi.LockView.modelToView(LockView.java:423) at javax.swing.plaf.basic.BasicTextUI$RootView.modelToView(BasicTextUI.java:1496) at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1034) at org.netbeans.editor.BaseCaret.updateCaretBounds(BaseCaret.java:337) at org.netbeans.editor.BaseCaret.update(BaseCaret.java:629) at org.netbeans.editor.BaseCaret.paint(BaseCaret.java:492) at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:730) at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:868) at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:847) No mention of apisupport or indeed of the project system; just Java parsing and editor window painting. If you can reproduce some particular problem that you believe is fixable, please specify what that is.