Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 380631 - Eclipse CDT gives Java Heap OOM when used via VNC with "clipboard transfers" enabled.
Summary: Eclipse CDT gives Java Heap OOM when used via VNC with "clipboard transfers" ...
Status: CLOSED DUPLICATE of bug 205678
Alias: None
Product: CDT
Classification: Tools
Component: cdt-other (show other bugs)
Version: 8.0.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Doug Schaefer CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-25 05:44 EDT by Nicholas Lee CLA
Modified: 2012-05-30 03:27 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas Lee CLA 2012-05-25 05:44:12 EDT
The problem occurs when remotely accessing an Ubuntu 12.04 LTS PC from another PC and the "clipboard transfers" option is enabled in the VNC.
The only application to exhibit the problem seems to be Eclipse CDT, which fails on startup with a Java Heap out of memory error.
If I disable the "clipboard transfers" VNC option then Eclipse CDT starts normally.
Increasing the size of the Java Heap space settings in eclipse.ini has NO effect on this problem.
The target machine has 6GB of memory, so it has plenty to play with.

When I start the Eclipse-CDT IDE it immediately crashes with the following message:

 'Project Explorer' has encountered a problem
 An internal error has occured
 Java heap space



 Here is the log...


 java.lang.OutOfMemoryError: Java heap space
 at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:162)
 at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:323)
 at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:241)
 at org.eclipse.cdt.internal.ui.cview.PasteAction$1.run(PasteAction.java:174)
 at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
 at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
 at org.eclipse.swt.widgets.Display.syncExec(Display.java:4330)
 at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:170)
 at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChangedBaseSelectionListenerAction.java:124)
 at org.eclipse.cdt.internal.ui.cview.RefactorActionGroup.updateActionBarsRefactorActionGroup.java:149)
 at org.eclipse.cdt.internal.ui.cview.MainActionGroup.updateActionBarsMainActionGroup.java:313)
 at org.eclipse.cdt.internal.ui.cview.CView.updateActionBars(CView.java:779)
 at org.eclipse.cdt.internal.ui.cview.CView.createPartControl(CView.java:554)
 at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
 at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
 at org.eclipse.ui.internal.WorkbenchPartReference.getPartWorkbenchPartReference.java:595)
 at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2245)
 at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1145)
 at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3921)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
 at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3918)
 at org.eclipse.ui.handlers.ShowViewHandler.openView(ShowViewHandler.java:162)
 at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:76)
 at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
 at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
 at org.eclipse.core.commands.ParameterizedCommand.executeWithChecksParameterizedCommand.java:508)
 at org.eclipse.ui.internal.handlers.HandlerService.executeCommandHandlerService.java:169)
 at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommandSlaveHandlerService.java:241)
 at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelectionCommandContributionItem.java:829)
 at org.eclipse.ui.menus.CommandContributionItem.access$19CommandContributionItem.java:815)
 at org.eclipse.ui.menus.CommandContributionItem$5.handleEventCommandContributionItem.java:805)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)


 Here is the session data...

 eclipse.buildId=I20110613-1736
 java.version=1.7.0_03
 java.vendor=Oracle Corporation
 BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_GB
 Command-line arguments: -os linux -ws gtk -arch x86



 I have tried increasing the Java Heap space, but this did not help.
 I even tried a upgrading the Java version to 1.7, but there was no improvement.

 Here is the contents of my /etc/eclipse.ini file

 -startup
 plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar
 --launcher.library
 plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.dist
 -showsplash
 org.eclipse.platform
 --launcher.XXMaxPermSize
 512m
 --launcher.defaultAction
 openFile
 -vmargs
 -Xms512m
 -Xmx1024m
 -XX:MaxPermSize=512M
 -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins

 -XX:-UseCompressedOops


 NB: I also see the following error in the logs...


 String index out of range: -7


 java.lang.StringIndexOutOfBoundsException: String index out of range: -7
 at java.lang.String.substring(String.java:1949)
 at java.lang.String.substring(String.java:1916)
 at org.eclipse.cdt.managedbuilder.internal.core.AdditionalInput$1LibFilter.acceptAdditionalInput.java:488)
 at org.eclipse.cdt.managedbuilder.internal.core.AdditionalInput.findLibraryAdditionalInput.java:522)
 at org.eclipse.cdt.managedbuilder.internal.core.AdditionalInput.getDepLibsAdditionalInput.java:457)
 at org.eclipse.cdt.managedbuilder.internal.core.AdditionalInput.dependencyChangedAdditionalInput.java:405)
 at org.eclipse.cdt.managedbuilder.internal.core.AdditionalInput.needsRebuildAdditionalInput.java:343)
 at org.eclipse.cdt.managedbuilder.internal.core.InputType.needsRebuildInputType.java:1619)
 at org.eclipse.cdt.managedbuilder.internal.core.Tool.needsRebuild(Tool.java:3307)
 at org.eclipse.cdt.managedbuilder.internal.core.ToolChain.needsRebuildToolChain.java:2068)
 at org.eclipse.cdt.managedbuilder.internal.core.ToolChain.saveRebuildStateToolChain.java:2101)
 at org.eclipse.cdt.managedbuilder.internal.core.ToolChain.serialize(ToolChain.java:872)
 at org.eclipse.cdt.managedbuilder.internal.core.FolderInfo.serialize(FolderInfo.java:385)
 at org.eclipse.cdt.managedbuilder.internal.core.Configuration.serializeConfiguration.java:953)
 at org.eclipse.cdt.managedbuilder.internal.dataprovider.ConfigurationDataProvider.writeConfigurationConfigurationDataProvider.java:124)
 at org.eclipse.cdt.managedbuilder.internal.dataprovider.ConfigurationDataProvider.applyConfigurationConfigurationDataProvider.java:162)
 at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.applyDataCProjectDescriptionManager.java:1124)
 at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache.applyDataCConfigurationDescriptionCache.java:137)
 at org.eclipse.cdt.internal.core.settings.model.CProjectDescription.applyDatasCProjectDescription.java:218)
 at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperationSetCProjectDescriptionOperation.java:97)
 at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:339)
 at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:602)
 at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
 at org.eclipse.cdt.internal.core.model.CModelOperation.runOperationCModelOperation.java:633)
 at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescriptionAbstractCProjectDescriptionStorage.java:203)
 at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescriptionCProjectDescriptionStorageManager.java:149)
 at rg.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescriptionCProjectDescriptionManager.java:836)
 at org.eclipse.cdt.managedbuilder.internal.core.BuildSettingsUtil.checkApplyDescriptionBuildSettingsUtil.java:211)
 at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.updateCoreSettingsManagedBuildManager.java:1561)
 at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager$1.runCfgDiscoveredPathManager.java:152)
 at org.eclipse.cdt.internal.core.model.BatchOperation.executeOperationBatchOperation.java:36)
 at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:339)
 at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:602)
 at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
 at org.eclipse.cdt.core.model.CoreModel.run(CoreModel.java:1233)
 at org.eclipse.cdt.core.model.CoreModel.run(CoreModel.java:1190)
 at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.updateCoreSettingsCfgDiscoveredPathManager.java:155)
 at org.eclipse.cdt.build.core.scannerconfig.ScannerConfigBuilder.buildScannerConfigBuilder.java:124)
 at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
 at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
 at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
 at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
 at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
 at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Anton Leherbauer CLA 2012-05-30 03:27:20 EDT

*** This bug has been marked as a duplicate of bug 205678 ***