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.
[ BUILD # : 201210090002 ] [ JDK VERSION : 1.7.7 ] I´ve added a own written component to a Panel. After that the IDE hangs and doesn´t responses (about 2 hours). I´ll attach the Thread-Dumps while this period.
Created attachment 125677 [details] ThreadDumps + Message-Log + Application-Snapshot
"RepositoryUpdater.worker": at java.util.Hashtable.get(Hashtable.java:458) - waiting to lock <0x000000078137db00> (a javax.swing.MultiUIDefaults) at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:174) at javax.swing.UIDefaults.get(UIDefaults.java:162) at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:58) at javax.swing.UIDefaults.getUI(UIDefaults.java:752) at javax.swing.UIManager.getUI(UIManager.java:1013) at javax.swing.JLabel.updateUI(JLabel.java:274) at javax.swing.JLabel.<init>(JLabel.java:163) at javax.swing.JLabel.<init>(JLabel.java:222) at org.netbeans.modules.css.visual.RuleEditorPanel.<clinit>(RuleEditorPanel.java:162) at org.netbeans.modules.css.visual.CssCaretAwareSourceTask.<clinit>(CssCaretAwareSourceTask.java:75) at org.netbeans.modules.css.visual.CssCaretAwareSourceTask$Factory.create(CssCaretAwareSourceTask.java:234) at org.netbeans.modules.parsing.impl.SourceCache.createTasks(SourceCache.java:474) at org.netbeans.modules.parsing.impl.SourceCache.getAllEmbeddings(SourceCache.java:289) at org.netbeans.modules.parsing.api.ResultIterator.getEmbeddings(ResultIterator.java:163) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.run(RepositoryUpdater.java:2852) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.run(RepositoryUpdater.java:2856) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.run(RepositoryUpdater.java:2856) at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:584) at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:150) at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:134) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:201) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:198) 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.impl.Utilities.runPriorityIO(Utilities.java:74) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:198) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:102) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.indexEmbedding(RepositoryUpdater.java:2795) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2585) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.access$1500(RepositoryUpdater.java:2090) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$2.run(RepositoryUpdater.java:2397) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$2.run(RepositoryUpdater.java:2395) at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:544) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2395) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.scanFiles(RepositoryUpdater.java:2901) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$FileListWork.getDone(RepositoryUpdater.java:3254) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:2995) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:5231) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$4800(RepositoryUpdater.java:4923) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2$1.run(RepositoryUpdater.java:5168) at org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:96) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:5164) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:5160) 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.impl.Utilities.runPriorityIO(Utilities.java:74) at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:5160) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1454) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2036) "AWT-EventQueue-1": at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000782bd5c38> (a java.util.concurrent.locks.ReentrantLock$FairSync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:229) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:190) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:102) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:438) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:409) at org.netbeans.modules.java.source.queriesimpl.QueriesControllerImpl.runQuery(QueriesControllerImpl.java:81) at org.netbeans.modules.java.source.queries.api.Queries.query(Queries.java:231) at org.netbeans.modules.form.FormJavaSource.query(FormJavaSource.java:88) at org.netbeans.modules.form.FormJavaSource.refresh(FormJavaSource.java:183) at org.netbeans.modules.form.FormJavaSource.containsField(FormJavaSource.java:176) at org.netbeans.modules.form.codestructure.CodeStructure.getFreeVariableName(CodeStructure.java:578) at org.netbeans.modules.form.codestructure.CodeStructure.getFreeVariableName(CodeStructure.java:567) at org.netbeans.modules.form.codestructure.CodeStructure.getExternalVariableName(CodeStructure.java:589) at org.netbeans.modules.form.MetaComponentCreator.createVisualComponent(MetaComponentCreator.java:936) at org.netbeans.modules.form.MetaComponentCreator.access$300(MetaComponentCreator.java:79) at org.netbeans.modules.form.MetaComponentCreator$2.run(MetaComponentCreator.java:260) at org.netbeans.modules.form.FormLAF$2.run(FormLAF.java:293) - locked <0x000000078137db00> (a javax.swing.MultiUIDefaults) - locked <0x0000000780036080> (a java.lang.Class for java.beans.Introspector) at org.openide.util.Mutex.doEventAccess(Mutex.java:1363) at org.openide.util.Mutex.readAccess(Mutex.java:322) at org.netbeans.modules.form.FormLAF.executeWithLookAndFeel(FormLAF.java:276) at org.netbeans.modules.form.MetaComponentCreator.precreateVisualComponent(MetaComponentCreator.java:256) at org.netbeans.modules.form.MetaComponentCreator.precreateVisualComponent(MetaComponentCreator.java:279) at org.netbeans.modules.form.HandleLayer$NewComponentDrag.init(HandleLayer.java:3273) at org.netbeans.modules.form.HandleLayer$NewComponentDrag.<init>(HandleLayer.java:3268) at org.netbeans.modules.form.HandleLayer$NewComponentDropListener.dragEnter(HandleLayer.java:3568) at java.awt.dnd.DropTarget.dragEnter(DropTarget.java:357) - locked <0x000000078e5144e8> (a java.awt.dnd.DropTarget) at sun.awt.dnd.SunDropTargetContextPeer.processEnterMessage(SunDropTargetContextPeer.java:330) at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEnterEvent(SunDropTargetContextPeer.java:798) - locked <0x00000007e96b38c8> (a sun.awt.windows.WDropTargetContextPeer) at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:766) at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48) at java.awt.Component.dispatchEventImpl(Component.java:4716) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4620) at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4558) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4417) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:682) at java.awt.EventQueue$3.run(EventQueue.java:680) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:696) at java.awt.EventQueue$4.run(EventQueue.java:694) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:693) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
A deadlock between AWT-EventQueue and RepositoryUpdater threads. In the AWT thread it's a fault of the GUI builder that it calls JavaSource under AWT lock. I've made a fix for this particular case (jet-main a3fd764a4366). In the RepositoryUpdater it's a problem of org.netbeans.modules.css.visual.RuleEditorPanel that creates JLabel in static initializer. This is wrong as it happens when the class is loaded which can be hardly controlled, and as shown here it may lead to creating UI components out of the AWT thread. Reassigning to CSS.
Integrated into 'main-golden', will be available in build *201210180002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/a3fd764a4366 User: Tomas Pavek <tpavek@netbeans.org> Log: #219813: minimizing chance that JavaSource is invoked under AWT lock from LAF block
already fixed in web-main#4f9d672214c1 - Thu Nov 08 13:17:34 CET 2012