Expand my Community achievements bar.

OutOfMemoryError in the Workbench ES - Any Good Idea or Solution

Avatar

Former Community Member

Hello everyone,

I very often get some OutOfMemoryError in the Workbench ES.

My configuration:

Hardware: Intel Core 2 Quad - Q9550 - 2.83 Ghz - 4Go of RAM - 32 bits (this is a new workstation computer).

Software: Windows XP pro service pack 3.

JBoss for Adobe LiveCycle ES - Jboss Livecycle version 8.2 with SP2 of LiveCycle ES and Workbench.

When a try to add a component in the workbench, I get an outOfMemoreException in the log file. I am developpoing a component which is a ECM Connector.

Here is my trace:

!SESSION 2009-06-15 15:45:38.741 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CH
Framework arguments:  #Product Runtime Configuration File -is:javaconsole
Command-line arguments:  -os win32 -ws win32 -arch x86 #Product Runtime Configuration File -is:javaconsole

!ENTRY com.adobe.ide.singlesignon 1 1 2009-06-15 15:45:40.444
!MESSAGE LiveCycle Workbench ES version '8.2.1.2'

!ENTRY com.adobe.ide.singlesignon 1 1 2009-06-15 15:46:06.461
!MESSAGE User 'administrator' logged in to server 'Livecycle ES - localhost' (hostname: 'localhost')

!ENTRY org.eclipse.osgi 2 1 2009-06-15 15:46:09.226
!MESSAGE NLS unused message: ValidationTable_Validate in: I18N

!ENTRY org.eclipse.ui 4 4 2009-06-15 15:46:09.836
!MESSAGE Invalid Menu Extension (Path is invalid): org.eclipse.ui.edit.text.gotoLastEditPosition

!ENTRY com.adobe.DSC_Admin_UI 4 4 2009-06-15 15:54:28.661
!MESSAGE failed to retrieve list of components
!STACK 0
ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
    at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.throwExceptionHandler(SoapAxisDispatcher.java:207)
    at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:125)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:57)

    at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
    at com.adobe.idp.dsc.registry.component.client.ComponentRegistryClient.invoke(ComponentRegistryClient.java:373)
    at com.adobe.idp.dsc.registry.component.client.ComponentRegistryClient.getComponents(ComponentRegistryClient.java:63)
    at com.adobe.dsc.contentprovider.MixedRegistryContentProvider$RegistryRootEntry.getChildren(MixedRegistryContentProvider.java:150)
    at com.adobe.dsc.contentprovider.MixedRegistryContentProvider.getChildren(MixedRegistryContentProvider.java:575)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1166)
    at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:768)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(AbstractTreeViewer.java:574)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:543)
    at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:728)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:705)
    at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:892)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1251)
    at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1263)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:181)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937)
    at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:6343)
    at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3794)
    at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1166)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3298)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025)
    at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
    at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1851)
    at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1321)
    at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:5203)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3279)
    at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4783)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1932)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at com.adobe.lcide.rcp.Application.run(Unknown Source)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    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:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
Caused by: java.lang.OutOfMemoryError: Java heap space; nested exception is:
    java.lang.OutOfMemoryError: Java heap space
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)

    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
    at org.apache.axis.client.Call.invoke(Call.java:2748)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:2347)
    at org.apache.axis.client.Call.invoke(Call.java:1804)
    at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:123)
    ... 54 more

Thank you very much.

A continue my message in the next POST.

Thank you very much for all who will have a great idea.

I meet these errors everyday.

ECI

7 Replies

Avatar

Former Community Member

I post the Log files for you to know what happens on my server and in the workbench ...

Thank you very much

User2222

Avatar

Former Community Member

I post the Log files for you to know what happens on my server and in the workbench ...

log1.txt

Avatar

Former Community Member

server.txt under the Jboss directory ....this is the server.log file.

Avatar

Former Community Member

Moreover,

I have watched the SOAP message sent by the server.

It is very long and badly formatted. The XML tags are not correctly closed in the message sent by the server. I think this can cause a OutOfMemoryError in some cases, because the workbench can not parse the message it receives.

I have looked in Google for the message: org.apache.axis.message.SOAPFaultBuilder.createFault SOAPFaultBuilder.java:221 , but I did not find much things.

Thank you very much.

User2222

Avatar

Former Community Member

Hello everyone,

I found a possible cause of my problem.

I change -Xmx128m to -Xmx64m. And I get less OOMEs (OutOfMemoryError). My computer is configured for the development of a ECM Connector - I mean this is not a server machine with many users.

When the JVM lack of memory, it tries to take 64m instead of 128m from the Operating System (Windows XP - Quad Core - 4Go of RAM).

If think that it often fails to find a block of 128m in one step, and it is easier for the JVM to get 64m twice.

May be the GC has a different behavior with  64m?

My current configuration file of workbench.ini is:

#Product Runtime Configuration File
-vmargs
-Xms64m

-Xmx1024m
-XX:MaxHeapFreeRatio=75
-XX:MinHeapFreeRatio=40
-XX:+UseConcMarkSweepGC
-XX:+UseLargePages
-XX:LargePageSizeInBytes=500m

I get less OOME now. My problem is partially solved.

http://java.sun.com/performance/reference/whitepapers/tuning.html

Thank you