| Summary: | Java.lang.OutOfMemoryError: PermGen space and eclipse shutdown. | ||
|---|---|---|---|
| Product: | [Modeling] Papyrus | Reporter: | Wojciech Trocki <wtrocki> |
| Component: | Core | Assignee: | Project Inbox <mdt-papyrus-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | andreas |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Wojciech Trocki
Error log: !ENTRY org.eclipse.ui 4 0 2011-04-14 09:44:15.774 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393) at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:466) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at org.eclipse.gmf.runtime.diagram.ui.providers.ide.internal.providers.DiagramIDEContributionItemProvider.createAction(DiagramIDEContributionItemProvider.java:41) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider.getAction(AbstractContributionItemProvider.java:474) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider.getAction(AbstractContributionItemProvider.java:520) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider.contributeToActionBars(AbstractContributionItemProvider.java:265) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider.contributeToActionBars(AbstractContributionItemProvider.java:154) at org.eclipse.gmf.runtime.common.ui.services.action.internal.contributionitem.ContributeToActionBarsOperation.execute(ContributeToActionBarsOperation.java:75) at org.eclipse.gmf.runtime.common.core.service.ExecutionStrategy$4.execute(ExecutionStrategy.java:182) at org.eclipse.gmf.runtime.common.core.service.Service.execute(Service.java:652) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.ContributionItemService.execute(ContributionItemService.java:293) at org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.ContributionItemService.contributeToActionBars(ContributionItemService.java:241) at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramActionBarContributor.init(DiagramActionBarContributor.java:75) at org.eclipse.ui.part.EditorActionBarContributor.init(EditorActionBarContributor.java:146) at org.eclipse.papyrus.diagram.common.part.UMLDiagramActionBarContributor.init(UMLDiagramActionBarContributor.java:44) at org.eclipse.papyrus.core.multidiagram.actionbarcontributor.CoreComposedActionBarContributor.init(CoreComposedActionBarContributor.java:97) at org.eclipse.ui.internal.EditorManager.createEditorActionBars(EditorManager.java:323) Here are some info to avoid PermGenSpace errors: http://wiki.eclipse.org/FAQ_How_do_I_increase_the_permgen_size_available_to_Eclipse%3F I know how to change permgen space :) My Eclipse has now max permgen space set to 1 GB and problem still exist. Only when working with papyrus. We use papyrus tool in University. (9 users and all have this error at least one time. ) Another stack trace: !ENTRY org.eclipse.emf.facet.widgets.nattable.workbench 1 0 2011-07-01 15:24:02.573 !MESSAGE Model is not editable (org.eclipse.emf.facet.widgets.nattable.workbench_0.1.0.v201106070935) !STACK 0 org.eclipse.emf.facet.util.core.Logger$LogStackTrace at org.eclipse.emf.facet.util.core.Logger.log(Logger.java:116) at org.eclipse.emf.facet.util.core.Logger.logInfo(Logger.java:66) at org.eclipse.emf.facet.widgets.nattable.workbench.internal.actions.OpenTableEditorAction.openOn(OpenTableEditorAction.java:60) at org.eclipse.emf.facet.widgets.nattable.workbench.internal.actions.OpenTableAction.run(OpenTableAction.java:48) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) 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:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) !ENTRY org.eclipse.ui 4 0 2011-07-01 15:24:14.292 !MESSAGE Unhandled event loop exception java.lang.OutOfMemoryError: PermGen space Just to make sure, can you share the jvm arguments you set in the eclipse.ini file ? Ini file content related with jvm memory usage: -Xms140m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=850M I think that resizing max perm size do not resolve this problem, because in some situations permanent generations grows to infinite, but this is only my own opinion. Probably not, I'm currently using -XX:PermSize=64M -XX:MaxPermSize=128M -Xms40m -Xmx1024m and did not face the same issue (I also tried yours without trouble). You are currently using Indigo with Papyrus 0.8.0 right ? Which OS and JRE are you using ? (In reply to comment #6) > Probably not, I'm currently using -XX:PermSize=64M -XX:MaxPermSize=128M > -Xms40m -Xmx1024m and did not face the same issue (I also tried yours without > trouble). > > You are currently using Indigo with Papyrus 0.8.0 right ? Yes. > Which OS and JRE are you using ? Win XP SP3. JRE 1.6.21 When monitoring memory usage using tools in jdk (with no support for permanent generation :( ) the most memory consuming place is a creation a new model using wizard with opening editor. In the current version, Papyrus runs correctly with less than 512M of PermGen space (256m is enough in most all cases) I close this task |