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 155704 - IDE freezes opening pom.xml
Summary: IDE freezes opening pom.xml
Status: RESOLVED FIXED
Alias: None
Product: projects
Classification: Unclassified
Component: Maven (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Milos Kleint
URL:
Keywords: PERFORMANCE, THREAD
Depends on:
Blocks:
 
Reported: 2008-12-17 20:19 UTC by Jesse Glick
Modified: 2009-02-19 22:43 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2008-12-17 20:19:42 UTC
I opened a POM from a downloaded sample project in the editor. The IDE froze for about a minute. EQ was blocked:

   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
	- locked <0x68bdfbb0> (a java.io.BufferedInputStream)
	at sun.net.www.MeteredStream.read(MeteredStream.java:116)
	- locked <0x68be24b0> (a sun.net.www.http.KeepAliveStream)
	at java.io.FilterInputStream.read(FilterInputStream.java:116)
	at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2446)
	at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:480)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:327)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:299)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:276)
	at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:97)
	at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
	at org.sonatype.nexus.index.updater.DefaultIndexUpdater.downloadResource(DefaultIndexUpdater.java:235)
	at org.sonatype.nexus.index.updater.DefaultIndexUpdater$1.invoke(DefaultIndexUpdater.java:87)
	at org.sonatype.nexus.index.updater.DefaultIndexUpdater.run(DefaultIndexUpdater.java:169)
	at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:63)
	at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:57)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl.indexLoadedRepo(NexusRepositoryIndexserImpl.java:354)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl.loadIndexingContext(NexusRepositoryIndexserImpl.java:278)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl.access$100(NexusRepositoryIndexserImpl.java:132)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl$9.run(NexusRepositoryIndexserImpl.java:668)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl$9.run(NexusRepositoryIndexserImpl.java:664)
	at org.openide.util.Mutex.writeAccess(Mutex.java:433)
	at org.netbeans.modules.maven.indexer.NexusRepositoryIndexserImpl.getVersions(NexusRepositoryIndexserImpl.java:664)
	at org.netbeans.modules.maven.indexer.api.RepositoryQueries.getVersions(RepositoryQueries.java:147)
	at org.netbeans.modules.maven.hints.pom.ParentVersionError.getErrorsForDocument(ParentVersionError.java:134)
	at org.netbeans.modules.maven.hints.pom.StatusProvider$StatusProviderImpl.findHints(StatusProvider.java:135)
	at org.netbeans.modules.maven.hints.pom.StatusProvider$StatusProviderImpl.checkHints(StatusProvider.java:106)
	at org.netbeans.modules.maven.hints.pom.StatusProvider$StatusProviderImpl.<init>(StatusProvider.java:101)
	at org.netbeans.modules.maven.hints.pom.StatusProvider.createUpToDateStatusProvider(StatusProvider.java:88)
	at org.netbeans.modules.editor.errorstripe.AnnotationViewDataImpl.createStatusProviders(AnnotationViewDataImpl.java:191)
	at org.netbeans.modules.editor.errorstripe.AnnotationViewDataImpl.gatherProviders(AnnotationViewDataImpl.java:161)
	at org.netbeans.modules.editor.errorstripe.AnnotationViewDataImpl.register(AnnotationViewDataImpl.java:109)
	at org.netbeans.modules.editor.errorstripe.AnnotationView.updateForNewDocument(AnnotationView.java:177)
	- locked <0x755ef6b8> (a org.netbeans.modules.editor.errorstripe.AnnotationView)
	at org.netbeans.modules.editor.errorstripe.AnnotationView.<init>(AnnotationView.java:149)
	at org.netbeans.modules.editor.errorstripe.AnnotationViewFactory.createSideBar(AnnotationViewFactory.java:64)
	at org.netbeans.modules.editor.impl.CustomizableSideBar.createSideBarsMap(CustomizableSideBar.java:218)
	at org.netbeans.modules.editor.impl.CustomizableSideBar.getSideBarsInternal(CustomizableSideBar.java:173)
	at org.netbeans.modules.editor.impl.CustomizableSideBar.getSideBars(CustomizableSideBar.java:143)
	at org.netbeans.modules.editor.NbEditorUI.createExtComponent(NbEditorUI.java:211)
	at org.netbeans.editor.EditorUI.getExtComponent(EditorUI.java:860)
	at org.netbeans.modules.editor.NbEditorDocument.createEditor(NbEditorDocument.java:170)
	at org.openide.text.CloneableEditor$DoInitialize.initCustomEditor(CloneableEditor.java:381)
	at org.openide.text.CloneableEditor$DoInitialize.initVisual(CloneableEditor.java:483)
	at org.openide.text.CloneableEditor.getEditorPane(CloneableEditor.java:913)
	at org.openide.text.CloneableEditorSupport.getOpenedPanes(CloneableEditorSupport.java:1076)
	at
org.netbeans.spi.debugger.ui.EditorContextDispatcher$EditorLookupListener.updateCurrentOpenedPane(EditorContextDispatcher.java:601)
	- locked <0x6a7ce170> (a org.netbeans.spi.debugger.ui.EditorContextDispatcher)
	at org.netbeans.spi.debugger.ui.EditorContextDispatcher$EditorLookupListener.access$700(EditorContextDispatcher.java:487)
	at org.netbeans.spi.debugger.ui.EditorContextDispatcher$EditorLookupListener$2.run(EditorContextDispatcher.java:577)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
[...]

Offhand it looks like StatusProviderImpl.<init> should return quickly and check hints later.
Comment 1 Milos Kleint 2008-12-28 20:43:43 UTC
http://hg.netbeans.org/main/rev/2a97b0212229
Comment 2 Quality Engineering 2008-12-29 05:22:54 UTC
Integrated into 'main-golden', will be available in build *200812290201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/2a97b0212229
User: Milos Kleint <mkleint@netbeans.org>
Log: #155704 prevent querying the repository index from AWT thread, it might not be initialized.