Bug 212868 - [misc] Index out of bounds in RevisionPainter
Summary: [misc] Index out of bounds in RevisionPainter
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.3   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 4.3 M7   Edit
Assignee: Dani Megert CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2007-12-13 08:34 EST by Stefan Xenos CLA
Modified: 2013-04-11 08:38 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Xenos CLA 2007-12-13 08:34:07 EST
A user has reported seeing the following stack trace when using live annotate.
It appears that the text annotation ruler was updating at the time.


eclipse.buildId=I20071003-2004
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20070426 (JIT enabled)
J9VM - 20070420_12448_lHdSMR
JIT  - 20070419_1806_r8
GC   - 200704_19
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_CA
Command-line arguments:  -os linux -ws gtk -arch x86

Error
Thu Oct 04 12:32:36 GMT-05:00 2007
Unhandled event loop exception

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Index out of bounds)
	at org.eclipse.swt.SWT.error(SWT.java:3563)
	at org.eclipse.swt.SWT.error(SWT.java:3481)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:615)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
Caused by: java.lang.IllegalArgumentException: Index out of bounds
	at org.eclipse.swt.SWT.error(SWT.java:3547)
	at org.eclipse.swt.SWT.error(SWT.java:3481)
	at org.eclipse.swt.SWT.error(SWT.java:3452)
	at org.eclipse.swt.custom.StyledText.getOffsetAtLine(StyledText.java:3754)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.getBaselineBias(RevisionPainter.java:902)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.paintRange(RevisionPainter.java:871)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.paint(RevisionPainter.java:726)
	at org.eclipse.jface.text.source.LineNumberChangeRulerColumn.doPaint(LineNumberChangeRulerColumn.java:188)
	at org.eclipse.jface.text.source.LineNumberRulerColumn.doubleBufferPaint(LineNumberRulerColumn.java:612)
	at org.eclipse.jface.text.source.LineNumberRulerColumn.redraw(LineNumberRulerColumn.java:764)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.redraw(RevisionPainter.java:1380)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.access$16(RevisionPainter.java:1379)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter$3.run(RevisionPainter.java:1357)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	... 22 more
Comment 1 Dani Megert CLA 2007-12-13 09:47:20 EST
Which editor? Steps?
Comment 2 Stefan Xenos CLA 2007-12-13 11:40:53 EST
I was not given any steps to reproduce - only the stack trace. Besides which, any steps probably wouldn't be reproducable in the Eclipse UI since the annotations themselves were computed by our RCP app.

If the stack trace itself is not helpful, feel free to close.
Comment 3 Dani Megert CLA 2007-12-13 13:02:28 EST
The stack trace alone doesn't help much as it's important which pieces play together and how.
Comment 4 Dani Megert CLA 2010-01-28 03:06:17 EST
Could never reproduce this.
Comment 5 Dani Megert CLA 2013-04-11 08:38:02 EDT
I ran into this and could debug it now.

Fixed with http://git.eclipse.org/c/platform/eclipse.platform.text.git/commit/?id=7e6b40aea02415657ab925a76e5a6cbc07d08e38