Hello,
I have many problems memory, when using the workbench.
When a try to add a component in the workbench, I get an outOfMemoreException in the log file. There is an error message in a popup in the workbench.
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.
MySQL for Adobe LiveCycle ES
Here is my workbench.ini file - the beginning:
-vmargs
-Xms128M
-Xmx512M
-XX:MinHeapFreeRatio=40
-XX:MaxPermSize=512M
Here is my log file from the workbench.
!SESSION 2009-05-20 14:44:12.435 -----------------------------------------------
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
Command-line arguments: -os win32 -ws win32 -arch x86 #Product Runtime Configuration File
!ENTRY com.adobe.ide.singlesignon 1 1 2009-05-20 14:44:13.638
!MESSAGE LiveCycle Workbench ES version '8.2.1.2'
!ENTRY org.eclipse.ui 4 4 2009-05-20 14:44:14.700
!MESSAGE Invalid Menu Extension (Path is invalid): org.eclipse.ui.edit.text.gotoLastEditPosition
!ENTRY com.adobe.DSC_Admin_UI 4 4 2009-05-20 14:44:34.746
!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.setExpandedState(AbstractTreeViewer.java:2201)
at com.adobe.dsc.contentprovider.MixedRegistryContentProvider.userLoggedIn(MixedRegistryContentProvider.java:619)
at com.adobe.ide.singlesignon.LoginChangeProgressMonitor.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:479)
at com.adobe.ide.singlesignon.IDESession.notifyListenersOfLogin(Unknown Source)
at com.adobe.ide.singlesignon.IDESession.localLogin(Unknown Source)
at com.adobe.ide.singlesignon.IDESession.access$000(Unknown Source)
at com.adobe.ide.singlesignon.IDESession$1.run(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:152)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:28)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3763)
at com.adobe.ide.singlesignon.IDESession.login(Unknown Source)
at com.adobe.common.ui.controls.LoginInfoPanel$1.widgetSelected(LoginInfoPanel.java:63)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
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.Link.wmNotifyChild(Link.java:923)
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.Link.callWindowProc(Link.java:124)
at org.eclipse.swt.widgets.Widget.wmLButtonUp(Widget.java:1807)
at org.eclipse.swt.widgets.Control.WM_LBUTTONUP(Control.java:3587)
at org.eclipse.swt.widgets.Link.WM_LBUTTONUP(Link.java:773)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3280)
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)
... 68 more
!ENTRY com.adobe.ide.singlesignon 1 1 2009-05-20 14:44:37.871
!MESSAGE User 'administrator' logged in to server 'Livecycle ES - localhost' (hostname: 'localhost')
!ENTRY com.adobe.DSC_Admin_UI 4 4 2009-05-20 14:44:56.792
!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
Please, can you tell me if you have met thist problem. How didi you solve it ?
Thank you in advance.
ECI
Views
Replies
Total Likes
For as long as Workbench ES has existed I have been running without error on a XP machine with 2 GB of memory using "C:\Program Files\Adobe\LiveCycle ES\Workbench ES\Workbench\workbench.exe" -Xmx512m
Does the error occur when you are using a specific component or does it occur randomly?
Consider modifying your data soruce settings, if you have not already done so.
See http://kb2.adobe.com/cps/406/kb406231.html
<idle-timeout-minutes>10</idle-timeout-minutes>
and change the value from 10 to 1. <max-pool-size>
and change the value to 20. <max-pool-size>
and change the value to 10.Note: If the number of Rights Management requests is high, you may keep the default value for EDC_DS as 20.
<prepared-statement-cache-size>
and change both values to 20. Note: Setting this value reduces the memory used by the cache and may need to be fine-tuned based on the transaction load on your system.
Steve
Views
Replies
Total Likes
Hello,
I did what you told:
- the mysql Jar version was already the mysql-connector-java-5.1.6-bin.jar (may be due to update SP2),
- I changed to adobe-ds.xml file,
- I tried to launch the workbench with -Xmx512m in the command line.
Here is the result:
1- the launch of the workbench isa bit faster.
2- when I try to login with the administrator account, it takes a long while. Then I get an error: I can not logon to the livecycle ES server from the workbench. The message is "Authentication for user administrator on server ... failed, please retry".
In my log file, I get the following.
eclipse.buildId=unknown
java.version=1.5.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CH
Framework arguments: #Product Runtime Configuration File -Xmx512m
Command-line arguments: -os win32 -ws win32 -arch x86 #Product Runtime Configuration File -Xmx512m
!ENTRY com.adobe.ide.singlesignon 1 1 2009-05-25 15:17:37.780
!MESSAGE LiveCycle Workbench ES version '8.2.1.2'
!ENTRY org.eclipse.ui 4 4 2009-05-25 15:17:38.827
!MESSAGE Invalid Menu Extension (Path is invalid): org.eclipse.ui.edit.text.gotoLastEditPosition
!ENTRY com.adobe.ide.singlesignon 4 4 2009-05-25 15:19:26.874
!MESSAGE login failed
I also got another error message - with another configuration when triying to launch the workbench with JRE 1.6.0.12 (I hoped for better performance when replacing the JRE folder) :
!ENTRY com.adobe.ide.singlesignon 4 4 2009-05-25 15:02:46.942
!MESSAGE login failed
!STACK 0
com.adobe.ide.singlesignon.exceptions.IDEServerError: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
at com.adobe.ide.singlesignon.utils.DSInstance.authenticate(Unknown Source)
...
Caused by: 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)
...
Caused by: (404)/soap/sdk
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
On the whole, I still get so errors and I can not logon.
Do you have any suggestion ?
Thank you for taking some time to reply.
What I am tried to do is to added a HelloComponent.jar fronm a tutorial:
http://www.adobe.com/devnet/livecycle/articles/dsc_development.html
My final goal is to developp a ECM Connector.
Thank you
Regards
eci
Views
Replies
Total Likes
Here is a message that I got from Compask
Hi !
I have a similar problem with Adobe Livecycle, exacly OutOfMemory Error while trying to play the recorded process. It happens when I have an renderPDFForm and Xslt transformation in the process (but not when only one of them). I've already changed the -Xmx and -Xms options in server (JBoss) and in WorkBench to maximum size that my mashine handles (1512 in workbench nad 1024 in server) but still got the error.
Have you managed to solve or workaround this problem?
Thanks in advance for a reply
Compask
Let's note that I posted a longer message here: http://forums.adobe.com/thread/448330?tstart=0
For sure, It seems that the axis message is not always correctly correctly formated.
I did not find a solution to my problem. I am still facing these errors during the development of my component.
Views
Replies
Total Likes
The SOLUTION:
After discussing with a colleague, we found the solution.
1 - We did what remove 3 of the parameters as expliained in a post on. I removed the PermSize parameters which were 512M from the registry of JBoss Service for Livecycle.
http://blogs.adobe.com/livecycle/adobe_livecycle_es/
Then the computer has more memory available for the workbench es because the server uses less memory.
2 - I changed the SurvivorRatio in the workbench.ini file and the Garbage Collector parameter. (My Computer is a QuadCore with 4GB RAM)
-vmargs
-Xms768m
-Xmx768m
-Xincgc
-XX:SurvivorRatio=32
-Dcom.sun.management.jmxremote.port=50051
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-XX:SurvivorRatio: Ratio of eden/survivor space size [Solaris amd64: 6; Sparc in 1.3.1: 25; other Solaris platforms in 5.0 and earlier: 32]
Thank you for everybody who halped me.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies