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

Bug 330710

Summary: mouseover raising exception in text editor
Product: [Eclipse Project] e4 Reporter: Paul Webster <pwebster>
Component: UIAssignee: Bogdan Gheorghe <gheorghe>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: daniel_megert, emoffatt, remy.suen
Version: unspecified   
Target Milestone: 4.1   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Paul Webster CLA 2010-11-19 16:02:22 EST
Build: I20101119-1108 4.1 SDK

Whenever my mouse moves over the area that can expand/collapse methods, I get the following error.  The implications is that the GC handle == 0 (but I can't see how that can be possible given the code).

Dani, what do you think?  This is restricted to 4.1, I can't produce in 3.7.


java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:4072)
at org.eclipse.swt.SWT.error(SWT.java:4006)
at org.eclipse.swt.SWT.error(SWT.java:3977)
at org.eclipse.swt.graphics.GC.setForeground(GC.java:3407)
at org.eclipse.jface.text.source.projection.ProjectionAnnotation.drawRangeIndication(ProjectionAnnotation.java:106)
at org.eclipse.jface.text.source.projection.ProjectionAnnotation.paint(ProjectionAnnotation.java:124)
at org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess.paint(DefaultMarkerAnnotationAccess.java:256)
at org.eclipse.jface.text.source.AnnotationRulerColumn.doPaint1(AnnotationRulerColumn.java:790)
at org.eclipse.jface.text.source.AnnotationRulerColumn.doubleBufferPaint(AnnotationRulerColumn.java:541)
at org.eclipse.jface.text.source.AnnotationRulerColumn.redraw(AnnotationRulerColumn.java:824)
at org.eclipse.jface.text.source.projection.ProjectionRulerColumn$2.mouseMove(ProjectionRulerColumn.java:231)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:205)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3539)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3160)
Comment 1 Paul Webster CLA 2010-11-19 16:03:42 EST
typing model. and waiting for content assist produces the following stack trace:

eclipse.buildId=I20101119-1108
java.fullversion=JRE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260sr8-20100401_55940 (JIT enabled, AOT enabled)
J9VM - 20100401_055940
JIT  - r9_20100401_15339
GC   - 20100308_AA
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86 -data /opt/pwebster/workspaces/e4


Error
Fri Nov 19 16:08:34 EST 2010
Internal Error

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Argument not valid)
at org.eclipse.swt.SWT.error(SWT.java:4091)
at org.eclipse.swt.SWT.error(SWT.java:4006)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3514)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3163)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:780)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:696)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:91)
at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:524)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:621)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:576)
at org.eclipse.equinox.launcher.Main.run(Main.java:1409)
Caused by: java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:4072)
at org.eclipse.swt.SWT.error(SWT.java:4006)
at org.eclipse.swt.SWT.error(SWT.java:3977)
at org.eclipse.swt.widgets.Control.setBackground(Control.java:3500)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.createProposalSelector(CompletionProposalPopup.java:644)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$22(CompletionProposalPopup.java:571)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:498)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:482)
at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:376)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
... 23 more
Comment 2 Paul Webster CLA 2010-11-19 16:27:23 EST
Caused by bug 330153 in org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.createShadow(Display, boolean)

PW
Comment 3 Remy Suen CLA 2010-11-19 16:31:42 EST
Please also fix bug 327837 while you're in that method.
Comment 4 Bogdan Gheorghe CLA 2010-11-19 16:53:01 EST
The dispose call is no longer needed as the color will either be disposed by the engine or it's a system color.

Fixed in HEAD > 20101119