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.
System Info: Product Version = NetBeans IDE Dev (Build 200409131800) Operating System = Windows XP version 5.1 running on x86 Java; VM; Vendor = 1.5.0-rc; Java HotSpot(TM) Client VM 1.5.0-rc-b63; Sun Microsystems Inc. Java Home = C:\Program Files\Java\jdk1.5.0\jre ------------------------------------------------- Create new repository (with new empty work dir), create project database on this repository. Create mew project (Web | Web Application) in your work directory. Add whole structure to PVCS repository ( PVCS | Add all, with Add All Subdirectories checked). Externally erase directory ./web/* and invoke command ( PVCS | Refresh ) Exception appears.
Created attachment 17611 [details] Exception desc.
>System Info: Product Version = NetBeans IDE Dev (Build 200409100847) Operating System = Windows XP version 5.1 running on x86 Java; VM; Vendor = 1.5.0-rc; Java HotSpot(TM) Client VM 1.5.0-rc-b63; Sun Microsystems Inc. Java Home = C:\Program Files\Java\jdk1.5.0\jre Also when i same scenario invoke on "Promoted Beta 2" version and try expand nodes ./web/META-INF and expand version-node on file context.xml [Missing] exception appears.
This is completely out of control of VCS.
A problem in explorer view.
Reproducible? (I don't have PVCS here, so I don't like to invest my time on preparing it just to fing out it is not reproducible / tight to PVCS) Seems like threading issue to me.
*** Issue 29255 has been marked as a duplicate of this issue. ***
I've tried reproduce it with todays Build 20040915-0830, first part of test passed somehow, but additional exception (after expanding version node on context.html file) appears - thus its reproducible.
*** Issue 48725 has been marked as a duplicate of this issue. ***
i'll add exception for scenario "expanding version node on A_File [Missing]" - check it out, i think it might be problem of vcscore.
Created attachment 17787 [details] additional exception
I still can't reproduce it. Please note that neither the last exception nor the previous one ("Missing, check it out") are related. We need to track the AIOOBException here. Is that one reproducible?
In fact, it don't need to be threading issue and most probably isn't as we try hard to serialize all the node changes using the Visualizers layer. But it is possible that some node modified its own structure from a getter, which resulted in such inconsistency using only one thread. I've developed a simple swing app that simulates such a behaviour w/o using nodes (or any other NB API). Maybe there is some wrong usage of Mutex.EVENT in the explorer code...
Problem is that the code in VisualizerNode or bellow (swing) is not reentrant. The proper fix is to wrap the runnable in VisualizerNode that executes tasks in AWT queue with Children.MUTEX.readAccess, so no one is allowed to do any changes to structure while painting.
I've put the test that simulates similar problems on a branch. Use: cd openide/test/unit/src/org/openide/explorer/view cvs upd -r reentrant_48993 TreeView48993Test.java to get it and update it.
Fixed in openide/src/org/openide/explorer/view/TreeView.java,v1.174 openide/src/org/openide/explorer/view/VisualizerNode.java,v1.44 I had a deadlock problem with the test even before fixing the issue, so I haven't merged the test yet.
*** Issue 49783 has been marked as a duplicate of this issue. ***
Happened again, even with the readLock in the VisualizerNode.
As it is reproducible from the time it happens for the first time, we can probably dismiss both concurent modification and in-listener modification, and should look for a mechanism that could cause disharmony between TreeModel and its layout cache copy.
*** Issue 50052 has been marked as a duplicate of this issue. ***
*** Issue 50869 has been marked as a duplicate of this issue. ***
Seems like it got fixed by fix of issue #40152.
For VCS part of problem verified with build 200504031800.