| Summary: | IllegalArgumentException in GC.drawImage, when being called from Thumbnail$ThumbnailUpdater.run() | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] GEF | Reporter: | EPP Error Reports <error-reports-inbox> | ||||
| Component: | GEF-Legacy Draw2d | Assignee: | gef-inbox <gef-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | laurent.redor, nyssen, pierre-charles.david | ||||
| Version: | 3.10.0 | ||||||
| Target Milestone: | 3.10.1 (Mars SR1) M1 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
This seems to have been introduced by the changes needed to fix bug #309912 (see comment #10 and following). It might also be an already existing problem that was simply unveiled by the applied changes. We need to investigate this in more detail. It seems the reason for this is that the sx2 and sy2 values computed in lines 157 and 162 access the current source figure size, which may have changed with respect to the tile sizes computed earlier. Created attachment 253541 [details]
Possible solution, caching the source file, on which the tile size computation was based
Potential fix for the problem.
I confirm that the patch fix our problems detected in Sirius automatic tests suite (bug 309912 comment 10 and following). This fix will be in RC1? RC2 ? ...? I think the risk of putting it into RC2 is too high. I thus see two options: a) ship the fix for bug #309912 as is (i.e. the outline now renders correctly but the IllegalArgumentException might occur in the background) and release this patch in Mars SR1 b) revert the changes applied in terms of bug #309912 for Mars and re-apply them (including this patch) for Mars SR1 or Neon (I am not sure, if API had too be changed, so I would have to check that first) What would you prefer? I prefer option a. We are sure to have this patch in SR1 (no API change). For information, it is not blocking for us (Sirius project) as we have close the outline for problematic tests. (In reply to Laurent Redor from comment #7) > I prefer option a. We are sure to have this patch in SR1 (no API change). > > For information, it is not blocking for us (Sirius project) as we have close > the outline for problematic tests. Ok, my assessment is the same. We will investigate this for Mars SR1 then. Pushed the proposed changes to origin/R3_10_maintenance and origin/master (merged into master). Resolving as fixed in 3.10.1 M1. |
The following incident was reported via the automated error reporting: code: 0 plugin: org.eclipse.ui_3.107.0.v20150107-0903 message: Unhandled event loop exception fingerprint: 91204112 exception class: org.eclipse.swt.SWTException exception message: Failed to execute runnable (java.lang.IllegalArgumentException: Argument not valid) number of children: 0 org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Argument not valid) at org.eclipse.swt.SWT.error(SWT.java:4477) at org.eclipse.swt.SWT.error(SWT.java:4392) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3793) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3431) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:648) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:592) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) caused by: java.lang.IllegalArgumentException: Argument not valid at org.eclipse.swt.SWT.error(SWT.java:4458) at org.eclipse.swt.SWT.error(SWT.java:4392) at org.eclipse.swt.SWT.error(SWT.java:4363) at org.eclipse.swt.graphics.GC.drawImage(GC.java:870) at org.eclipse.draw2d.parts.Thumbnail$ThumbnailUpdater.run(Thumbnail.java:185) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3793) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3431) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:648) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:592) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) General Information: reported-by: anonymous-id: 958ddf0e-fa29-4bf7-9284-09999a720f56 eclipse-build-id: 4.5.0.I20150203-1300 eclipse-product: org.eclipse.epp.package.jee.product operating system: Linux 3.13.0 (x86_64) - gtk jre-version: 1.7.0_75-b13 The following plug-ins were present on the execution stack (*): 1. org.eclipse.core.databinding.observable_1.4.1.v20140910-2107 2. org.eclipse.core.databinding_1.4.100.v20141002-1314 3. org.eclipse.core.runtime_3.10.0.v20150112-1422 4. org.eclipse.draw2d_3.10.0.201502020307 5. org.eclipse.e4.ui.workbench_1.3.0.v20150113-2327 6. org.eclipse.e4.ui.workbench.swt_0.12.100.v20150114-0905 7. org.eclipse.equinox.app_1.3.200.v20130910-1609 8. org.eclipse.equinox.launcher_1.3.0.v20140415-2008 9. org.eclipse.swt_3.104.0.v20150203-2243 10. org.eclipse.ui_3.107.0.v20150107-0903 11. org.eclipse.ui.ide.application_1.0.600.v20150120-1542 12. org.eclipse.ui.ide_3.10.100.v20150126-1117 Please note that: * Messages, stacktraces, and nested status objects may be shortened. * Bug fields like status, resolution, and whiteboard are sent back to reporters. * The list of present bundles and their respective versions was calculated by package naming heuristics. This may or may not reflect reality. Other Resources: * Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/54e6f10ce4b045c0d92bb496 * Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide Thank you for your assistance. Your friendly error-reports-inbox.