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 221442 - Deadlock after feature activation in Options panel
Summary: Deadlock after feature activation in Options panel
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Data Systems (show other bugs)
Version: 7.3
Hardware: PC Linux
: P2 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-04 19:11 UTC by Antonin Nebuzelsky
Modified: 2012-11-09 02:50 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Thread dump (100.07 KB, text/plain)
2012-11-04 19:11 UTC, Antonin Nebuzelsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antonin Nebuzelsky 2012-11-04 19:11:58 UTC
Created attachment 127095 [details]
Thread dump

Product Version: NetBeans IDE Dev (Build 20121104-66ace9c7708e)
Java: 1.7.0_10-ea; Java HotSpot(TM) 64-Bit Server VM 23.6-b04
Runtime: Java(TM) SE Runtime Environment 1.7.0_10-ea-b14
System: Linux version 3.5.0-17-generic running on amd64; UTF-8; en_US (nb)
Ubuntu 12.10

First start with a fresh userdir.

Open Options, go to Ant tab, click Activate. After a while IDE is hung.
Comment 1 Jaroslav Tulach 2012-11-05 11:14:20 UTC
The core thread that needs to finish is "Folder Instance Processor" and it is being blocked by 

at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000d7f57840> (a org.openide.util.RequestProcessor$Task)
	at java.lang.Object.wait(Object.java:503)
	at org.openide.util.Task.waitFinished(Task.java:135)
	- locked <0x00000000d7f57840> (a org.openide.util.RequestProcessor$Task)
	at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:1710)
	at org.openide.loaders.FolderInstance.waitFinished(FolderInstance.java:332)
	at org.openide.loaders.FolderInstance.instanceFinished(FolderInstance.java:312)
	at org.netbeans.modules.editor.options.AnnotationTypeActionsFolder.<init>(AnnotationTypeActionsFolder.java:76)
	at org.netbeans.modules.editor.options.AnnotationTypeActionsFolder.readActions(AnnotationTypeActionsFolder.java:92)
	at org.netbeans.modules.editor.options.AnnotationTypeProcessor$Handler.startElement(AnnotationTypeProcessor.java:286)


the other problematic thread seem to be

"Folder recognizer" daemon prio=10 tid=0x0000000000637800 nid=0x33d6 runnable [0x00007f0b1ab14000]
   java.lang.Thread.State: RUNNABLE
	at org.openide.util.RequestProcessor$Item.getPriority(RequestProcessor.java:1807)
	at org.openide.util.RequestProcessor.prioritizedEnqueue(RequestProcessor.java:649)
	at org.openide.util.RequestProcessor.enqueue(RequestProcessor.java:612)
	- locked <0x00000000d15a89c8> (a java.lang.Object)
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:1524)
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:1495)
	at org.openide.util.RequestProcessor.post(RequestProcessor.java:453)
	at org.openide.loaders.FolderList.getChildrenList(FolderList.java:320)
	at org.openide.loaders.FolderList.computeChildrenList(FolderList.java:312)
	at org.openide.loaders.FolderInstance.computeChildrenList(FolderInstance.java:657)
	at org.openide.loaders.FolderInstance.recreate(FolderInstance.java:597)
	- locked <0x00000000d82b2d50> (a org.openide.loaders.FolderLookup)
	at org.openide.loaders.FolderInstance$Listener.propertyChange(FolderInstance.java:996)
	at org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:196)
	at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
	at org.openide.loaders.FolderList.fireChildrenChange(FolderList.java:927)
	at org.openide.loaders.FolderList.access$400(FolderList.java:77)
	at org.openide.loaders.FolderList$1.run(FolderList.java:357)
	- locked <0x00000000d7e93638> (a [Lorg.openide.util.RequestProcessor$Task;)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1454)
	at org.openide.util.RequestProcessor$Processor.doEvaluate(RequestProcessor.java:2083)
	at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:1688)
	at org.openide.loaders.FolderList$1.run(FolderList.java:338)
Comment 2 Jaroslav Tulach 2012-11-07 14:20:40 UTC
ergonomics#218412d5ee42
Comment 3 Quality Engineering 2012-11-09 02:50:41 UTC
Integrated into 'main-golden', will be available in build *201211090001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/218412d5ee42
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #221442: fireChildrenChange without any locks and only if the comparator has been cleaned