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

Bug 126176

Summary: [typing] AFE while typing in JavaEditor
Product: [Eclipse Project] JDT Reporter: Markus Keller <markus.kell.r>
Component: TextAssignee: JDT-Text-Inbox <jdt-text-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: Darin_Swanson, morten-eclipse
Version: 3.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Markus Keller CLA 2006-02-02 08:29:34 EST
I20060131-1200

I got the AFE below, and then, on every change in the editor, an IllegalStateException. The text after the caret was rendered strangely, i.e. there was suddenly an empty line after each source line and redrawing did not work when I moved another window over the editor.

Can't tell exactly what I did just before this started, but I think I used Ctrl+I and then the quick fix to add braces to an if-else statement.

Closing and reopening the editor restored normal functionality - file contents was not affected.

Could be a dup of bug 113248 or bug 108776.

org.eclipse.jface.text.Assert$AssertionFailedException: Assertion failed: 
	at org.eclipse.jface.text.Assert.isTrue(Assert.java:188)
	at org.eclipse.jface.text.Assert.isTrue(Assert.java:173)
	at org.eclipse.jface.text.rules.FastPartitioner.documentChanged2(FastPartitioner.java:296)
	at org.eclipse.jface.text.AbstractDocument.updateDocumentStructures(AbstractDocument.java:652)
	at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:751)
	at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1112)
	at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:151)
	at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1119)
	at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:137)
	at org.eclipse.jface.text.projection.ProjectionTextStore.replace(ProjectionTextStore.java:111)
	at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1105)
	at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1119)
	at org.eclipse.jface.text.projection.ProjectionDocument.replace(ProjectionDocument.java:615)
	at org.eclipse.jface.text.DefaultDocumentAdapter.replaceTextRange(DefaultDocumentAdapter.java:243)
	at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5753)
	at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6443)
	at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2086)
	at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5039)
	at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5065)
	at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:4804)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:944)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:929)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:957)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:953)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1267)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3335)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3235)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3965)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1730)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2905)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1792)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1756)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:401)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:109)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:93)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:69)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:374)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	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)


org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalStateException)
	at org.eclipse.swt.SWT.error(SWT.java:3283)
	at org.eclipse.swt.SWT.error(SWT.java:3206)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3264)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2910)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1792)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1756)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:401)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:109)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:93)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:69)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:374)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	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:4722)
	at org.eclipse.jface.internal.text.JFaceTextUtil.modelLineToWidgetLine(JFaceTextUtil.java:221)
	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:308)
	at org.eclipse.jface.text.source.ChangeRulerColumn.doubleBufferPaint(ChangeRulerColumn.java:263)
	at org.eclipse.jface.text.source.ChangeRulerColumn.redraw(ChangeRulerColumn.java:318)
	at org.eclipse.jface.text.source.ChangeRulerColumn$3.run(ChangeRulerColumn.java:449)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	... 20 more
Comment 1 Dani Megert CLA 2006-02-02 09:42:15 EST
Looks like a VM bug to me (not 100% sure though).
Comment 2 Markus Keller CLA 2006-02-02 11:57:12 EST
This time it happened when I pressed Alt+Left in the CU editor. I was working in the same file for the last few minutes, so I don't think the navigation history should have had to switch to another editor.
Comment 3 Markus Keller CLA 2006-02-15 05:52:14 EST
I found a similar exception in the log today with I20060215-0010.
I didn't notice when it happened.
Re vm bug: I'm running a Sun JDK 1.5.0_06.

java.lang.IllegalStateException
        at org.eclipse.jface.text.projection.ProjectionMapping.toImageLine(ProjectionMapping.java:478)
        at org.eclipse.jface.text.TextViewer.modelLine2WidgetLine(TextViewer.java:4711)
        at org.eclipse.jface.internal.text.JFaceTextUtil.modelLineToWidgetLine(JFaceTextUtil.java:221)
        at org.eclipse.jface.internal.text.source.DiffPainter.paintLine(DiffPainter.java:216)
        at org.eclipse.jface.internal.text.source.DiffPainter.paint(DiffPainter.java:156)
        at org.eclipse.jface.text.source.ChangeRulerColumn.doPaint(ChangeRulerColumn.java:324)
        at org.eclipse.jface.text.source.ChangeRulerColumn.doubleBufferPaint(ChangeRulerColumn.java:279)
        at org.eclipse.jface.text.source.ChangeRulerColumn.redraw(ChangeRulerColumn.java:334)
        at org.eclipse.jface.text.source.ChangeRulerColumn$InternalListener.viewportChanged(ChangeRulerColumn.java:99)
        at org.eclipse.jface.text.TextViewer.updateViewportListeners(TextViewer.java:2656)
        at org.eclipse.jface.text.TextViewer$ViewportGuard.keyPressed(TextViewer.java:220)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:122)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:949)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:934)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:962)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:958)
        at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1557)
        at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:3557)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3265)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:3965)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1799)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2905)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:417)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:99)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:374)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        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 4 Dani Megert CLA 2006-03-02 02:32:32 EST
*** Bug 129701 has been marked as a duplicate of this bug. ***
Comment 5 Darin Swanson CLA 2006-03-28 18:15:49 EST
I am seeing the illegal state exception with the Ant editor and I20060328-0010 on 1.4.2_08
Comment 6 Dani Megert CLA 2006-03-29 02:08:37 EST
>I am seeing the illegal state exception with the Ant editor and I20060328-0010
>on 1.4.2_08
Steps?
Comment 7 Dani Megert CLA 2006-03-31 06:24:49 EST

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