Bug 67187 [implementation] Concurrent modification of CompilationUnitDocumentProvider's ReverseMap
Was just scrolling through a Java file and got a popup with the following info: Java AST creation (Error: An internal error occurred during: "Java AST creation".) An internal error occurred during: "Java AST creation". java.lang.IndexOutOfBoundsException: Index: 62, Size: 60 java.util.ArrayList.RangeCheck(ArrayList.java:507) java.util.ArrayList.get(ArrayList.java:324) org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$ReverseM ap.get(CompilationUnitDocumentProvider.java:325) org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$Compilat ionUnitAnnotationModel.addAnnotation(CompilationUnitDocumentProvider.java:665) org.eclipse.jface.text.source.AnnotationModel.addAnnotation (AnnotationModel.java:163) org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.calcula teLightBulb(QuickAssistLightBulbUpdater.java:233) org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.doSelec tionChanged(QuickAssistLightBulbUpdater.java:221) org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.access$ 0(QuickAssistLightBulbUpdater.java:204) org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater$1.selec tionChanged(QuickAssistLightBulbUpdater.java:128) org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartLis tenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:164) org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run (SelectionListenerWithASTManager.java:136) org.eclipse.core.internal.jobs.Worker.run(Worker.java:66) Wasn't doing anything remarkable at the time - certainly nothing that I would expect would induce this...
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistLightBulbUpdater.java
/*******************************************************************************
 * Copyright (c) 2000, 2003 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jdt.internal.ui.text.correction;
import java.util.Iterator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.IAnnotationAccessExtension;
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.IAnnotationPresentation;