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.
dev build 200411211900 JDK 1.5 Select 10-20 files in one-two directories, and invoke CVS | Remove on them. Most of the time, you'll get an IndexOutOfBoundsException, sometimes you'll end up with two copies of the same file showing up as "removed" in explorer, sometimes entire subdirectories will disappear from explorer -- all of this before a commit has even been invoked. Something seems to be majorily broken with CVS | Remove... Fortunately most of these bugs seem to be cosmetic and restart Netbeans (as ugly as it is) fixes the corrupt state of the explorer panel.
Occasionally, this happened to me as well. Can you please attach the exception? In my opinion this is a fault of explorer...
Please don't blame explorer until you've analyzed the stack trace. The bug apparently occurs while performing a VCS operation. The evaluation should start in VCS then.
Gili, please attach the exception, so that we can evaluate this defect. Thanks.
Created attachment 19107 [details] Exception stack-trace
Ok, it really looks like an explorer problem.
*** Issue 52389 has been marked as a duplicate of this issue. ***
*** Issue 52899 has been marked as a duplicate of this issue. ***
Probably related to issue 51781
*** Issue 56538 has been marked as a duplicate of this issue. ***
Seems like a combination of FilterNode problem with another problem in explorer/visualizers. Can be quite often reproduced in NB-based products, so raising priority.
Partially fixed: openide/src/org/openide/explorer/view/VisualizerChildren.java,v1.16 The problem is with different nodes that are equals(), from now on, the explorer should survive that situation if it can't fail properly, but usage of such nodes is strongly discouraged.
*** Issue 51781 has been marked as a duplicate of this issue. ***
This issue itself is fixed. The additional issues that helped to trigger this one were reported separately as issue 57768 and issue 57769. Marking this one as FIXED.
The patch used in trunk is at http://www.netbeans.org/source/browse/openide/src/org/openide/explorer/view/VisualizerChildren.java?r1=1.15&r2=1.16
Using == instead of equals is correct, that is what the Visualizer.findVisualizer cache does as well. Your fix looks right? Btw. where is the test to proof you are really fixing something? I thought you had one, but there is no reference to in the bug report.
Sorry I forgot to mention the test. Sure there is one in the trunk: http://www.netbeans.org/source/browse/openide/test/unit/src/org/openide/explorer/view/TreeView48993Test.java?r1=1.6&r2=1.7
Integrate to 4.1 then. Your patch provably fixes possible problem and I cannot see how it would break something else.
Backported the fix: /cvs/openide/src/org/openide/explorer/view/VisualizerChildren.java,v1.15.40.1
removing works for me in 4.2 20050706, verified.