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 15002 - ConcurrentModificationException while unmounting FS
Summary: ConcurrentModificationException while unmounting FS
Status: CLOSED FIXED
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: CVS (show other bugs)
Version: 3.x
Hardware: PC Windows 3.1/NT
: P3 blocker (vote)
Assignee: issues@versioncontrol
URL:
Keywords:
: 18247 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-08-31 09:46 UTC by kovacsp
Modified: 2007-01-04 17:14 UTC (History)
2 users (show)

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 kovacsp 2001-08-31 09:46:00 UTC
Course of actions leading to bug. Actions executed on a CVS file system.
1) Delete directory tree -> nothing seems to happen (status line is empty)
2) Umount CVS files system containing the directory tree involved in the previous step -> nothing seems to happen (status line is empty)
3) Try to delete again -> Error.
Comment 1 Jan Zajicek 2001-09-10 14:44:12 UTC
This is caused by the fact that the first deleting process didn't
finish and the second one tried to delete the same objects. Root of
this is in asynchronous delete.

First question is to show user that some threads are running - ccing
ui because of some discusion about this recently

Assigning to Yarda to suggest some advanced solution ;-)
Comment 2 Jaroslav Tulach 2001-09-19 15:15:54 UTC
Exchange of bugs with Vita.
Comment 3 _ ttran 2001-11-15 18:46:20 UTC
Is this bug reliably reproducible?  Where is the stack trace?
Comment 4 kovacsp 2001-11-15 19:02:03 UTC
I think this error is not reliably reproducible.

*********** Exception occurred ************
Fri Aug 31 10:22:45 CEST 2001: java.util.ConcurrentModificationException: Posted StackTrace
Annotation: Exception occurred in Request Processor
org.openide.util.RequestProcessor$Holder: Posted StackTrace(task org.netbeans.core.ModuleAction
s$1@25f543 [-7090, 1, -1])
        at org.openide.util.RequestProcessor$Task.createHolder(RequestProcessor.java:322)
        at org.openide.util.RequestProcessor.post(RequestProcessor.java:100)
        at org.openide.util.RequestProcessor.post(RequestProcessor.java:73)
        at org.netbeans.core.ModuleActions.invokeAction(ModuleActions.java:89)
        at org.openide.awt.Actions$ButtonBridge.actionPerformed(Actions.java:351)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1
504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:279)
        at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItem
UI.java:886)
        at java.awt.Component.processMouseEvent(Component.java:3715)
        at java.awt.Component.processEvent(Component.java:3544)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2593)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:914)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Comment 5 Jan Chalupa 2001-11-27 13:04:00 UTC
Target milestone -> 3.3.1.
Comment 6 Vitezslav Stejskal 2001-11-30 13:36:35 UTC
Could you, please, attach full bunch of annotated exceptions, the first one (you have attached) shows the 
stack trace of RequestProcessor caller, but doesn't show the real place when CCME occured.
Comment 7 kovacsp 2001-11-30 14:01:44 UTC
Fri Aug 31 10:22:45 CEST 2001:
java.util.ConcurrentModificationException: null

java.util.ConcurrentModificationException

	at java.util.HashMap$HashIterator.next(HashMap.java:736)

	at
org.netbeans.modules.vcscore.cache.CacheDir.writeToDiskRecursively(CacheDir.java:374)

	at
org.netbeans.modules.vcscore.cache.CacheDir.writeToDiskRecursively(CacheDir.java:375)

	at
org.netbeans.modules.vcscore.cache.CacheDir.writeToDiskRecursively(CacheDir.java:375)

	at
org.netbeans.modules.vcscore.cache.CacheDir.writeToDiskRecursively(CacheDir.java:375)

	at
org.netbeans.modules.cvsclient.caching.CvsFsCache.saveToDiskFromNode(CvsFsCache.java:309)

	at
org.netbeans.modules.cvsclient.JavaCvsFileSystem.removeNotify(JavaCvsFileSystem.java:1188)

	at org.openide.filesystems.Repository.removeFileSystem(Repository.java:200)

	at org.netbeans.core.RootFolderNode$1.unmount(RootFolderNode.java:241)

	at
org.netbeans.core.actions.UnmountFSAction.performAction(UnmountFSAction.java:75)

	at org.openide.util.actions.NodeAction.performAction(NodeAction.java:92)

	at org.openide.util.actions.NodeAction.actionPerformed(NodeAction.java:83)

	at org.netbeans.core.ModuleActions$1.run(ModuleActions.java:76)

	at org.openide.util.Task.run(Task.java:124)

[catch] at
org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:626)

[org.openide.loaders.XMLDataObject[at/siemens/csi/util/servlets/server.xml]]
*********** Exception occurred ************

Fri Aug 31 10:24:00 CEST 2001: java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/server.xml

java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/server.xml

	at
org.openide.execution.NbfsURLConnection.connect(NbfsURLConnection.java:101)

	at
org.openide.execution.NbfsURLConnection.getInputStream(NbfsURLConnection.java:112)

	at java.net.URL.openStream(URL.java:798)

	at
org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:149)

	at
org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:491)

	at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:309)

	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:951)

[catch] at
org.openide.loaders.XMLDataObject$InfoParser.parseHeader(XMLDataObject.java:1248)

	at
org.openide.loaders.XMLDataObject$InfoParser.run(XMLDataObject.java:1164)

	at org.openide.util.Task.run(Task.java:124)

	at
org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:626)
[org.openide.loaders.XMLDataObject[at/siemens/csi/util/servlets/web.xml]]
*********** Exception occurred ************

Fri Aug 31 10:24:00 CEST 2001: java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/web.xml

java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/web.xml

	at
org.openide.execution.NbfsURLConnection.connect(NbfsURLConnection.java:101)

	at
org.openide.execution.NbfsURLConnection.getInputStream(NbfsURLConnection.java:112)

	at java.net.URL.openStream(URL.java:798)

	at
org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:149)

	at
org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:491)

	at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:309)

	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:951)

[catch] at
org.openide.loaders.XMLDataObject$InfoParser.parseHeader(XMLDataObject.java:1248)

	at
org.openide.loaders.XMLDataObject$InfoParser.run(XMLDataObject.java:1164)

	at org.openide.util.Task.run(Task.java:124)

	at
org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:626)

[org.openide.loaders.XMLDataObject[at/siemens/csi/util/servlets/server.xml]]
*********** Exception occurred ************

Fri Aug 31 10:24:16 CEST 2001: java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/server.xml

java.io.IOException: Cannot find:
nbfs:org.netbeans.modules.cvsclient.JavaCvsFileSystem[XQCQDsrc]/at/siemens/csi/util/servlets/server.xml

	at
org.openide.execution.NbfsURLConnection.connect(NbfsURLConnection.java:101)

	at
org.openide.execution.NbfsURLConnection.getInputStream(NbfsURLConnection.java:112)

	at java.net.URL.openStream(URL.java:798)

	at
org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:149)

	at
org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:491)

	at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:309)

	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:951)

[catch] at
org.openide.loaders.XMLDataObject$InfoParser.parseHeader(XMLDataObject.java:1248)

	at
org.openide.loaders.XMLDataObject$InfoParser.run(XMLDataObject.java:1164)

	at org.openide.util.Task.run(Task.java:124)

	at
org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:626)


AND ANOTHER SIMIMILAR EXCEPTION:

*********** Exception occurred ************
Thu Oct 18 14:10:06 CEST 2001:
java.util.ConcurrentModificationException: null
Annotation: Type= 3, name =
org.netbeans.modules.cvsclient.JavaCvsFileSystem[D:\data\home\work\java\nivella\src]
java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.next(HashMap.java:736)
	at
org.netbeans.modules.cvsclient.caching.JavaCvsCache.writeAllToDisk(JavaCvsCache.java:179)
	at
org.netbeans.modules.cvsclient.caching.CvsFsCache.saveToDisk(CvsFsCache.java:297)
	at
org.netbeans.modules.cvsclient.JavaCvsFileSystem.writeObject(JavaCvsFileSystem.java:1039)
	at java.lang.reflect.Method.invoke(Native Method)
	at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1864)
	at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
	at
org.netbeans.modules.projects.content.XMLSupport.serializeValue(XMLSupport.java:149)
	at
org.netbeans.modules.projects.content.XMLSupport.encodeValue(XMLSupport.java:165)
[catch] at
org.netbeans.modules.projects.content.XMLProjectContent$XMLDiffSet.addedRawItem(XMLProjectContent.java:458)
	at
org.netbeans.modules.projects.content.XMLSupport.saveDiffSet(XMLSupport.java:271)
	at
org.netbeans.modules.projects.content.XMLProjectContent.saveDiffSet(XMLProjectContent.java:285)
	at
org.netbeans.modules.projects.content.XMLProjectContent.storeRepository(XMLProjectContent.java:365)
	at org.netbeans.modules.projects.PSupport.projectSave(PSupport.java:329)
	at org.netbeans.modules.projects.PSupport$1.run(PSupport.java:788)
	at org.openide.util.Task.run(Task.java:124)
	at
org.openide.util.RequestProcessor$ProcessorThread.run(RequestProcessor.java:626)
[IDE-Exec] Executing:
0 .= c:\jdk1.3.1\jre\..\bin\javac
1 .= -g
2 .= -d
3 .= D:\data\home\work\java\nivella\classes
4 .= -classpath
5 .=
d:\data\netbeans\system;D:\java\netbeans\system;D:\java\netbeans\beans\TimerBean.jar;D:\data\home\work\java\nivella\src;D:\data\home\work\java\nivella\classes;D:\java\openorb\lib\openorb-1.2.0.jar;D:\java\cryptix\cryptix32.jar;D:\java\netbeans\modules\ext\AbsoluteLayout.jar;

Comment 8 Vitezslav Stejskal 2001-11-30 16:43:34 UTC
Sorry guys, but I don't see how is the exception fired from JavaCvsFileSystem related to openide. Could 
javacvs look at it, please.
Comment 9 Milos Kleint 2001-11-30 17:54:33 UTC
This wrong behaviour should be fixed for some time already.
The problem occured when 2 different threads wanted to save the cvs
status cache simultenously. This has been prevented by synchronization.

Neither the JavaCvsFilesystem.removeNotify() nor the
JavaCvsFileSystem.writeObject() methods do include the cache saving
mechanism now.

I consider it fixed, please verify in latest builds.
Comment 10 Milos Kleint 2001-12-01 13:48:02 UTC
*** Issue 18247 has been marked as a duplicate of this issue. ***
Comment 11 Jiri Kovalsky 2001-12-04 17:05:32 UTC
I consider it fixed however if you Peter encounter the bug in latest 
builds of NetBeans 3.3 don't hesitate to reopen this with further de-
tails how to reproduce. Thanks.
Comment 12 Quality Engineering 2003-07-01 12:47:29 UTC
Resolved for 3.4.x or earlier, no new info since then -> closing.