Project: SWT
Bug 99561 GDI+ crash with icons where width > height [was: GEF paint() with setAlpha caused JVM crash]
Reported: 2005-06-13 00:30:32 | Status: resolved fixed

I'll give more information later if needed. Eclipse 3.1RC2, GEF 3.1RC1, WindowsXP. This might be a SWT but though and not GEF I'm guessing. An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x77F83AED Function=RtlSizeHeap+0x7D7 Library=C:\WINDOWS\System32\ntdll.dll Current Java thread: at org.eclipse.swt.internal.gdip.Gdip.Bitmap_new(Native Method) at org.eclipse.swt.graphics.Image.createGdipImage(Image.java:890) at org.eclipse.swt.graphics.GC.drawImage(GC.java:671) at org.eclipse.swt.graphics.GC.drawImage(GC.java:622) at org.eclipse.draw2d.SWTGraphics.drawImage(SWTGraphics.java:343) at org.eclipse.draw2d.ImageFigure.paintFigure(ImageFigure.java:121) at org.eclipse.draw2d.Figure.paint(Figure.java:1053) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1127) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at com.lombardisoftware.client.ae.gef.widgets.TWAbstractStepFigure.paint(TWAbstractStepFigure.java:144) at com.lombardisoftware.bpd.component.flowcomponent.activity.ae.ActivityWidget.paint(ActivityWidget.java:56) at teamworks.bpd.heatmap.marker.BPDMarker$MarkerShape.fillShape(BPDMarker.java:119) at org.eclipse.draw2d.Shape.paintFigure(Shape.java:107) at org.eclipse.draw2d.Figure.paint(Figure.java:1053) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:156) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1091) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Figure.paint(Figure.java:1055) at org.eclipse.draw2d.DeferredUpdateManager.repairDamage(DeferredUpdateManager.java:225) at org.eclipse.draw2d.DeferredUpdateManager.performUpdate(DeferredUpdateManager.java:145) - locked <0x10da3ba0> (a org.eclipse.draw2d.DeferredUpdateManager) at org.eclipse.draw2d.DeferredUpdateManager$UpdateRequest.run(DeferredUpdateManager.java:40) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:118) - locked <0x10014a00> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3035) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2694) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1716) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1680) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:365) 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:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) Dynamic libraries: 0x00400000 - 0x0040B000 C:\Program Files\Java\j2re1.4.2_08\bin\javaw.exe 0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll 0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll 0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll 0x78000000 - 0x78087000 C:\WINDOWS\system32\RPCRT4.dll 0x77D40000 - 0x77DCD000 C:\WINDOWS\system32\USER32.dll 0x7F000000 - 0x7F041000 C:\WINDOWS\system32\GDI32.dll 0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll 0x08000000 - 0x08138000 C:\Program Files\Java\j2re1.4.2_08\bin\client\jvm.dll 0x76B40000 - 0x76B6C000 C:\WINDOWS\System32\WINMM.dll 0x10000000 - 0x10007000 C:\Program Files\Java\j2re1.4.2_08\bin\hpi.dll 0x00820000 - 0x0082E000 C:\Program Files\Java\j2re1.4.2_08\bin\verify.dll 0x00830000 - 0x00849000 C:\Program Files\Java\j2re1.4.2_08\bin\java.dll 0x00850000 - 0x0085E000 C:\Program Files\Java\j2re1.4.2_08\bin\zip.dll 0x02E70000 - 0x02E7F000 C:\Program Files\Java\j2re1.4.2_08\bin\net.dll 0x71AB0000 - 0x71AC4000 C:\WINDOWS\System32\WS2_32.dll 0x71AA0000 - 0x71AA8000 C:\WINDOWS\System32\WS2HELP.dll 0x02E80000 - 0x02E88000 C:\Program Files\Java\j2re1.4.2_08\bin\nio.dll 0x03350000 - 0x033A0000 C:\Dev\Community\.metadata\.plugins\org.eclipse.pde.core\Eclipse Application\org.eclipse.osgi\bundles\98\1\.cp\swt-win32-3137.dll 0x4FEC0000 - 0x4FFF6000 C:\WINDOWS\system32\ole32.dll 0x77340000 - 0x773CB000 C:\WINDOWS\system32\COMCTL32.dll 0x763B0000 - 0x763F5000 C:\WINDOWS\system32\comdlg32.dll 0x70A70000 - 0x70AD6000 C:\WINDOWS\system32\SHLWAPI.dll 0x7CD00000 - 0x7D4FA000 C:\WINDOWS\system32\SHELL32.dll 0x77120000 - 0x771AB000 C:\WINDOWS\system32\OLEAUT32.dll 0x76390000 - 0x763AC000 C:\WINDOWS\System32\IMM32.dll 0x72FA0000 - 0x72FFA000 C:\WINDOWS\System32\USP10.dll 0x71950000 - 0x71A35000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.1643_x-ww_7c3a9bc6\comctl32.dll 0x5AD70000 - 0x5ADA4000 C:\WINDOWS\System32\uxtheme.dll 0x74720000 - 0x74764000 C:\WINDOWS\System32\MSCTF.dll 0x74C80000 - 0x74CAC000 C:\WINDOWS\System32\oleacc.dll 0x55900000 - 0x55961000 C:\WINDOWS\System32\MSVCP60.dll 0x71A50000 - 0x71A8B000 C:\WINDOWS\System32\mswsock.dll 0x76F20000 - 0x76F45000 C:\WINDOWS\System32\DNSAPI.dll 0x76FB0000 - 0x76FB7000 C:\WINDOWS\System32\winrnr.dll 0x76F60000 - 0x76F8C000 C:\WINDOWS\system32\WLDAP32.dll 0x76FC0000 - 0x76FC5000 C:\WINDOWS\System32\rasadhlp.dll 0x76380000 - 0x76385000 C:\WINDOWS\System32\msimg32.dll 0x605D0000 - 0x605D8000 C:\WINDOWS\System32\mslbui.dll 0x03A40000 - 0x03A66000 C:\Program Files\Trillian\events.dll 0x7C340000 - 0x7C396000 C:\Program Files\Trillian\MSVCR71.dll 0x03B00000 - 0x03B13000 C:\Program Files\Dell\QuickSet\dadkeyb.dll 0x71A90000 - 0x71A98000 C:\WINDOWS\System32\wshtcpip.dll 0x03A70000 - 0x03A76000 C:\Program Files\Java\j2re1.4.2_08\bin\ioser12.dll 0x7C890000 - 0x7C911000 C:\WINDOWS\System32\CLBCATQ.DLL 0x77050000 - 0x77115000 C:\WINDOWS\System32\COMRes.dll 0x77C00000 - 0x77C07000 C:\WINDOWS\system32\VERSION.dll 0x74770000 - 0x747FF000 C:\WINDOWS\System32\mlang.dll 0x04870000 - 0x04982000 C:\Program Files\Java\j2re1.4.2_08\bin\awt.dll 0x73000000 - 0x73023000 C:\WINDOWS\System32\WINSPOOL.DRV 0x04990000 - 0x049E1000 C:\Program Files\Java\j2re1.4.2_08\bin\fontmanager.dll 0x04030000 - 0x04042000 C:\Dev\Community\.metadata\.plugins\org.eclipse.pde.core\Eclipse Application\org.eclipse.osgi\bundles\98\1\.cp\swt-gdip-win32-3137.dll 0x70D00000 - 0x70E91000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.1360_x-ww_24a2ed47\gdiplus.dll 0x76C90000 - 0x76CB2000 C:\WINDOWS\system32\imagehlp.dll 0x6D510000 - 0x6D58D000 C:\WINDOWS\system32\DBGHELP.dll 0x76BF0000 - 0x76BFB000 C:\WINDOWS\System32\PSAPI.DLL Heap at VM Abort: Heap def new generation total 1536K, used 202K [0x10010000, 0x101b0000, 0x104f0000) eden space 1408K, 9% used [0x10010000, 0x10031758, 0x10170000) from space 128K, 53% used [0x10170000, 0x101813d8, 0x10190000) to space 128K, 0% used [0x10190000, 0x10190000, 0x101b0000) tenured generation total 18656K, used 9451K [0x104f0000, 0x11728000, 0x14010000) the space 18656K, 50% used [0x104f0000, 0x10e2ad18, 0x10e2ae00, 0x11728000) compacting perm gen total 25088K, used 24967K [0x14010000, 0x15890000, 0x18010000) the space 25088K, 99% used [0x14010000, 0x15871e58, 0x15872000, 0x15890000) Local Time = Sun Jun 12 23:26:01 2005 Elapsed Time = 93 # # The exception above was detected in native code outside the VM # # Java VM: Java HotSpot(TM) Client VM (1.4.2_08-b03 mixed mode) # # An error report file has been saved as hs_err_pid2120.log. # Please refer to the file for further information. #

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java