Bug 52336 [Viewers] Internal error at start of debug session
Was trying to debug my plugin when I got this. Note that the error occurred in the 2nd instance of eclipse. Am using eclipse build m7. Steps: 1. Debug as 'Runtime Workbench' 2. In 2nd instance of eclipse create java project and create class package p1; public class c1 { public static void main(String[] args) throws Throwable { synchronized ( c1.class ) { c1.class.wait(); } } } 3. Debug new project as 'Java Application' Dlg popped in 2nd instance of eclipse stating 'Internal Error'. .log file contained text below. !SESSION lut 17, 2004 21:45:38.796 --------------------------------------------- java.version=1.4.2_03 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=pl_PL Command-line arguments: -data c:\home2\dsmall\temp\m6_workspace -dev bin !ENTRY org.eclipse.core.runtime 4 2 lut 17, 2004 21:45:38.796 !MESSAGE An internal error occurred during: "Debug". !STACK 0 java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.jface.util.ListenerList.add(ListenerList.java:103) at org.eclipse.jface.viewers.LabelProvider.addListener (LabelProvider.java:43) at org.eclipse.debug.internal.ui.LazyModelPresentation.getPresentation (LazyModelPresentation.java:196) at org.eclipse.debug.internal.ui.LazyModelPresentation.getText (LazyModelPresentation.java:121) at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText (DelegatingModelPresentation.java:183) at org.eclipse.debug.internal.ui.views.DebugViewLabelDecorator$LabelJob.run (DebugViewLabelDecorator.java:326) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)
bundles/org.eclipse.jface/src/org/eclipse/jface/util/ListenerList.java
* <code>remove</code> method compares based on identity.
 * </p>
 * <p>
 * Use the <code>getListeners</code> method when notifying listeners.
 * Note that no garbage is created if no listeners are registered.
 * The recommended code sequence for notifying all registered listeners
 * of say, <code>FooListener.eventHappened</code>, is:
 * <pre>
 * Object[] listeners = myListenerList.getListeners();
 * for (int i = 0; i < listeners.length; ++i) {
 *    ((FooListener) listeners[i]).eventHappened(event);
 * }
 * </pre>
 * </p>
 */
public class ListenerList {
	/**
	 * The initial capacity of the list. Always >= 1.
	 */
	private int capacity;
	/**
	 * The current number of listeners.
	 * Maintains invariant: 0 <= size <= listeners.length.
	 */
	private int size;
	/**
	 * The list of listeners.  Initially <code>null</code> but initialized
	 * to an array of size capacity the first time a listener is added.
	 * Maintains invariant: listeners != null IFF size != 0
	 */