Bug 270138 - Out of memory error occurs when opening Install New Software dialog
Summary: Out of memory error occurs when opening Install New Software dialog
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.5 M7   Edit
Assignee: John Arthorne CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on: 272386 272393 272771
Blocks: 249167
  Show dependency tree
 
Reported: 2009-03-26 12:03 EDT by Matthew Leah CLA
Modified: 2009-04-20 11:56 EDT (History)
4 users (show)

See Also:


Attachments
Attachment from Matthew (2.56 MB, application/zip)
2009-03-28 13:11 EDT, Pascal Rapicault CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Leah CLA 2009-03-26 12:03:41 EDT
Build ID: 20090321-0544

Steps To Reproduce:
1. Install Eclipse 3.5 M6.
2. Use "Install New software.." option to install Web Tools
3.Restart eclipse
4. Use "Install New Software.." option to install Galileo packages.
5. Restart eclipse and open "Install New Software.." dialog.
6. Select the "All Available Sites" from the combo list.
7. Eclipse reports an out of memory errror
6.  


More information:
Attempted to increase the amount of available memory using the galileo.ini file in the eclispe installation folder, but this made no difference - even when doubling allocation.  Log details as follows :-

!SESSION 2009-03-26 15:46:42.322 -----------------------------------------------
eclipse.buildId=I20090313-0100
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui.workbench 2 0 2009-03-26 15:46:49.039
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:46:49.039
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@155d4be),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@155d4be),sourcePriority=16384)
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:46:49.039
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@155d4be),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@155d4be),sourcePriority=16384)

!ENTRY org.eclipse.jface 2 0 2009-03-26 15:46:49.054
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:46:49.054
!MESSAGE A conflict occurred for ALT+SHIFT+D R:
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.debug,Debug on Server,
		Debug the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug,Debug RAP Application,
		Debug RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:46:49.054
!MESSAGE A conflict occurred for ALT+SHIFT+X R:
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.run,Run on Server,
		Run the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.run,Run RAP Application,
		Run RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)

!ENTRY org.eclipse.core.jobs 4 2 2009-03-26 15:47:28.684
!MESSAGE An internal error occurred during: "Saving profile preferences".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOfRange(Unknown Source)
	at java.lang.String.<init>(Unknown Source)
	at org.eclipse.equinox.internal.p2.core.StringPool.add(StringPool.java:51)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser.canonicalize(XMLParser.java:70)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$TextHandler.processCharacters(XMLParser.java:480)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.finishCharacters(XMLParser.java:233)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.endElement(XMLParser.java:185)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:520)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:509)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.restore(SimpleProfileRegistry.java:364)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfileMap(SimpleProfileRegistry.java:229)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalGetProfile(SimpleProfileRegistry.java:189)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfile(SimpleProfileRegistry.java:125)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.computeProfile(ProfilePreferences.java:95)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.doSave(ProfilePreferences.java:106)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences$SaveJob.run(ProfilePreferences.java:46)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SESSION 2009-03-26 15:48:47.444 -----------------------------------------------
eclipse.buildId=I20090313-0100
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui.workbench 2 0 2009-03-26 15:48:54.083
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:48:54.083
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@11a47df),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@11a47df),sourcePriority=16384)
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:48:54.083
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@11a47df),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@11a47df),sourcePriority=16384)

!ENTRY org.eclipse.jface 2 0 2009-03-26 15:48:54.099
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:48:54.099
!MESSAGE A conflict occurred for ALT+SHIFT+D R:
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.debug,Debug on Server,
		Debug the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug,Debug RAP Application,
		Debug RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:48:54.099
!MESSAGE A conflict occurred for ALT+SHIFT+X R:
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.run,Run on Server,
		Run the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.run,Run RAP Application,
		Run RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)

!ENTRY org.eclipse.ui 4 0 2009-03-26 15:49:23.264
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: Java heap space)
	at org.eclipse.swt.SWT.error(SWT.java:3864)
	at org.eclipse.swt.SWT.error(SWT.java:3779)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2357)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2209)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	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:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.equinox.launcher.Main.invokeFramework(Main.java:556)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:511)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1284)
Caused by: java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Unknown Source)
	at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
	at java.lang.AbstractStringBuilder.append(Unknown Source)
	at java.lang.StringBuffer.append(Unknown Source)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.characters(XMLParser.java:209)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:520)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:509)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.restore(SimpleProfileRegistry.java:364)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfileMap(SimpleProfileRegistry.java:229)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalGetProfile(SimpleProfileRegistry.java:189)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfile(SimpleProfileRegistry.java:125)
	at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.getProfile(ProvisioningUtil.java:214)
	at org.eclipse.equinox.internal.provisional.p2.ui.model.ProfileElement.getQueryable(ProfileElement.java:61)
	at org.eclipse.equinox.internal.p2.ui.DefaultQueryProvider.getQueryDescriptor(DefaultQueryProvider.java:55)
	at org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler.doExecute(UpdateHandler.java:49)
	at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$4.run(PreloadingRepositoryHandler.java:85)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2357)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2209)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

!ENTRY org.eclipse.ui 4 0 2009-03-26 15:50:00.589
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Unknown Source)
	at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
	at java.lang.AbstractStringBuilder.append(Unknown Source)
	at java.lang.StringBuffer.append(Unknown Source)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.characters(XMLParser.java:209)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:520)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:509)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.restore(SimpleProfileRegistry.java:364)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfileMap(SimpleProfileRegistry.java:229)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalGetProfile(SimpleProfileRegistry.java:189)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfile(SimpleProfileRegistry.java:125)
	at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.getProfile(ProvisioningUtil.java:214)
	at org.eclipse.equinox.internal.p2.ui.DefaultQueryProvider.getQueryDescriptor(DefaultQueryProvider.java:84)
	at org.eclipse.equinox.internal.p2.ui.model.QueriedElement.fetchChildren(QueriedElement.java:91)
	at org.eclipse.equinox.internal.p2.ui.model.QueriedElement.getChildren(QueriedElement.java:58)
	at org.eclipse.equinox.internal.p2.ui.viewers.DeferredQueryContentProvider.getChildren(DeferredQueryContentProvider.java:114)
	at org.eclipse.equinox.internal.p2.ui.viewers.DeferredQueryContentProvider.getElements(DeferredQueryContentProvider.java:87)
	at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:959)
	at org.eclipse.jface.viewers.ColumnViewer.getRawChildren(ColumnViewer.java:703)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1330)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:390)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(AbstractTreeViewer.java:636)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:602)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:799)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

!ENTRY org.eclipse.core.jobs 4 2 2009-03-26 15:50:29.023
!MESSAGE An internal error occurred during: "Saving profile preferences".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Unknown Source)
	at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
	at java.lang.AbstractStringBuilder.append(Unknown Source)
	at java.lang.StringBuffer.append(Unknown Source)
	at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.characters(XMLParser.java:209)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:520)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry$Parser.parse(SimpleProfileRegistry.java:509)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.restore(SimpleProfileRegistry.java:364)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfileMap(SimpleProfileRegistry.java:229)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalGetProfile(SimpleProfileRegistry.java:189)
	at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfile(SimpleProfileRegistry.java:125)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.computeProfile(ProfilePreferences.java:95)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.doSave(ProfilePreferences.java:106)
	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences$SaveJob.run(ProfilePreferences.java:46)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SESSION 2009-03-26 15:53:04.712 -----------------------------------------------
eclipse.buildId=I20090313-0100
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui.workbench 2 0 2009-03-26 15:53:11.383
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:53:11.383
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@e312),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.gmf.xpand.migration.actions.migrateProject/org.eclipse.gmf.xpand.migration.migratexpandProject,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.gmf.internal.xpand.migration.ui.MigrateXpandProject),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@e312),sourcePriority=16384)
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2009-03-26 15:53:11.383
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@e312),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.jst.jee.ui.CreateDeploymentFilesAction/createDeploymentFiles,
	handler=ActionDelegateHandlerProxy(null,org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate),
	expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@e312),sourcePriority=16384)

!ENTRY org.eclipse.jface 2 0 2009-03-26 15:53:11.398
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:53:11.398
!MESSAGE A conflict occurred for ALT+SHIFT+D R:
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.debug,Debug on Server,
		Debug the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug,Debug RAP Application,
		Debug RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2009-03-26 15:53:11.398
!MESSAGE A conflict occurred for ALT+SHIFT+X R:
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.run,Run on Server,
		Run the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.run,Run RAP Application,
		Run RAP Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Comment 1 Susan McCourt CLA 2009-03-26 14:13:40 EDT
Simon - looks like the OOME occurred while trying to parse the profile.
Comment 2 Simon Kaegi CLA 2009-03-26 14:51:54 EDT
The OOME error is occuring as we're trying to restore the profile map. Normally the profile is loaded just once per session however since the profiles are stored via a weak reference they can be unloaded and GCed in some cases.

In the scenario where the OOME is happening I think we're also loading all the metadata from all possible sites at one time. There is probably other stuff going on as well.

--
Matthew which Galileo packages did you install in step 4?
e.g. 4. Use "Install New Software.." option to install Galileo packages.

Also, can you zip and attach your most recent profile from p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile

Thanks.
Comment 3 Matthew Leah CLA 2009-03-28 08:59:41 EDT
Sorry for the delay in responding.

I am unable to attach a zip containing my profile as requested because it exceeds the maximum attachment size.  I have made it available via

http://www.frobbery.co.uk/profile.zip

To install the Galileo packages, I selected the Galileo update site from the All Available packages list.  Unlike the Ganymede update site, the galileo site did not expand out to show which updates would be included.  My assumption would be that all of the available packages for Galileo were installed.  Watching the downloads, it certainly installed the usual suspects such as BIRT, Modelling, CDT etc.  If there is additional logging you can point me to that would detail the packages, let me know and I can add to the bug.
Comment 4 Pascal Rapicault CLA 2009-03-28 13:11:17 EDT
Created attachment 130166 [details]
Attachment from Matthew
Comment 5 John Arthorne CLA 2009-04-09 08:17:48 EDT
It looks like the test case here is installing all of Galileo... there are >4000 IU's installed in that profile! I'll do some profiling of this scenario to see how we can improve.
Comment 6 John Arthorne CLA 2009-04-20 11:56:20 EDT
After several rounds of optimization we're now a bit better for this case. This is a very large profile containing ~2800 IU's. I profiled loading this profile using I20090407, and the latest from HEAD:

I20090407: Profile object retains 23MB of memory
N20090420: Profile object retains 17MB of memory

This is still large, but about 35% smaller than before. I don't see any more optimizations that we can make in 3.5 that will have a big impact on this scenario, so I'm going to mark this fixed.