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.
This error appears to happen when a data loader is written to "sniff" the contents of a file prior to declaring that the file belongs to that loader. Examples of such behavior are the ant project loader which is shown in the traces below. I believe that the behavior would apply to any "sniffing" loader. There is at least one other case which will be described below. To reproduce the problem simply unzip the attached zip file, into an already mounted directory. DO NOT OPEN THE FOLDER. When the folder "xmlstuff" is recognized, delete it immediately. Upon doing so, I received the exception traces shown below. There are several interesting things that appear to be happening. The first is that the loader is being asked to recognize a file for the sole purpose of deleting it. Secondly, when the loader performs some action that asks for an inputStream of the file being considered for recognition a NotifyInputStream is used. The NotifyInputStream constructor always creates an exception hold an internal stack trace of the InputStream creator. My guess is that the delete and the file recognition are fighting each other in two different threads and the file can not be deleted until some other thread lets go of the inputstream. This bug is being filed P2 because it is being created out of a internal Sun P2 bug (Bugtraq 4463045) which was also filed as P2. This trace was created with sources which were updated on Fri Aug 17 9:00:00 PDT 2001 ---------------------------------------- Trace Info ---------------------------- ------------ Fri Aug 17 12:40:17 PDT 2001: org.openide.filesystems.FSException: Cannot delete file xmlstuff/g.xml in C:\ZZZ\sampledir. Nested annotation: Cannot delete file xmlstuff/f.xml in C:\ZZZ\sampledir. org.openide.filesystems.FSException: Cannot delete file xmlstuff/g.xml in C:\ZZZ\sampledir. at org.openide.filesystems.FSException.io(FSException.java:78) at org.openide.filesystems.LocalFileSystem.delete (LocalFileSystem.java:277) at org.netbeans.core.ExLocalFileSystem.delete(ExLocalFileSystem.java:74) at org.openide.filesystems.LocalFileSystem$Impl.delete (LocalFileSystem.java:615) at org.openide.filesystems.AbstractFileObject.delete (AbstractFileObject.java:458) at org.openide.loaders.FileEntry.delete(FileEntry.java:100) at org.openide.loaders.MultiDataObject.handleDelete (MultiDataObject.java:409) at org.openide.loaders.DataObject$2.run(DataObject.java:521) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.loaders.DataObject.delete(DataObject.java:519) at org.openide.loaders.DataFolder.handleDelete(DataFolder.java:545) at org.openide.loaders.DataObject$2.run(DataObject.java:521) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.loaders.DataObject.delete(DataObject.java:519) at org.openide.loaders.DataNode.destroy(DataNode.java:210) at org.openide.nodes.FilterNode.destroy(FilterNode.java:315) at org.openide.explorer.ExplorerActions$DeleteActionPerformer$DestroyAtomic.invoke (ExplorerActions.java:504) at $Proxy3.run(Unknown Source) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.explorer.ExplorerActions$DestroyInvoker.run (ExplorerActions.java:545) at org.openide.explorer.ExplorerActions$DeleteActionPerformer.doDestroy (ExplorerActions.java:471) at org.openide.explorer.ExplorerActions$DeleteActionPerformer.performAction (ExplorerActions.java:440) at org.openide.util.actions.CallbackSystemAction.performAction (CallbackSystemAction.java:102) at org.openide.util.actions.CallableSystemAction.actionPerformed (CallableSystemAction.java:66) at org.netbeans.core.ModuleActions$1.run(ModuleActions.java:85) at org.openide.util.Task.run(Task.java:152) [catch] at org.openide.util.RequestProcessor$ProcessorThread.run (RequestProcessor.java:611) Fri Aug 17 12:40:17 PDT 2001: java.lang.Exception: Cannot delete file xmlstuff/f.xml in C:\ZZZ\sampledir. org.openide.filesystems.FSException: Cannot delete file xmlstuff/f.xml in C:\ZZZ\sampledir. at org.openide.filesystems.FSException.io(FSException.java:78) at org.openide.filesystems.LocalFileSystem.delete (LocalFileSystem.java:277) at org.netbeans.core.ExLocalFileSystem.delete(ExLocalFileSystem.java:74) at org.openide.filesystems.LocalFileSystem$Impl.delete (LocalFileSystem.java:615) at org.openide.filesystems.AbstractFileObject.delete (AbstractFileObject.java:458) at org.openide.loaders.FileEntry.delete(FileEntry.java:100) at org.openide.loaders.MultiDataObject.handleDelete (MultiDataObject.java:409) at org.openide.loaders.DataObject$2.run(DataObject.java:521) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.loaders.DataObject.delete(DataObject.java:519) at org.openide.loaders.DataFolder.handleDelete(DataFolder.java:545) at org.openide.loaders.DataObject$2.run(DataObject.java:521) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.loaders.DataObject.delete(DataObject.java:519) at org.openide.loaders.DataNode.destroy(DataNode.java:210) at org.openide.nodes.FilterNode.destroy(FilterNode.java:315) at org.openide.explorer.ExplorerActions$DeleteActionPerformer$DestroyAtomic.invoke (ExplorerActions.java:504) at $Proxy3.run(Unknown Source) at org.openide.filesystems.EventControl.runAtomicAction (EventControl.java:69) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:366) at org.openide.explorer.ExplorerActions$DestroyInvoker.run (ExplorerActions.java:545) at org.openide.explorer.ExplorerActions$DeleteActionPerformer.doDestroy (ExplorerActions.java:471) at org.openide.explorer.ExplorerActions$DeleteActionPerformer.performAction (ExplorerActions.java:440) at org.openide.util.actions.CallbackSystemAction.performAction (CallbackSystemAction.java:102) at org.openide.util.actions.CallableSystemAction.actionPerformed (CallableSystemAction.java:66) at org.netbeans.core.ModuleActions$1.run(ModuleActions.java:85) at org.openide.util.Task.run(Task.java:152) [catch] at org.openide.util.RequestProcessor$ProcessorThread.run (RequestProcessor.java:611) Fri Aug 17 12:40:17 PDT 2001: java.lang.Exception: null java.lang.Exception at org.openide.filesystems.StreamPool$NotifyInputStream.<init> (StreamPool.java:253) at org.openide.filesystems.StreamPool.createInputStream (StreamPool.java:58) at org.openide.filesystems.AbstractFileObject.getInputStream (AbstractFileObject.java:166) at org.apache.tools.ant.module.loader.AntProjectDataLoader.findPrimaryFile (AntProjectDataLoader.java:149) at org.openide.loaders.MultiFileLoader.findPrimaryFileImpl (MultiFileLoader.java:232) at org.openide.loaders.MultiFileLoader.handleFindDataObject (MultiFileLoader.java:65) at org.openide.loaders.DataLoader.findDataObject(DataLoader.java:221) at org.openide.loaders.DataLoaderPool.findDataObject (DataLoaderPool.java:361) at org.openide.loaders.FolderList.createBoth(FolderList.java:561) at org.openide.loaders.FolderList.getObjects(FolderList.java:381) at org.openide.loaders.FolderList.access$200(FolderList.java:42) at org.openide.loaders.FolderList$ListTask.run(FolderList.java:727) at org.openide.util.Task.run(Task.java:152) [catch] at org.openide.util.RequestProcessor$ProcessorThread.run (RequestProcessor.java:611) Fri Aug 17 12:40:17 PDT 2001: java.lang.Exception: null java.lang.Exception at org.openide.filesystems.StreamPool$NotifyInputStream.<init> (StreamPool.java:253) at org.openide.filesystems.StreamPool.createInputStream (StreamPool.java:58) at org.openide.filesystems.AbstractFileObject.getInputStream (AbstractFileObject.java:166) at org.apache.tools.ant.module.loader.AntProjectDataLoader.findPrimaryFile (AntProjectDataLoader.java:149) at org.openide.loaders.MultiFileLoader.findPrimaryFileImpl (MultiFileLoader.java:232) at org.openide.loaders.MultiFileLoader.handleFindDataObject (MultiFileLoader.java:65) at org.openide.loaders.DataLoader.findDataObject(DataLoader.java:221) at org.openide.loaders.DataLoaderPool.findDataObject (DataLoaderPool.java:361) at org.openide.loaders.FolderList.createBoth(FolderList.java:561) at org.openide.loaders.FolderList.getObjects(FolderList.java:381) at org.openide.loaders.FolderList.access$200(FolderList.java:42) at org.openide.loaders.FolderList$ListTask.run(FolderList.java:727) at org.openide.util.Task.run(Task.java:152) [catch] at org.openide.util.RequestProcessor$ProcessorThread.run (RequestProcessor.java:611)
Created attachment 2226 [details] Test case data for this bug.
Changing Priority to P2.
This problem was caused by filesystems implementation. *** This issue has been marked as a duplicate of 14766 ***
Resolved for 3.4.x or earlier, no new info since then -> verified
Resolved for 3.4.x or earlier, no new info since then -> closing.