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.
The way I created this error was to bring a closed source build (tags release32 on Open Source/no tag on closed source) up with a non populated userdir. When the IDE came up, I unmounted the samples directory and attempted to mount my own directory. The system hung. This actually happened to me yesterday and was not reproducable so I let it go. I work on two machines, one home, and one in the office. Yesterdays problem was on the office machine. I did not save the trace. Today I went to work on my home machine, did a complete CVS update on the closed and open source, and got the same problem. I note that one of the .nbattr files got updated. If I can figure out how to attach the directory that I was trying to mount, I will attach it. $ ls -la $(find . -name .nbattrs ) -rw-r--r-- 1 mottati None 521 Mar 31 01:09 ./.nbattrs -rw-r--r-- 1 mottati None 632 Mar 31 01:08 ./Package/.nbattrs -rw-r--r-- 1 mottati None 16205 Apr 4 14:16 ./beans/.nbattrs -rw-r--r-- 1 mottati None 549 Mar 30 13:48 ./mountfs/.nbattrs -rw-r--r-- 1 mottati None 706 Mar 30 22:15 ./testf/.nbattrs I am filing against the core because I dont really know how to catergorize this. Full thread dump: "org.netbeans.core.ModuleActions-2" daemon prio=2 tid=0x102b9690 nid=0x358 waiting on monitor [0x11e5f000..0x11e5fdc4] at java.lang.Class.newInstance0(Native Method) at java.lang.Class.newInstance(Class.java:237) at java.beans.Introspector.instantiate(Introspector.java:1067) at java.beans.Introspector.findInformant(Introspector.java:327) at java.beans.Introspector.<init>(Introspector.java:256) at java.beans.Introspector.getBeanInfo(Introspector.java:81) at org.openide.util.Utilities.getBeanInfo(Utilities.java:228) at org.openide.nodes.BeanNode.initialization(BeanNode.java:456) at org.openide.nodes.BeanNode.<init>(BeanNode.java:121) at org.openide.nodes.BeanNode.<init>(BeanNode.java:106) at org.netbeans.core.FSPoolNode$FSNode.<init>(FSPoolNode.java:191) at org.netbeans.core.FSPoolNode$DSMap.createNodes(FSPoolNode.java:306) at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1753) at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:125) at org.openide.nodes.Children$Info.nodes(Children.java:879) at org.openide.nodes.Children.updateAdd(Children.java:687) at org.openide.nodes.Children.setEntries(Children.java:479) at org.openide.nodes.Children$17.run(Children.java:1614) at org.openide.util.Mutex.postRequest(Mutex.java:803) at org.openide.util.Mutex.postWriteRequest(Mutex.java:337) at org.openide.nodes.Children$Keys.setKeys(Children.java:1622) at org.netbeans.core.FSPoolNode$DSMap.refresh(FSPoolNode.java:326) at org.netbeans.core.FSPoolNode.refresh(FSPoolNode.java:176) at org.netbeans.core.FSPoolNode.refresh(FSPoolNode.java:169) at org.netbeans.core.FSPoolNode.fileSystemAdded(FSPoolNode.java:152) at org.openide.util.WeakListener$Repository.fileSystemAdded(WeakListener.java:473) at org.openide.filesystems.Repository.fireFileSystem(Repository.java:437) at org.openide.filesystems.Repository.addFileSystem(Repository.java:171) at org.netbeans.core.actions.AddFSAction.performAction(AddFSAction.java:94) at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemActi on.java:66) at org.netbeans.core.ModuleActions$1.run(ModuleActions.java:76) at org.openide.util.Task.run(Task.java:124) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:622) "OpenFile Server" daemon prio=2 tid=0x109f34d0 nid=0x624 runnable [0x1191f000..0x1191fdc4] at java.net.PlainDatagramSocketImpl.peek(Native Method) at java.net.DatagramSocket.receive(DatagramSocket.java:354) at org.netbeans.modules.openfile.Server.run(Server.java:132) at java.lang.Thread.run(Thread.java:484) "jndi.refreshd" daemon prio=7 tid=0x9a1150 nid=0x138 waiting on monitor [0x1181f000..0x1181fdc4] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at org.netbeans.modules.jndi.utils.Refreshd.run(Refreshd.java:62) "Compilation" daemon prio=2 tid=0x109a2b00 nid=0x490 waiting on monitor [0x1151f000..0x1151fdc4] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at org.netbeans.core.compiler.CompilationEngineImpl$CompilerThread.nextJobAndTask(C ompilationEngineImpl.java:162) at org.netbeans.core.compiler.CompilationEngineImpl$CompilerThread.run(CompilationE ngineImpl.java:185) "AntProjectSupport.FiringProcessor" prio=5 tid=0x1092cfd0 nid=0x538 waiting on monitor [0x1131f000..0x1131fdc4] at java.lang.Object.wait(Native Method) at org.apache.tools.ant.module.xml.AntProjectSupport$FiringProcessor.run(AntProject Support.java:522) "JarFs - modification watcher" daemon prio=2 tid=0x10183530 nid=0x43c waiting on monitor [0x1121f000..0x1121fdc4] at java.lang.Object.wait(Native Method) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:581) "XMLDataObject/parser" daemon prio=4 tid=0x101dc038 nid=0x574 waiting on monitor [0x1091f000..0x1091fdc4] at java.lang.Object.wait(Native Method) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:581) "Folder recognizer" daemon prio=7 tid=0xac93cb8 nid=0x5b0 waiting on monitor [0x1081f000..0x1081fdc4] at java.lang.Object.wait(Native Method) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:581) "Folder Instance Processor" daemon prio=7 tid=0xff53e98 nid=0x2fc waiting on monitor [0x1071f000..0x1071fdc4] at java.lang.Object.wait(Native Method) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:581) "Screen Updater" prio=4 tid=0xab52ca8 nid=0x48c waiting on monitor [0x1061f000..0x1061fdc4] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:75) at sun.awt.ScreenUpdater.run(ScreenUpdater.java:95) "TimerQueue" daemon prio=7 tid=0xff1f130 nid=0x4d8 waiting on monitor [0x1051f000..0x1051fdc4] at java.lang.Object.wait(Native Method) at javax.swing.TimerQueue.run(TimerQueue.java:232) at java.lang.Thread.run(Thread.java:484) "OpenIDE Request Processor-0" daemon prio=2 tid=0xad15698 nid=0x5a4 waiting on monitor [0x1040f000..0x1040fdc4] at java.lang.Object.wait(Native Method) at org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:581) "AWT-Windows" prio=5 tid=0xacbfdd0 nid=0x4f4 runnable [0xfdef000..0xfdefdc4] at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:186) at java.lang.Thread.run(Thread.java:484) "SunToolkit.PostEventQueue-0" prio=5 tid=0xac8f578 nid=0x4a8 waiting on monitor [0xfcef000..0xfcefdc4] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at sun.awt.PostEventQueue.run(SunToolkit.java:496) "AWT-EventQueue-0" prio=7 tid=0x9a1070 nid=0x58c runnable [0xfbef000..0xfbefdc4] at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:843) at java.beans.Introspector.internalFindMethod(Introspector.java:883) at java.beans.Introspector.findMethod(Introspector.java:979) at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:83) at org.netbeans.beaninfo.ExLocalFileSystemBeanInfo.<clinit>(ExLocalFileSystemBeanIn fo.java:44) at org.netbeans.core.RootFolderNode.getIcon(RootFolderNode.java:161) at org.netbeans.core.RootFolderNode.getIcon(RootFolderNode.java:139) at org.openide.explorer.view.NodeRenderer$Tree.update(NodeRenderer.java:268) at org.openide.explorer.view.VisualizerNode.getTree(VisualizerNode.java:195) at org.openide.explorer.view.NodeRenderer.getTreeCellRendererComponent(NodeRenderer .java:94) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Basic TreeUI.java:2611) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java: 406) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Var iableHeightLayoutCache.java:1293) at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(VariableHeightLayoutCach e.java:715) at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(VariableHeightLayou tCache.java:433) at javax.swing.plaf.basic.BasicTreeUI$TreeModelHandler.treeNodesInserted(BasicTreeU I.java:2355) at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(DefaultTreeModel.java:46 6) at javax.swing.tree.DefaultTreeModel.nodesWereInserted(DefaultTreeModel.java:289) at org.openide.explorer.view.NodeTreeModel$Listener.added(NodeTreeModel.java:142) at org.openide.explorer.view.VisualizerChildren.added(VisualizerChildren.java:74) at org.openide.explorer.view.VisualizerEvent$Added.run(VisualizerEvent.java:83) at org.openide.explorer.view.VisualizerNode$QP.run(VisualizerNode.java:442) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:154) at java.awt.EventQueue.dispatchEvent(EventQueue.java:317) at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:84) "Signal Dispatcher" daemon prio=10 tid=0x94e560 nid=0x464 waiting on monitor [0..0] "Finalizer" daemon prio=9 tid=0x94ac60 nid=0x49c waiting on monitor [0xb04f000..0xb04fdc4] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162) "Reference Handler" daemon prio=10 tid=0xab50430 nid=0x520 waiting on monitor [0xaf4f000..0xaf4fdc4] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110) "main" prio=5 tid=0x944d00 nid=0x5a8 waiting on monitor [0..0x12d15c] "VM Thread" prio=5 tid=0x991398 nid=0x580 runnable "VM Periodic Task Thread" prio=10 tid=0x94d458 nid=0x41c waiting on monitor
Created attachment 1000 [details] gzipped tarball of directory I was mounting.
This may be rooted in an EJB or EJBModule bug but it is hard to tell as there is no evidence of either of these two classes being in any current thread. I
I wonder what we will do with it. It is not hard to fix this particular problem, but there can be thousands of similar cases... The deadlock is between java.beans.Introspector and the BeanInfo class that in <cinit> calls back to the Introspector. Because static initialization code in BeanInfo is offen (and suggested by NetBeans), I am afraid there can be a lot of similar problems.
Modified the beaninfos for the Ex*FileSystems to initialize the property descritors in constructor instead static initilizer.
Target milestone 3.2
closed