Bug 97786 [Viewers] - Lazy Virtual Table View Test - duplicate items appear after delete
3.1 RC1, Win XP - open the Lazy Virtual Table View Test - Scroll down so that element 6110 is the top item - select item 6114 and delete it - select item 6118 and delete it - scroll up two items so that 6108 is the top item - scroll back down and notice duplicate elements at item 6128 and 6129 6126 6127 6128 6129 6128 6129 6130 6131 you might not get the exact same index for the duplicates - it may depend on the number of visible items, etc. But it is definitely reproducible. Resetting the input and trying again will show the problem, but the duplicate items appear later in the list (numbers 6132 and 6133 were duplicates after I reset input and repeated the steps). The location of the duplicates is the same if you open/close the view. ie. once you find the duplicates, you can reproduce consistently by opening/closing the view and following the same steps.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
public Table getTable() {
		return table;
	}
	protected ColumnViewerEditor createViewerEditor() {
		return new TableViewerEditor(this, null,
				new ColumnViewerEditorActivationStrategy(this),
				ColumnViewerEditor.DEFAULT);
	}
	/**
	 * <p>
	 * Sets a new selection for this viewer and optionally makes it visible. The
	 * TableViewer implementation of this method is inefficient for the
	 * ILazyContentProvider as lookup is done by indices rather than elements
	 * and may require population of the entire table in worse case.
	 * </p>
	 * <p>
	 * Use Table#setSelection(int[] indices) and Table#showSelection() if you
	 * wish to set selection more efficiently when using a ILazyContentProvider.
	 * </p>
	 * 
	 * @param selection
	 * 		the new selection
	 * @param reveal
	 * 		<code>true</code> if the selection is to be made visible, and
	 * 		<code>false</code> otherwise
	 * @see Table#setSelection(int[])
	 * @see Table#showSelection()
	 */
	public void setSelection(ISelection selection, boolean reveal) {
		super.setSelection(selection, reveal);