Bug 2214 - [UI] Workbench Crashes when image creation fails (1GEANRS)
Summary: [UI] Workbench Crashes when image creation fails (1GEANRS)
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: All Windows 98
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eduardo Pereira CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 2216 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-10-10 22:29 EDT by Unknown User CLA
Modified: 2005-01-18 16:44 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Unknown User CLA 2001-10-10 22:29:53 EDT
1. Open new java perspective.
2. Repeat step 1 about 6 to 10 times.
3. Eventually a message will appear on win 98 saying system resources are low.
4. Repeat step 1 about 1 or 2 times.

Result:

org.eclipse.swt.SWTError: No more handles
	at java.lang.Error.<init>(Error.java:52)
	at org.eclipse.swt.SWTError.<init>(SWTError.java:45)
	at org.eclipse.swt.SWTError.<init>(SWTError.java:34)
	at org.eclipse.swt.SWT.error(SWT.java:1832)
	at org.eclipse.swt.SWT.error(SWT.java:1741)
	at org.eclipse.swt.graphics.Image.init(Image.java(Compiled Code))
	at org.eclipse.swt.graphics.Image.<init>(Image.java(Compiled Code))
	at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:106)
	at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:77)
	at org.eclipse.jface.action.ActionContributionItem$ImageCache.getImage(ActionContributionItem.java:90)
	at org.eclipse.jface.action.ActionContributionItem.updateImages(ActionContributionItem.java:546)
	at org.eclipse.jface.action.ActionContributionItem.update(ActionContributionItem.java:456)
	at org.eclipse.jface.action.ActionContributionItem.fill(ActionContributionItem.java:286)
	at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:197)
	at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.createPartControl(TypeHierarchyViewPart.java:401)
	at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:54)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:640)
	at org.eclipse.core.runtime.Platform.run(Platform.java:388)
	at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:52)
	at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:90)
	at org.eclipse.ui.internal.ViewPane.createControl(ViewPane.java:109)
	at org.eclipse.ui.internal.PartTabFolder.createPartTab(PartTabFolder.java:240)
	at org.eclipse.ui.internal.PartTabFolder.createControl(PartTabFolder.java:212)
	at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:164)
	at org.eclipse.ui.internal.PerspectivePresentation.activate(PerspectivePresentation.java:79)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:501)
	at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:795)
	at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:839)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:81)
	at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:827)
	at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:268)
	at org.eclipse.ui.internal.WorkbenchWindow.access$6(WorkbenchWindow.java:256)
	at org.eclipse.ui.internal.WorkbenchWindow$4.run(WorkbenchWindow.java:611)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:81)
	at org.eclipse.ui.internal.WorkbenchWindow.openPage(WorkbenchWindow.java:608)
	at org.eclipse.ui.actions.OpenPerspectiveMenu.runInNewPage(OpenPerspectiveMenu.java:151)
	at org.eclipse.ui.actions.OpenPerspectiveMenu.runWithPerspectiveValue(OpenPerspectiveMenu.java:206)
	at org.eclipse.ui.actions.OpenPerspectiveMenu.run(OpenPerspectiveMenu.java:134)
	at org.eclipse.ui.actions.PerspectiveMenu$1.widgetSelected(PerspectiveMenu.java:68)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:85)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:643)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1138)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1015)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:624)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:612)
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:810)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:280)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:68)
	at org.eclipse.core.launcher.Main.run(Main.java:337)
	at org.eclipse.core.launcher.UIMain.main(UIMain.java:43)


NOTES:

DS (5/25/01 2:20:29 PM)
	Although allocation failure is more common on win 98, it will be possible on all systems.
	Unless we bound the number of perspectives which the user can create, we must
	deal with allocation failure.
	When this exception occurs we should try to back out of perspective creation OR
	default to the red error image.

DS (5/25/01 2:25:41 PM)
	See also 
		1GEAO1A: ITPUI:WIN98 - Workbench crashes when toolbar allocation fails

JEL (14/06/2001 12:55:25 PM) [123]
	I had the crash in win2k with about 15-20 Java Perspectives; 128MB phys mem + 256MB virtual mem.
Comment 1 DJ Houghton CLA 2001-10-29 17:59:51 EST
PRODUCT VERSION:

eclipse 0.110 on jdk

Comment 2 Eduardo Pereira CLA 2002-02-12 09:06:26 EST
*** Bug 2216 has been marked as a duplicate of this bug. ***
Comment 3 Eduardo Pereira CLA 2002-02-12 09:08:51 EST
We have changed the exception handling on event loop. It will now try to open a 
dialog and show the error to the user with try{}catch blocks around everything 
trying to make it more robust. If other SWTError happen while handling the 
first one then we don't have much to do.