Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 109069

Summary: [projection][typing] While undoing the operation, an exception occurred after extract to local variable
Product: [Eclipse Project] JDT Reporter: Benno Baumgartner <benno.baumgartner>
Component: TextAssignee: Tom Hofmann <eclipse>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, Tod_Creasey
Version: 3.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Screenshot of editor after undo none

Description Benno Baumgartner CLA 2005-09-08 11:52:08 EDT
Build id: I20050906-1200

After applaying an `extract to local variable' quick fix and a following undo
operation I've got the following exceptions and the code in the editor was only
partly shown (see screenshot). I could not reproduce it.

!ENTRY org.eclipse.ui 4 0 2005-09-08 17:27:07.966
!MESSAGE While undoing the operation, an exception occurred
!STACK 0
org.eclipse.core.commands.ExecutionException: While undoing the operation, an
exception occurred
	at
org.eclipse.core.commands.operations.DefaultOperationHistory.doUndo(DefaultOperationHistory.java:436)
	at
org.eclipse.core.commands.operations.DefaultOperationHistory.undo(DefaultOperationHistory.java:1266)
	at
org.eclipse.ui.operations.UndoActionHandler.runCommand(UndoActionHandler.java:64)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler$4.run(OperationHistoryActionHandler.java:263)
	at
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
	at
org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:453)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.access$6(TimeTriggeredProgressMonitorDialog.java:1)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog$2.run(TimeTriggeredProgressMonitorDialog.java:201)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.run(TimeTriggeredProgressMonitorDialog.java:213)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:272)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182)
	at
org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108)
	at org.eclipse.core.commands.Command.execute(Command.java:311)
	at
org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:883)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:908)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:893)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:921)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:917)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1231)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3157)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3772)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1680)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2763)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1734)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1698)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:377)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)
Caused by: java.lang.IllegalArgumentException: overlaps with existing fragment
	at
org.eclipse.jface.text.projection.ProjectionDocument.internalAddMasterDocumentRange(ProjectionDocument.java:294)
	at
org.eclipse.jface.text.projection.ProjectionDocument.addMasterDocumentRange(ProjectionDocument.java:559)
	at
org.eclipse.jface.text.projection.ProjectionDocument.adaptProjectionToMasterChange(ProjectionDocument.java:741)
	at
org.eclipse.jface.text.projection.ProjectionDocument.masterDocumentAboutToBeChanged(ProjectionDocument.java:775)
	at
org.eclipse.jface.text.projection.ProjectionDocumentManager.fireDocumentEvent(ProjectionDocumentManager.java:121)
	at
org.eclipse.jface.text.projection.ProjectionDocumentManager.documentAboutToBeChanged(ProjectionDocumentManager.java:138)
	at
org.eclipse.jface.text.AbstractDocument.fireDocumentAboutToBeChanged(AbstractDocument.java:618)
	at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1096)
	at
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument.replace(PartiallySynchronizedDocument.java:111)
	at
org.eclipse.jface.text.DefaultUndoManager$TextCommand.undoTextChange(DefaultUndoManager.java:147)
	at
org.eclipse.jface.text.DefaultUndoManager$CompoundTextCommand.undo(DefaultUndoManager.java:481)
	at
org.eclipse.core.commands.operations.DefaultOperationHistory.doUndo(DefaultOperationHistory.java:416)
	at
org.eclipse.core.commands.operations.DefaultOperationHistory.undo(DefaultOperationHistory.java:1266)
	at
org.eclipse.ui.operations.UndoActionHandler.runCommand(UndoActionHandler.java:64)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler$4.run(OperationHistoryActionHandler.java:263)
	at
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
	at
org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:453)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.access$6(TimeTriggeredProgressMonitorDialog.java:1)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog$2.run(TimeTriggeredProgressMonitorDialog.java:201)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.run(TimeTriggeredProgressMonitorDialog.java:213)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:272)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182)
	at
org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108)
	at org.eclipse.core.commands.Command.execute(Command.java:311)
	at
org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:883)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:908)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:893)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:921)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:917)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1231)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3157)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3772)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1680)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2763)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1734)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1698)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:377)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)

The following exception occurred repeatatly after the first one

!ENTRY org.eclipse.ui 4 0 2005-09-08 17:27:12.341
!MESSAGE Failed to execute runnable (java.lang.IllegalStateException)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.IllegalStateException)
	at org.eclipse.swt.SWT.error(SWT.java:3241)
	at org.eclipse.swt.SWT.error(SWT.java:3164)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3113)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2768)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
	at org.eclipse.jface.window.Window.open(Window.java:787)
	at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:274)
	at org.eclipse.jface.dialogs.ErrorDialog.openError(ErrorDialog.java:338)
	at org.eclipse.jface.dialogs.ErrorDialog.openError(ErrorDialog.java:303)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.reportException(OperationHistoryActionHandler.java:416)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:274)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182)
	at
org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108)
	at org.eclipse.core.commands.Command.execute(Command.java:311)
	at
org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:883)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:908)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:893)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:921)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:917)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1231)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3157)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3772)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1680)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2763)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1734)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1698)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:377)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)
Caused by: java.lang.IllegalStateException
	at
org.eclipse.jface.text.projection.ProjectionMapping.toImageLine(ProjectionMapping.java:478)
	at org.eclipse.jface.text.TextViewer.modelLine2WidgetLine(TextViewer.java:4745)
	at
org.eclipse.jface.text.source.ChangeRulerColumn.doPaint1(ChangeRulerColumn.java:397)
	at
org.eclipse.jface.text.source.ChangeRulerColumn.doubleBufferPaint(ChangeRulerColumn.java:262)
	at
org.eclipse.jface.text.source.ChangeRulerColumn.redraw(ChangeRulerColumn.java:414)
	at
org.eclipse.jface.text.source.ChangeRulerColumn$3.run(ChangeRulerColumn.java:640)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3113)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2768)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
	at org.eclipse.jface.window.Window.open(Window.java:787)
	at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:274)
	at org.eclipse.jface.dialogs.ErrorDialog.openError(ErrorDialog.java:338)
	at org.eclipse.jface.dialogs.ErrorDialog.openError(ErrorDialog.java:303)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.reportException(OperationHistoryActionHandler.java:416)
	at
org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:274)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182)
	at
org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108)
	at org.eclipse.core.commands.Command.execute(Command.java:311)
	at
org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:883)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:908)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:893)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:921)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:917)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1231)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3157)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3772)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1680)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2763)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1734)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1698)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:377)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)
Comment 1 Benno Baumgartner CLA 2005-09-08 11:53:02 EDT
Created attachment 26958 [details]
Screenshot of editor after undo
Comment 2 Dani Megert CLA 2005-09-09 05:00:24 EDT
We've changed code in ProjectionDocument.
Tom, can you please investigate.
Comment 3 Tom Hofmann CLA 2005-09-09 05:47:55 EDT
Investigating
Comment 4 Tom Hofmann CLA 2005-09-09 06:03:27 EDT
Hm, the IAE signals an internal problem of ProjectionDocument stemming from either

- an bug in ProjectionDocument or ProjectionMapping
- a concurrent modification between
ProjectionDocument.computeFirstUnprojectedMasterRegion and
ProjectionDocument.internalAddMasterDocumentRange

The recent change to ProjectionViewer may have revealed this, but is not the
source of the problem.

Lowering the priority again until we have steps.
Comment 5 Dani Megert CLA 2005-12-14 12:01:38 EST
*** Bug 120906 has been marked as a duplicate of this bug. ***
Comment 6 Tod Creasey CLA 2006-01-25 15:53:54 EST
I just got this again in 20060125. I was pulling down the debug menu during a build.

Caused by: java.lang.IllegalStateException
	at org.eclipse.jface.text.projection.ProjectionMapping.toImageLine(ProjectionMapping.java:478)
	at org.eclipse.jface.text.TextViewer.modelLine2WidgetLine(TextViewer.java:4722)
	at org.eclipse.jface.internal.text.MigrationHelper.modelLineToWidgetLine(MigrationHelper.java:295)
	at org.eclipse.jface.text.source.DiffPainter.paintLine(DiffPainter.java:127)
	at org.eclipse.jface.text.source.DiffPainter.paint(DiffPainter.java:96)
	at org.eclipse.jface.text.source.ChangeRulerColumn.doPaint(ChangeRulerColumn.java:298)
	at org.eclipse.jface.text.source.ChangeRulerColumn.doubleBufferPaint(ChangeRulerColumn.java:253)
	at org.eclipse.jface.text.source.ChangeRulerColumn.redraw(ChangeRulerColumn.java:308)
	at org.eclipse.jface.text.source.ChangeRulerColumn$3.run(ChangeRulerColumn.java:439)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	... 24 more
Comment 7 Dani Megert CLA 2006-04-10 12:50:49 EDT

*** This bug has been marked as a duplicate of 134227 ***