OOM Errors on appfuse.org

22 messages Options
Embed this post
Permalink
1 2
Matt Raible-3

OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
All,

Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
OutOfMemory (OOM) errors.  It only takes about a minute or two after a
restart to get them, which really sucks.  I've been doing some
profiling this evening and haven't been able to find anything that
definitive.  However, it seems that Tapestry and JSF are the worst
offenders.  I can add the other application flavors, and the memory
usage gradually goes up as I click through the apps.  If I stop
clicking, thing stabilize.  With JSF, it shoots up and and keeps
climbing - almost up 150K.  The heap size and stats in JProfiler look
good, but Windows Task Manager shows JSF supplying the biggest hit.

Does anyone have the time to profile any of the AppFuse flavors?  I
can send you any information you might need.

Thanks,

Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
I could give it a shot.

On 4/17/06, Matt Raible <[hidden email]> wrote:
All,

Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
OutOfMemory (OOM) errors.  It only takes about a minute or two after a
restart to get them, which really sucks.  I've been doing some
profiling this evening and haven't been able to find anything that
definitive.  However, it seems that Tapestry and JSF are the worst
offenders.  I can add the other application flavors, and the memory
usage gradually goes up as I click through the apps.  If I stop
clicking, thing stabilize.  With JSF, it shoots up and and keeps
climbing - almost up 150K.  The heap size and stats in JProfiler look
good, but Windows Task Manager shows JSF supplying the biggest hit.

Does anyone have the time to profile any of the AppFuse flavors?  I
can send you any information you might need.

Thanks,

Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
In reply to this post by Matt Raible-3
Matt,
I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.  Did you have a lot of data in your database? I've been clicking on links/ update/ sort etc for 10 - 15 minutes but the app does not raise an OOM error and the task manager memory footprint also reduces once I stop clicking and settles back to the low value after GC is done. Maybe someone else could try reproducing this. btw what JVM heap size are you running with? And at what memory size are you running out of memory. Do you have a stack trace?

I did notice another thing though while manually stress testing it. Clicking on the the save button of a user reached from
"View  Users" in rapid succession yields the following exception. I haven't investigated this yet but this probably occurs when multiple threads are trying to update the record concurrently. Not sure if this exception is by design for Hibernate optimistic locking.
 
[appfuse-jsf] ERROR [http-8080-Processor23] AbstractFlushingEventListener.performExecutions(300) | Could not synchronize
 database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was
 incorrect): [org.appfuse.model.User#2]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
        at org.hibernate.persister.entity.AbstractEntityPersister.update (AbstractEntityPersister.java:2208)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
        at org.hibernate.persister.entity.AbstractEntityPersister.update (AbstractEntityPersister.java:2374)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:232)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
 
 
On 4/17/06, Matt Raible <[hidden email]> wrote:
All,

Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
OutOfMemory (OOM) errors.  It only takes about a minute or two after a
restart to get them, which really sucks.  I've been doing some
profiling this evening and haven't been able to find anything that
definitive.  However, it seems that Tapestry and JSF are the worst
offenders.  I can add the other application flavors, and the memory
usage gradually goes up as I click through the apps.  If I stop
clicking, thing stabilize.  With JSF, it shoots up and and keeps
climbing - almost up 150K.  The heap size and stats in JProfiler look
good, but Windows Task Manager shows JSF supplying the biggest hit.

Does anyone have the time to profile any of the AppFuse flavors?  I
can send you any information you might need.

Thanks,

Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



[appfuse-jsf] ERROR [http-8080-Processor23] AbstractFlushingEventListener.performExecutions(300) | Could not synchronize
 database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was
 incorrect): [org.appfuse.model.User#2]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2208)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:29
7)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
        at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:815)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
        at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:813)
        at org.appfuse.dao.hibernate.UserDaoHibernate.saveUser(UserDaoHibernate.java:54)
        at org.appfuse.service.impl.UserManagerImpl.saveUser(UserManagerImpl.java:56)
        at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceIntercep
tor.java:51)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.
java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
        at $Proxy1.saveUser(Unknown Source)
        at org.appfuse.webapp.action.UserForm.save(UserForm.java:138)
        at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
        at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
        at javax.faces.component.UICommand.broadcast(UICommand.java:106)
        at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
        at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.MessageFilter.doFilter(MessageFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
        at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:375)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:48)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:49)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.j
ava:174)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestF
ilter.java:50)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.ja
va:220)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
[appfuse-jsf] ERROR [http-8080-Processor23] [faces].invoke(253) | Servlet.service() for servlet faces threw exception
javax.faces.FacesException: Error calling action method of component with id userForm:save
        at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
        at javax.faces.component.UICommand.broadcast(UICommand.java:106)
        at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
        at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.MessageFilter.doFilter(MessageFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
        at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:375)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:48)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.appfuse.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:49)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.j
ava:174)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestF
ilter.java:50)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.ja
va:220)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{userForm.save}
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153)
        at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
        ... 75 more
Caused by: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Row was updated or deleted by
another transaction (or unsaved-value mapping was incorrect): [org.appfuse.model.User#2]; nested exception is org.hibern
ate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect
): [org.appfuse.model.User#2]
        at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.ja
va:646)
        at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:4
13)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:371)
        at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:813)
        at org.appfuse.dao.hibernate.UserDaoHibernate.saveUser(UserDaoHibernate.java:54)
        at org.appfuse.service.impl.UserManagerImpl.saveUser(UserManagerImpl.java:56)
        at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceIntercep
tor.java:51)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.
java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
        at $Proxy1.saveUser(Unknown Source)
        at org.appfuse.webapp.action.UserForm.save(UserForm.java:138)
        at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
        ... 76 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value
mapping was incorrect): [org.appfuse.model.User#2]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2208)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:29
7)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
        at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:815)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
        ... 98 more

















































































































































































































































---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>
> Matt,
> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
> Did you have a lot of data in your database? I've been clicking on links/
> update/ sort etc for 10 - 15 minutes but the app does not raise an OOM error
> and the task manager memory footprint also reduces once I stop clicking and
> settles back to the low value after GC is done. Maybe someone else could try
> reproducing this. btw what JVM heap size are you running with? And at what
> memory size are you running out of memory. Do you have a stack trace?

I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
around 550MB +.

I don't have a stack trace, but I can get one if you'd like.  I'm
using JProfiler when I get the error.

>
> I did notice another thing though while manually stress testing it. Clicking
> on the the save button of a user reached from
> "View  Users" in rapid succession yields the following exception. I haven't
> investigated this yet but this probably occurs when multiple threads are
> trying to update the record concurrently. Not sure if this exception is by
> design for Hibernate optimistic locking.

This is b/c we're using versioning on the User object.  I left it in
their since it seems like a useful feature.  In other words, it's
expected behavior.

Matt

>
> [appfuse-jsf] ERROR [http-8080-Processor23]
> AbstractFlushingEventListener.performExecutions(300) |
> Could not synchronize
>  database state with session
> org.hibernate.StaleObjectStateException: Row was updated or
> deleted by another transaction (or unsaved-value mapping was
>  incorrect): [org.appfuse.model.User#2]
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.update
> (AbstractEntityPersister.java:2208)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.update
> (AbstractEntityPersister.java:2374)
>         at
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
>         at
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
>         at org.hibernate.engine.ActionQueue.executeActions
> (ActionQueue.java:232)
>         at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
>
>
> On 4/17/06, Matt Raible <[hidden email]> wrote:
> >
> All,
>
> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> OutOfMemory (OOM) errors.  It only takes about a minute or two after a
> restart to get them, which really sucks.  I've been doing some
> profiling this evening and haven't been able to find anything that
> definitive.  However, it seems that Tapestry and JSF are the worst
> offenders.  I can add the other application flavors, and the memory
> usage gradually goes up as I click through the apps.  If I stop
> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> climbing - almost up 150K.  The heap size and stats in JProfiler look
> good, but Windows Task Manager shows JSF supplying the biggest hit.
>
> Does anyone have the time to profile any of the AppFuse flavors?  I
> can send you any information you might need.
>
> Thanks,
>
> Matt
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
How large is your dataset? I haven't altered the default tomcat Xmx and still didn't get an OOM error. Its going to be difficult for me to troubleshoot without being able to reproduce the issue. Not sure if it will help, but maybe I can also try analysing your JProfiler snapshot  at a point when you're see this issue.

 
On 4/17/06, Matt Raible <[hidden email]> wrote:
On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>
> Matt,
> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
> Did you have a lot of data in your database? I've been clicking on links/
> update/ sort etc for 10 - 15 minutes but the app does not raise an OOM error
> and the task manager memory footprint also reduces once I stop clicking and
> settles back to the low value after GC is done. Maybe someone else could try
> reproducing this. btw what JVM heap size are you running with? And at what
> memory size are you running out of memory. Do you have a stack trace?

I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
around 550MB +.

I don't have a stack trace, but I can get one if you'd like.  I'm
using JProfiler when I get the error.

>
> I did notice another thing though while manually stress testing it. Clicking
> on the the save button of a user reached from
> "View  Users" in rapid succession yields the following exception. I haven't
> investigated this yet but this probably occurs when multiple threads are
> trying to update the record concurrently. Not sure if this exception is by
> design for Hibernate optimistic locking.

This is b/c we're using versioning on the User object.  I left it in
their since it seems like a useful feature.  In other words, it's
expected behavior.

Matt

>
> [appfuse-jsf] ERROR [http-8080-Processor23]
> AbstractFlushingEventListener.performExecutions(300) |
> Could not synchronize
>  database state with session
> org.hibernate.StaleObjectStateException: Row was updated or
> deleted by another transaction (or unsaved-value mapping was
>  incorrect): [org.appfuse.model.User#2]
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.update
> (AbstractEntityPersister.java:2208)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
>         at
> org.hibernate.persister.entity.AbstractEntityPersister.update
> (AbstractEntityPersister.java:2374)
>         at
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
>         at
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java :248)
>         at org.hibernate.engine.ActionQueue.executeActions
> (ActionQueue.java:232)
>         at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
>
>
> On 4/17/06, Matt Raible < [hidden email]> wrote:
> >
> All,
>
> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> OutOfMemory (OOM) errors.  It only takes about a minute or two after a
> restart to get them, which really sucks.  I've been doing some
> profiling this evening and haven't been able to find anything that
> definitive.  However, it seems that Tapestry and JSF are the worst
> offenders.  I can add the other application flavors, and the memory
> usage gradually goes up as I click through the apps.  If I stop
> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> climbing - almost up 150K.  The heap size and stats in JProfiler look
> good, but Windows Task Manager shows JSF supplying the biggest hit.
>
> Does anyone have the time to profile any of the AppFuse flavors?  I
> can send you any information you might need.
>
> Thanks,
>
> Matt
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
I just used a normal database created by AppFuse.  The Struts Resume
and wiki datasets are quite a bit larger, but I took them out of the
mix.  I'll try to come up with a more definitive way to reproduce in
the next day or two.

Matt

On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:

>
> How large is your dataset? I haven't altered the default tomcat Xmx and
> still didn't get an OOM error. Its going to be difficult for me to
> troubleshoot without being able to reproduce the issue. Not sure if it will
> help, but maybe I can also try analysing your JProfiler snapshot  at a point
> when you're see this issue.
>
>
> On 4/17/06, Matt Raible <[hidden email]> wrote:
> >
> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >
> > Matt,
> > I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
> > Did you have a lot of data in your database? I've been clicking on links/
> > update/ sort etc for 10 - 15 minutes but the app does not raise an OOM
> error
> > and the task manager memory footprint also reduces once I stop clicking
> and
> > settles back to the low value after GC is done. Maybe someone else could
> try
> > reproducing this. btw what JVM heap size are you running with? And at what
> > memory size are you running out of memory. Do you have a stack trace?
>
> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> around 550MB +.
>
> I don't have a stack trace, but I can get one if you'd like.  I'm
> using JProfiler when I get the error.
>
> >
> > I did notice another thing though while manually stress testing it.
> Clicking
> > on the the save button of a user reached from
> > "View  Users" in rapid succession yields the following exception. I
> haven't
> > investigated this yet but this probably occurs when multiple threads are
> > trying to update the record concurrently. Not sure if this exception is by
> > design for Hibernate optimistic locking.
>
>  This is b/c we're using versioning on the User object.  I left it in
> their since it seems like a useful feature.  In other words, it's
> expected behavior.
>
> Matt
>
> >
> > [appfuse-jsf] ERROR [http-8080-Processor23]
> > AbstractFlushingEventListener.performExecutions(300) |
> > Could not synchronize
> >  database state with session
> > org.hibernate.StaleObjectStateException: Row was updated
> or
> > deleted by another transaction (or unsaved-value mapping was
> >  incorrect): [org.appfuse.model.User#2]
> >         at
> >
> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
> >         at
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > (AbstractEntityPersister.java:2208)
> >         at
> >
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> >         at
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > (AbstractEntityPersister.java:2374)
> >         at
> >
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> >         at
> > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> :248)
> >         at
> org.hibernate.engine.ActionQueue.executeActions
> > (ActionQueue.java:232)
> >         at
> >
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> >
> >
> > On 4/17/06, Matt Raible < [hidden email]> wrote:
> > >
> > All,
> >
> > Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> > OutOfMemory (OOM) errors.  It only takes about a minute or two after a
> > restart to get them, which really sucks.  I've been doing some
> > profiling this evening and haven't been able to find anything that
> > definitive.  However, it seems that Tapestry and JSF are the worst
> > offenders.  I can add the other application flavors, and the memory
> > usage gradually goes up as I click through the apps.  If I stop
> > clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > climbing - almost up 150K.  The heap size and stats in JProfiler look
> > good, but Windows Task Manager shows JSF supplying the biggest hit.
> >
> > Does anyone have the time to profile any of the AppFuse flavors?  I
> > can send you any information you might need.
> >
> > Thanks,
> >
> > Matt
> >
> >
> ---------------------------------------------------------------------
> >
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Mika Göckel

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
What about setting up a load test scenario with canoo (if this is
possible) or JMeter.
Manually clicking around didn't show up OOMs on my system either.

Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
mysql 4.1.15 on XP.

Matt Raible schrieb:

> I just used a normal database created by AppFuse.  The Struts Resume
> and wiki datasets are quite a bit larger, but I took them out of the
> mix.  I'll try to come up with a more definitive way to reproduce in
> the next day or two.
>
> Matt
>
> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>  
>> How large is your dataset? I haven't altered the default tomcat Xmx and
>> still didn't get an OOM error. Its going to be difficult for me to
>> troubleshoot without being able to reproduce the issue. Not sure if it will
>> help, but maybe I can also try analysing your JProfiler snapshot  at a point
>> when you're see this issue.
>>
>>
>> On 4/17/06, Matt Raible <[hidden email]> wrote:
>>    
>> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>>    
>>> Matt,
>>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
>>> Did you have a lot of data in your database? I've been clicking on links/
>>> update/ sort etc for 10 - 15 minutes but the app does not raise an OOM
>>>      
>> error
>>    
>>> and the task manager memory footprint also reduces once I stop clicking
>>>      
>> and
>>    
>>> settles back to the low value after GC is done. Maybe someone else could
>>>      
>> try
>>    
>>> reproducing this. btw what JVM heap size are you running with? And at what
>>> memory size are you running out of memory. Do you have a stack trace?
>>>      
>> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
>> around 550MB +.
>>
>> I don't have a stack trace, but I can get one if you'd like.  I'm
>> using JProfiler when I get the error.
>>
>>    
>>> I did notice another thing though while manually stress testing it.
>>>      
>> Clicking
>>    
>>> on the the save button of a user reached from
>>> "View  Users" in rapid succession yields the following exception. I
>>>      
>> haven't
>>    
>>> investigated this yet but this probably occurs when multiple threads are
>>> trying to update the record concurrently. Not sure if this exception is by
>>> design for Hibernate optimistic locking.
>>>      
>>  This is b/c we're using versioning on the User object.  I left it in
>> their since it seems like a useful feature.  In other words, it's
>> expected behavior.
>>
>> Matt
>>
>>    
>>> [appfuse-jsf] ERROR [http-8080-Processor23]
>>> AbstractFlushingEventListener.performExecutions(300) |
>>> Could not synchronize
>>>  database state with session
>>> org.hibernate.StaleObjectStateException: Row was updated
>>>      
>> or
>>    
>>> deleted by another transaction (or unsaved-value mapping was
>>>  incorrect): [org.appfuse.model.User#2]
>>>         at
>>>
>>>      
>> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
>>    
>>>         at
>>>
>>>      
>> org.hibernate.persister.entity.AbstractEntityPersister.update
>>    
>>> (AbstractEntityPersister.java:2208)
>>>         at
>>>
>>>      
>> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
>>    
>>>         at
>>>
>>>      
>> org.hibernate.persister.entity.AbstractEntityPersister.update
>>    
>>> (AbstractEntityPersister.java:2374)
>>>         at
>>>
>>>      
>> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
>>    
>>>         at
>>> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
>>>      
>> :248)
>>    
>>>         at
>>>      
>> org.hibernate.engine.ActionQueue.executeActions
>>    
>>> (ActionQueue.java:232)
>>>         at
>>>
>>>      
>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
>>    
>>> On 4/17/06, Matt Raible < [hidden email]> wrote:
>>>      
>>> All,
>>>
>>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
>>> OutOfMemory (OOM) errors.  It only takes about a minute or two after a
>>> restart to get them, which really sucks.  I've been doing some
>>> profiling this evening and haven't been able to find anything that
>>> definitive.  However, it seems that Tapestry and JSF are the worst
>>> offenders.  I can add the other application flavors, and the memory
>>> usage gradually goes up as I click through the apps.  If I stop
>>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
>>> climbing - almost up 150K.  The heap size and stats in JProfiler look
>>> good, but Windows Task Manager shows JSF supplying the biggest hit.
>>>
>>> Does anyone have the time to profile any of the AppFuse flavors?  I
>>> can send you any information you might need.
>>>
>>> Thanks,
>>>
>>> Matt
>>>
>>>
>>>      
>> ---------------------------------------------------------------------
>>    
>>> To unsubscribe, e-mail:
>>> [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>>
>>>
>>>      
>> ---------------------------------------------------------------------
>>    
>>> To unsubscribe, e-mail:
>>> [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>>
>>>      
>> ---------------------------------------------------------------------
>>
>> To unsubscribe, e-mail:
>> [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>>
>>    
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>  


--
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [hidden email]

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
I have a scenario setup with WAPT that I can send.  One thing to note
is that these OOM errors only show up when you have all 5 AppFuse
flavors installed. Or at least the ones I have on demo.appfuse.org -
which includes Spring MVC with iBATIS.

Matt

On 4/17/06, Mika Göckel <[hidden email]> wrote:

> What about setting up a load test scenario with canoo (if this is
> possible) or JMeter.
> Manually clicking around didn't show up OOMs on my system either.
>
> Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> mysql 4.1.15 on XP.
>
> Matt Raible schrieb:
> > I just used a normal database created by AppFuse.  The Struts Resume
> > and wiki datasets are quite a bit larger, but I took them out of the
> > mix.  I'll try to come up with a more definitive way to reproduce in
> > the next day or two.
> >
> > Matt
> >
> > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >
> >> How large is your dataset? I haven't altered the default tomcat Xmx and
> >> still didn't get an OOM error. Its going to be difficult for me to
> >> troubleshoot without being able to reproduce the issue. Not sure if it will
> >> help, but maybe I can also try analysing your JProfiler snapshot  at a point
> >> when you're see this issue.
> >>
> >>
> >> On 4/17/06, Matt Raible <[hidden email]> wrote:
> >>
> >> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >>
> >>> Matt,
> >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
> >>> Did you have a lot of data in your database? I've been clicking on links/
> >>> update/ sort etc for 10 - 15 minutes but the app does not raise an OOM
> >>>
> >> error
> >>
> >>> and the task manager memory footprint also reduces once I stop clicking
> >>>
> >> and
> >>
> >>> settles back to the low value after GC is done. Maybe someone else could
> >>>
> >> try
> >>
> >>> reproducing this. btw what JVM heap size are you running with? And at what
> >>> memory size are you running out of memory. Do you have a stack trace?
> >>>
> >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> >> around 550MB +.
> >>
> >> I don't have a stack trace, but I can get one if you'd like.  I'm
> >> using JProfiler when I get the error.
> >>
> >>
> >>> I did notice another thing though while manually stress testing it.
> >>>
> >> Clicking
> >>
> >>> on the the save button of a user reached from
> >>> "View  Users" in rapid succession yields the following exception. I
> >>>
> >> haven't
> >>
> >>> investigated this yet but this probably occurs when multiple threads are
> >>> trying to update the record concurrently. Not sure if this exception is by
> >>> design for Hibernate optimistic locking.
> >>>
> >>  This is b/c we're using versioning on the User object.  I left it in
> >> their since it seems like a useful feature.  In other words, it's
> >> expected behavior.
> >>
> >> Matt
> >>
> >>
> >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> >>> AbstractFlushingEventListener.performExecutions(300) |
> >>> Could not synchronize
> >>>  database state with session
> >>> org.hibernate.StaleObjectStateException: Row was updated
> >>>
> >> or
> >>
> >>> deleted by another transaction (or unsaved-value mapping was
> >>>  incorrect): [org.appfuse.model.User#2]
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
> >>
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.update
> >>
> >>> (AbstractEntityPersister.java:2208)
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> >>
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.update
> >>
> >>> (AbstractEntityPersister.java:2374)
> >>>         at
> >>>
> >>>
> >> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> >>
> >>>         at
> >>> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> >>>
> >> :248)
> >>
> >>>         at
> >>>
> >> org.hibernate.engine.ActionQueue.executeActions
> >>
> >>> (ActionQueue.java:232)
> >>>         at
> >>>
> >>>
> >> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> >>
> >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> >>>
> >>> All,
> >>>
> >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> >>> OutOfMemory (OOM) errors.  It only takes about a minute or two after a
> >>> restart to get them, which really sucks.  I've been doing some
> >>> profiling this evening and haven't been able to find anything that
> >>> definitive.  However, it seems that Tapestry and JSF are the worst
> >>> offenders.  I can add the other application flavors, and the memory
> >>> usage gradually goes up as I click through the apps.  If I stop
> >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> >>> climbing - almost up 150K.  The heap size and stats in JProfiler look
> >>> good, but Windows Task Manager shows JSF supplying the biggest hit.
> >>>
> >>> Does anyone have the time to profile any of the AppFuse flavors?  I
> >>> can send you any information you might need.
> >>>
> >>> Thanks,
> >>>
> >>> Matt
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >>> To unsubscribe, e-mail:
> >>> [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >>> To unsubscribe, e-mail:
> >>> [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >> To unsubscribe, e-mail:
> >> [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> --
> cyber:con gmbh
> Mika Göckel
>
> Rathausallee 10
> 53757 Sankt Augustin
>
> tel (+49)2241 / 9350 0
> fax (+49)2241 / 9350 99
> mob (+49) 172 / 279 2771
> skype mika.goeckel
> email [hidden email]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Mika Göckel

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Oh, I see. I've set up a JMeter scenario firing against JSF (the others not installed) with 10 threads, start,login,4x(userlist,mainmenu) firing at full speed everything on the same machine with these results:



which is very impressive. Unfortunately it's too late over here to do a full-flavour install and setup a test. If I've got time tomorrow, I'll give it a try.

M.

Matt Raible schrieb:
I have a scenario setup with WAPT that I can send.  One thing to note
is that these OOM errors only show up when you have all 5 AppFuse
flavors installed. Or at least the ones I have on demo.appfuse.org -
which includes Spring MVC with iBATIS.

Matt

On 4/17/06, Mika Göckel [hidden email] wrote:
  
What about setting up a load test scenario with canoo (if this is
possible) or JMeter.
Manually clicking around didn't show up OOMs on my system either.

Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
mysql 4.1.15 on XP.

Matt Raible schrieb:
    
I just used a normal database created by AppFuse.  The Struts Resume
and wiki datasets are quite a bit larger, but I took them out of the
mix.  I'll try to come up with a more definitive way to reproduce in
the next day or two.

Matt

On 4/17/06, Sanjiv Jivan [hidden email] wrote:

      
How large is your dataset? I haven't altered the default tomcat Xmx and
still didn't get an OOM error. Its going to be difficult for me to
troubleshoot without being able to reproduce the issue. Not sure if it will
help, but maybe I can also try analysing your JProfiler snapshot  at a point
when you're see this issue.


On 4/17/06, Matt Raible [hidden email] wrote:

On 4/17/06, Sanjiv Jivan [hidden email] wrote:

        
Matt,
I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
Did you have a lot of data in your database? I've been clicking on links/
update/ sort etc for 10 - 15 minutes but the app does not raise an OOM

          
error

        
and the task manager memory footprint also reduces once I stop clicking

          
and

        
settles back to the low value after GC is done. Maybe someone else could

          
try

        
reproducing this. btw what JVM heap size are you running with? And at what
memory size are you running out of memory. Do you have a stack trace?

          
I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
around 550MB +.

I don't have a stack trace, but I can get one if you'd like.  I'm
using JProfiler when I get the error.


        
I did notice another thing though while manually stress testing it.

          
Clicking

        
on the the save button of a user reached from
"View  Users" in rapid succession yields the following exception. I

          
haven't

        
investigated this yet but this probably occurs when multiple threads are
trying to update the record concurrently. Not sure if this exception is by
design for Hibernate optimistic locking.

          
 This is b/c we're using versioning on the User object.  I left it in
their since it seems like a useful feature.  In other words, it's
expected behavior.

Matt


        
[appfuse-jsf] ERROR [http-8080-Processor23]
AbstractFlushingEventListener.performExecutions(300) |
Could not synchronize
 database state with session
org.hibernate.StaleObjectStateException: Row was updated

          
or

        
deleted by another transaction (or unsaved-value mapping was
 incorrect): [org.appfuse.model.User#2]
        at


          
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)

        
        at


          
org.hibernate.persister.entity.AbstractEntityPersister.update

        
(AbstractEntityPersister.java:2208)
        at


          
org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)

        
        at


          
org.hibernate.persister.entity.AbstractEntityPersister.update

        
(AbstractEntityPersister.java:2374)
        at


          
org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)

        
        at
org.hibernate.engine.ActionQueue.execute(ActionQueue.java

          
:248)

        
        at

          
org.hibernate.engine.ActionQueue.executeActions

        
(ActionQueue.java:232)
        at


          
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)

        
On 4/17/06, Matt Raible < [hidden email]> wrote:

All,

Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
OutOfMemory (OOM) errors.  It only takes about a minute or two after a
restart to get them, which really sucks.  I've been doing some
profiling this evening and haven't been able to find anything that
definitive.  However, it seems that Tapestry and JSF are the worst
offenders.  I can add the other application flavors, and the memory
usage gradually goes up as I click through the apps.  If I stop
clicking, thing stabilize.  With JSF, it shoots up and and keeps
climbing - almost up 150K.  The heap size and stats in JProfiler look
good, but Windows Task Manager shows JSF supplying the biggest hit.

Does anyone have the time to profile any of the AppFuse flavors?  I
can send you any information you might need.

Thanks,

Matt



          
---------------------------------------------------------------------

        
To unsubscribe, e-mail:
[hidden email]
For additional commands, e-mail: [hidden email]





          
---------------------------------------------------------------------

        
To unsubscribe, e-mail:
[hidden email]
For additional commands, e-mail: [hidden email]




          
---------------------------------------------------------------------

To unsubscribe, e-mail:
[hidden email]
For additional commands, e-mail: [hidden email]




        
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


      
--
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [hidden email]

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


    

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

  


-- 
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [hidden email]

Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Here's what I sent to Sanjiv this morning for trying stuff out:

I've uploaded all the AppFuse webapps from 1.9.1 to
http://static.appfuse.org/webapps.zip.  These are just the appfuse
applications, which you should be able to reproduce the problem with.
Note that they have a JNDI DataSource, so you'll need to create an
AppFuse DB named appfusedemo with the specified passwords - or change
the META-INF/context.xml for each one.

When I originally downloaded everything, I included struts-resume and
the wiki.  I was able to reproduce OOM without these, so I didn't
include them.  If you'd like to download the whole ball of wax, I can
send you the URL and setup instructions.

You should be able to reproduce the problem just by clicking around
the applications - particularly JSF and Tapestry.  If not, I can send
you a WAPT test that'll do the trick.

Matt

On 4/17/06, Mika Göckel <[hidden email]> wrote:
Oh, I see. I've set up a JMeter scenario firing against JSF (the others not installed) with 10 threads, start,login,4x(userlist,mainmenu) firing at full speed everything on the same machine with these results:



which is very impressive. Unfortunately it's too late over here to do a full-flavour install and setup a test. If I've got time tomorrow, I'll give it a try.

M.

Matt Raible schrieb:
I have a scenario setup with WAPT that I can send.  One thing to note
is that these OOM errors only show up when you have all 5 AppFuse
flavors installed. Or at least the ones I have on demo.appfuse.org -
which includes Spring MVC with iBATIS.

Matt

On 4/17/06, Mika Göckel [hidden email] wrote:
What about setting up a load test scenario with canoo (if this is
possible) or JMeter.
Manually clicking around didn't show up OOMs on my system either.

Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
mysql 4.1.15 on XP.

Matt Raible schrieb:
I just used a normal database created by AppFuse.  The Struts Resume
and wiki datasets are quite a bit larger, but I took them out of the
mix. I'll try to come up with a more definitive way to reproduce in
the next day or two.

Matt

On 4/17/06, Sanjiv Jivan [hidden email] wrote:

How large is your dataset? I haven't altered the default tomcat Xmx and
still didn't get an OOM error. Its going to be difficult for me to
troubleshoot without being able to reproduce the issue. Not sure if it will
help, but maybe I can also try analysing your JProfiler snapshot at a point
when you're see this issue.


On 4/17/06, Matt Raible [hidden email] wrote:

On 4/17/06, Sanjiv Jivan [hidden email] wrote:

Matt,
I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
Did you have a lot of data in your database? I've been clicking on links/
update/ sort etc for 10 - 15 minutes but the app does not raise an OOM

error

and the task manager memory footprint also reduces once I stop clicking

and

settles back to the low value after GC is done. Maybe someone else could

try

reproducing this. btw what JVM heap size are you running with? And at what
memory size are you running out of memory. Do you have a stack trace?

I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
around 550MB +.

I don't have a stack trace, but I can get one if you'd like. I'm
using JProfiler when I get the error.


I did notice another thing though while manually stress testing it.

Clicking

on the the save button of a user reached from
"View Users" in rapid succession yields the following exception. I

haven't

investigated this yet but this probably occurs when multiple threads are
trying to update the record concurrently. Not sure if this exception is by
design for Hibernate optimistic locking.

 This is b/c we're using versioning on the User object.  I left it in
their since it seems like a useful feature. In other words, it's
expected behavior.

Matt


[appfuse-jsf] ERROR [http-8080-Processor23]
AbstractFlushingEventListener.performExecutions(300) |
Could not synchronize
database state with session
org.hibernate.StaleObjectStateException: Row was updated

or

deleted by another transaction (or unsaved-value mapping was
incorrect): [org.appfuse.model.User#2]
at


org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)

        at


org.hibernate.persister.entity.AbstractEntityPersister.update

(AbstractEntityPersister.java:2208)
at


org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)

        at


org.hibernate.persister.entity.AbstractEntityPersister.update

(AbstractEntityPersister.java:2374)
at


org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)

        at
org.hibernate.engine.ActionQueue.execute(ActionQueue.java

:248)

        at

org.hibernate.engine.ActionQueue.executeActions

(ActionQueue.java:232)
at


org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)

On 4/17/06, Matt Raible < [hidden email]> wrote:

All,

Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
OutOfMemory (OOM) errors. It only takes about a minute or two after a
restart to get them, which really sucks. I've been doing some
profiling this evening and haven't been able to find anything that
definitive. However, it seems that Tapestry and JSF are the worst
offenders. I can add the other application flavors, and the memory
usage gradually goes up as I click through the apps. If I stop
clicking, thing stabilize. With JSF, it shoots up and and keeps
climbing - almost up 150K. The heap size and stats in JProfiler look
good, but Windows Task Manager shows JSF supplying the biggest hit.

Does anyone have the time to profile any of the AppFuse flavors? I
can send you any information you might need.

Thanks,

Matt



---------------------------------------------------------------------

To unsubscribe, e-mail:
[hidden email] For additional commands, e-mail: [hidden email]
---------------------------------------------------------------------

To unsubscribe, e-mail:
[hidden email] For additional commands, e-mail: [hidden email]
---------------------------------------------------------------------

To unsubscribe, e-mail:
[hidden email] For additional commands, e-mail: [hidden email]
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]
--
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [hidden email] ---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email]


-- 
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [hidden email]


Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
In reply to this post by Matt Raible-3
hmm, cuz I just tried my testing using one AppFuse app deployed (appfuse-jsf). I'll try again with all 5 deployed.
 
Can you try replicating the OOM with only the appfuse-jsf app deployed?

 
On 4/17/06, Matt Raible <[hidden email]> wrote:
I have a scenario setup with WAPT that I can send.  One thing to note
is that these OOM errors only show up when you have all 5 AppFuse
flavors installed. Or at least the ones I have on demo.appfuse.org -
which includes Spring MVC with iBATIS.

Matt

On 4/17/06, Mika Göckel <[hidden email]> wrote:
> What about setting up a load test scenario with canoo (if this is
> possible) or JMeter.
> Manually clicking around didn't show up OOMs on my system either.
>
> Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,

> mysql 4.1.15 on XP.
>
> Matt Raible schrieb:
> > I just used a normal database created by AppFuse.  The Struts Resume
> > and wiki datasets are quite a bit larger, but I took them out of the
> > mix.  I'll try to come up with a more definitive way to reproduce in
> > the next day or two.
> >
> > Matt
> >
> > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >
> >> How large is your dataset? I haven't altered the default tomcat Xmx and
> >> still didn't get an OOM error. Its going to be difficult for me to
> >> troubleshoot without being able to reproduce the issue. Not sure if it will
> >> help, but maybe I can also try analysing your JProfiler snapshot  at a point
> >> when you're see this issue.
> >>
> >>
> >> On 4/17/06, Matt Raible <[hidden email]> wrote:
> >>
> >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> >>
> >>> Matt,
> >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16, MySQL 4.1.
> >>> Did you have a lot of data in your database? I've been clicking on links/

> >>> update/ sort etc for 10 - 15 minutes but the app does not raise an OOM
> >>>
> >> error
> >>
> >>> and the task manager memory footprint also reduces once I stop clicking
> >>>
> >> and
> >>
> >>> settles back to the low value after GC is done. Maybe someone else could
> >>>
> >> try
> >>
> >>> reproducing this. btw what JVM heap size are you running with? And at what
> >>> memory size are you running out of memory. Do you have a stack trace?
> >>>
> >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> >> around 550MB +.
> >>
> >> I don't have a stack trace, but I can get one if you'd like.  I'm
> >> using JProfiler when I get the error.
> >>
> >>
> >>> I did notice another thing though while manually stress testing it.
> >>>
> >> Clicking
> >>
> >>> on the the save button of a user reached from
> >>> "View  Users" in rapid succession yields the following exception. I
> >>>
> >> haven't
> >>
> >>> investigated this yet but this probably occurs when multiple threads are
> >>> trying to update the record concurrently. Not sure if this exception is by
> >>> design for Hibernate optimistic locking.
> >>>
> >>  This is b/c we're using versioning on the User object.  I left it in
> >> their since it seems like a useful feature.  In other words, it's
> >> expected behavior.
> >>
> >> Matt
> >>
> >>
> >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> >>> AbstractFlushingEventListener.performExecutions(300) |
> >>> Could not synchronize
> >>>  database state with session
> >>> org.hibernate.StaleObjectStateException: Row was updated
> >>>
> >> or
> >>
> >>> deleted by another transaction (or unsaved-value mapping was
> >>>  incorrect): [org.appfuse.model.User#2]
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java :1635)
> >>
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.update
> >>
> >>> (AbstractEntityPersister.java :2208)
> >>>         at
> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> >>
> >>>         at

> >>>
> >>>
> >> org.hibernate.persister.entity.AbstractEntityPersister.update
> >>
> >>> (AbstractEntityPersister.java:2374)
> >>>         at
> >>>
> >>>
> >> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> >>
> >>>         at
> >>> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> >>>
> >> :248)
> >>
> >>>         at
> >>>
> >> org.hibernate.engine.ActionQueue.executeActions
> >>
> >>> (ActionQueue.java:232)
> >>>         at
> >>>
> >>>
> >> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> >>
> >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> >>>
> >>> All,
> >>>
> >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> >>> OutOfMemory (OOM) errors.  It only takes about a minute or two after a
> >>> restart to get them, which really sucks.  I've been doing some
> >>> profiling this evening and haven't been able to find anything that
> >>> definitive.  However, it seems that Tapestry and JSF are the worst
> >>> offenders.  I can add the other application flavors, and the memory
> >>> usage gradually goes up as I click through the apps.  If I stop
> >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> >>> climbing - almost up 150K.  The heap size and stats in JProfiler look
> >>> good, but Windows Task Manager shows JSF supplying the biggest hit.
> >>>
> >>> Does anyone have the time to profile any of the AppFuse flavors?  I
> >>> can send you any information you might need.
> >>>
> >>> Thanks,
> >>>
> >>> Matt
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >>> To unsubscribe, e-mail:
> >>> [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >>> To unsubscribe, e-mail:
> >>> [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >>
> >> To unsubscribe, e-mail:
> >> [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> --
> cyber:con gmbh
> Mika Göckel
>
> Rathausallee 10
> 53757 Sankt Augustin
>
> tel (+49)2241 / 9350 0
> fax (+49)2241 / 9350 99
> mob (+49) 172 / 279 2771
> skype mika.goeckel
> email [hidden email]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>
> hmm, cuz I just tried my testing using one AppFuse app deployed
> (appfuse-jsf). I'll try again with all 5 deployed.
>
> Can you try replicating the OOM with only the appfuse-jsf app deployed?

No, it seems to be the combo.  It doesn't go down though, just keeps
climbing.  I suspect there might be a sweetspot (768M or something),
but I doubt it.  I suspect a memory leak in one of the combos.

Matt

>
>
>
> On 4/17/06, Matt Raible <[hidden email]> wrote:
> > I have a scenario setup with WAPT that I can send.  One thing to note
> > is that these OOM errors only show up when you have all 5 AppFuse
> > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > which includes Spring MVC with iBATIS.
> >
> > Matt
> >
> > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > What about setting up a load test scenario with canoo (if this is
> > > possible) or JMeter.
> > > Manually clicking around didn't show up OOMs on my system either.
> > >
> > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > mysql 4.1.15 on XP.
> > >
> > > Matt Raible schrieb:
> > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > the next day or two.
> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> > > >
> > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> and
> > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > >> troubleshoot without being able to reproduce the issue. Not sure if
> it will
> > > >> help, but maybe I can also try analysing your JProfiler snapshot  at
> a point
> > > >> when you're see this issue.
> > > >>
> > > >>
> > > >> On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > >>
> > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > >>
> > > >>> Matt,
> > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> MySQL 4.1.
> > > >>> Did you have a lot of data in your database? I've been clicking on
> links/
> > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> OOM
> > > >>>
> > > >> error
> > > >>
> > > >>> and the task manager memory footprint also reduces once I stop
> clicking
> > > >>>
> > > >> and
> > > >>
> > > >>> settles back to the low value after GC is done. Maybe someone else
> could
> > > >>>
> > > >> try
> > > >>
> > > >>> reproducing this. btw what JVM heap size are you running with? And
> at what
> > > >>> memory size are you running out of memory. Do you have a stack
> trace?
> > > >>>
> > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > >> around 550MB +.
> > > >>
> > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > >> using JProfiler when I get the error.
> > > >>
> > > >>
> > > >>> I did notice another thing though while manually stress testing it.
> > > >>>
> > > >> Clicking
> > > >>
> > > >>> on the the save button of a user reached from
> > > >>> "View  Users" in rapid succession yields the following exception. I
> > > >>>
> > > >> haven't
> > > >>
> > > >>> investigated this yet but this probably occurs when multiple threads
> are
> > > >>> trying to update the record concurrently. Not sure if this exception
> is by
> > > >>> design for Hibernate optimistic locking.
> > > >>>
> > > >>  This is b/c we're using versioning on the User object.  I left it in
> > > >> their since it seems like a useful feature.  In other words, it's
> > > >> expected behavior.
> > > >>
> > > >> Matt
> > > >>
> > > >>
> > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > >>>
> AbstractFlushingEventListener.performExecutions(300) |
> > > >>> Could not synchronize
> > > >>>  database state with session
> > > >>> org.hibernate.StaleObjectStateException: Row was
> updated
> > > >>>
> > > >> or
> > > >>
> > > >>> deleted by another transaction (or unsaved-value mapping was
> > > >>>  incorrect): [org.appfuse.model.User#2]
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java
> :1635)
> > > >>
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > >>
> > > >>> (AbstractEntityPersister.java :2208)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> > > >>
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > >>
> > > >>> (AbstractEntityPersister.java:2374)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > >>
> > > >>>         at
> > > >>>
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > >>>
> > > >> :248)
> > > >>
> > > >>>         at
> > > >>>
> > > >> org.hibernate.engine.ActionQueue.executeActions
> > > >>
> > > >>> (ActionQueue.java:232)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > >>
> > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > >>>
> > > >>> All,
> > > >>>
> > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two after
> a
> > > >>> restart to get them, which really sucks.  I've been doing some
> > > >>> profiling this evening and haven't been able to find anything that
> > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > >>> offenders.  I can add the other application flavors, and the memory
> > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> look
> > > >>> good, but Windows Task Manager shows JSF supplying the biggest hit.
> > > >>>
> > > >>> Does anyone have the time to profile any of the AppFuse flavors?  I
> > > >>> can send you any information you might need.
> > > >>>
> > > >>> Thanks,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >>> To unsubscribe, e-mail:
> > > >>> [hidden email]
> > > >>> For additional commands, e-mail: [hidden email]
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >>> To unsubscribe, e-mail:
> > > >>> [hidden email]
> > > >>> For additional commands, e-mail: [hidden email]
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >> To unsubscribe, e-mail:
> > > >> [hidden email]
> > > >> For additional commands, e-mail: [hidden email]
> > > >>
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> > > --
> > > cyber:con gmbh
> > > Mika Göckel
> > >
> > > Rathausallee 10
> > > 53757 Sankt Augustin
> > >
> > > tel (+49)2241 / 9350 0
> > > fax (+49)2241 / 9350 99
> > > mob (+49) 172 / 279 2771
> > > skype mika.goeckel
> > > email [hidden email]
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
I spent around around 30 mins today having all apps deployed but wasn't able to replicate the issue. Can you sent the stack trace? Is this deployed on a windows box?

On 4/18/06, Matt Raible <[hidden email]> wrote:
On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
>
> hmm, cuz I just tried my testing using one AppFuse app deployed
> (appfuse-jsf). I'll try again with all 5 deployed.
>
> Can you try replicating the OOM with only the appfuse-jsf app deployed?

No, it seems to be the combo.  It doesn't go down though, just keeps
climbing.  I suspect there might be a sweetspot (768M or something),
but I doubt it.  I suspect a memory leak in one of the combos.

Matt

>
>
>
> On 4/17/06, Matt Raible <[hidden email]> wrote:
> > I have a scenario setup with WAPT that I can send.  One thing to note
> > is that these OOM errors only show up when you have all 5 AppFuse

> > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > which includes Spring MVC with iBATIS.
> >
> > Matt
> >
> > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > What about setting up a load test scenario with canoo (if this is
> > > possible) or JMeter.
> > > Manually clicking around didn't show up OOMs on my system either.
> > >
> > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > mysql 4.1.15 on XP.
> > >
> > > Matt Raible schrieb:
> > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > the next day or two.
> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > >
> > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> and
> > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > >> troubleshoot without being able to reproduce the issue. Not sure if
> it will
> > > >> help, but maybe I can also try analysing your JProfiler snapshot  at
> a point
> > > >> when you're see this issue.
> > > >>
> > > >>
> > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > >>
> > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > >>
> > > >>> Matt,
> > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> MySQL 4.1.
> > > >>> Did you have a lot of data in your database? I've been clicking on
> links/
> > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> OOM
> > > >>>
> > > >> error
> > > >>
> > > >>> and the task manager memory footprint also reduces once I stop
> clicking
> > > >>>
> > > >> and
> > > >>
> > > >>> settles back to the low value after GC is done. Maybe someone else
> could
> > > >>>

> > > >> try
> > > >>
> > > >>> reproducing this. btw what JVM heap size are you running with? And
> at what
> > > >>> memory size are you running out of memory. Do you have a stack
> trace?
> > > >>>
> > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > >> around 550MB +.
> > > >>
> > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > >> using JProfiler when I get the error.
> > > >>
> > > >>
> > > >>> I did notice another thing though while manually stress testing it.
> > > >>>

> > > >> Clicking
> > > >>
> > > >>> on the the save button of a user reached from
> > > >>> "View  Users" in rapid succession yields the following exception. I
> > > >>>
> > > >> haven't
> > > >>
> > > >>> investigated this yet but this probably occurs when multiple threads
> are
> > > >>> trying to update the record concurrently. Not sure if this exception
> is by
> > > >>> design for Hibernate optimistic locking.
> > > >>>
> > > >>  This is b/c we're using versioning on the User object.  I left it in
> > > >> their since it seems like a useful feature.  In other words, it's
> > > >> expected behavior.
> > > >>
> > > >> Matt
> > > >>
> > > >>
> > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > >>>
> AbstractFlushingEventListener.performExecutions(300) |
> > > >>> Could not synchronize
> > > >>>  database state with session
> > > >>> org.hibernate.StaleObjectStateException: Row was
> updated
> > > >>>
> > > >> or
> > > >>
> > > >>> deleted by another transaction (or unsaved-value mapping was
> > > >>>  incorrect): [org.appfuse.model.User#2]
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.check (AbstractEntityPersister.java
> :1635)
> > > >>
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > >>
> > > >>> (AbstractEntityPersister.java :2208)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> > > >>
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > >>
> > > >>> (AbstractEntityPersister.java:2374)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > >>
> > > >>>         at
> > > >>>
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > >>>
> > > >> :248)
> > > >>
> > > >>>         at
> > > >>>
> > > >> org.hibernate.engine.ActionQueue.executeActions
> > > >>
> > > >>> (ActionQueue.java:232)
> > > >>>         at
> > > >>>
> > > >>>
> > > >>
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > >>
> > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > >>>
> > > >>> All,
> > > >>>
> > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been spewing
> > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two after
> a
> > > >>> restart to get them, which really sucks.  I've been doing some
> > > >>> profiling this evening and haven't been able to find anything that
> > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > >>> offenders.  I can add the other application flavors, and the memory
> > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> look
> > > >>> good, but Windows Task Manager shows JSF supplying the biggest hit.
> > > >>>
> > > >>> Does anyone have the time to profile any of the AppFuse flavors?  I
> > > >>> can send you any information you might need.
> > > >>>
> > > >>> Thanks,
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >>> To unsubscribe, e-mail:
> > > >>> [hidden email]
> > > >>> For additional commands, e-mail: [hidden email]
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >>> To unsubscribe, e-mail:
> > > >>> [hidden email]
> > > >>> For additional commands, e-mail: [hidden email]
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> ---------------------------------------------------------------------
> > > >>
> > > >> To unsubscribe, e-mail:
> > > >> [hidden email]
> > > >> For additional commands, e-mail: [hidden email]
> > > >>
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> > > --
> > > cyber:con gmbh
> > > Mika Göckel
> > >
> > > Rathausallee 10
> > > 53757 Sankt Augustin
> > >
> > > tel (+49)2241 / 9350 0
> > > fax (+49)2241 / 9350 99
> > > mob (+49) 172 / 279 2771
> > > skype mika.goeckel
> > > email [hidden email]

> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
I'll reproduce and send the files tonight.

Matt

On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:

> I spent around around 30 mins today having all apps deployed but wasn't able
> to replicate the issue. Can you sent the stack trace? Is this deployed on a
> windows box?
>
>
> On 4/18/06, Matt Raible <[hidden email]> wrote:
> >
> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >
> > hmm, cuz I just tried my testing using one AppFuse app deployed
> > (appfuse-jsf). I'll try again with all 5 deployed.
> >
> > Can you try replicating the OOM with only the appfuse-jsf app deployed?
>
> No, it seems to be the combo.  It doesn't go down though, just keeps
> climbing.  I suspect there might be a sweetspot (768M or something),
> but I doubt it.  I suspect a memory leak in one of the combos.
>
>  Matt
>
> >
> >
> >
> > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > I have a scenario setup with WAPT that I can send.  One thing to note
>  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > which includes Spring MVC with iBATIS.
> > >
> > > Matt
> > >
> > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > What about setting up a load test scenario with canoo (if this is
> > > > possible) or JMeter.
> > > > Manually clicking around didn't show up OOMs on my system either.
> > > >
> > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > > mysql 4.1.15 on XP.
> > > >
> > > > Matt Raible schrieb:
> > > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > > the next day or two.
> > > > >
> > > > > Matt
> > > > >
> > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > >
> > > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> > and
> > > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > > >> troubleshoot without being able to reproduce the issue. Not sure if
> > it will
> > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> at
> > a point
> > > > >> when you're see this issue.
> > > > >>
> > > > >>
> > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > >>
> > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > >>
> > > > >>> Matt,
> > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> > MySQL 4.1.
> > > > >>> Did you have a lot of data in your database? I've been clicking on
> > links/
> > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> > OOM
> > > > >>>
> > > > >> error
> > > > >>
> > > > >>> and the task manager memory footprint also reduces once I stop
> > clicking
> > > > >>>
> > > > >> and
> > > > >>
> > > > >>> settles back to the low value after GC is done. Maybe someone else
> > could
>  > > > >>>
> > > > >> try
> > > > >>
> > > > >>> reproducing this. btw what JVM heap size are you running with? And
> > at what
> > > > >>> memory size are you running out of memory. Do you have a stack
> > trace?
> > > > >>>
> > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > > >> around 550MB +.
> > > > >>
> > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > >> using JProfiler when I get the error.
> > > > >>
> > > > >>
> > > > >>> I did notice another thing though while manually stress testing
> it.
>  > > > >>>
> > > > >> Clicking
> > > > >>
> > > > >>> on the the save button of a user reached from
> > > > >>> "View  Users" in rapid succession yields the following exception.
> I
> > > > >>>
> > > > >> haven't
> > > > >>
> > > > >>> investigated this yet but this probably occurs when multiple
> threads
> > are
> > > > >>> trying to update the record concurrently. Not sure if this
> exception
> > is by
> > > > >>> design for Hibernate optimistic locking.
> > > > >>>
> > > > >>  This is b/c we're using versioning on the User object.  I left it
> in
> > > > >> their since it seems like a useful feature.  In other words, it's
> > > > >> expected behavior.
> > > > >>
> > > > >> Matt
> > > > >>
> > > > >>
> > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > >>>
> > AbstractFlushingEventListener.performExecutions(300) |
> > > > >>> Could not synchronize
> > > > >>>  database state with session
> > > > >>> org.hibernate.StaleObjectStateException: Row was
> > updated
> > > > >>>
> > > > >> or
> > > > >>
> > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.check
> (AbstractEntityPersister.java
> > :1635)
> > > > >>
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > >>
> > > > >>> (AbstractEntityPersister.java :2208)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> > > > >>
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > >>
> > > > >>> (AbstractEntityPersister.java:2374)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > > >>
> > > > >>>         at
> > > > >>>
> > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > >>>
> > > > >> :248)
> > > > >>
> > > > >>>         at
> > > > >>>
> > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > >>
> > > > >>> (ActionQueue.java:232)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > >>
> > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > >>>
> > > > >>> All,
> > > > >>>
> > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> spewing
> > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> after
> > a
> > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > >>> profiling this evening and haven't been able to find anything that
> > > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > > >>> offenders.  I can add the other application flavors, and the
> memory
> > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > look
> > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> hit.
> > > > >>>
> > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> I
> > > > >>> can send you any information you might need.
> > > > >>>
> > > > >>> Thanks,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >>> To unsubscribe, e-mail:
> > > > >>> [hidden email]
> > > > >>> For additional commands, e-mail: [hidden email]
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >>> To unsubscribe, e-mail:
> > > > >>> [hidden email]
> > > > >>> For additional commands, e-mail: [hidden email]
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >> To unsubscribe, e-mail:
> > > > >> [hidden email]
> > > > >> For additional commands, e-mail: [hidden email]
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >
> > > > >
> >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > cyber:con gmbh
> > > > Mika Göckel
> > > >
> > > > Rathausallee 10
> > > > 53757 Sankt Augustin
> > > >
> > > > tel (+49)2241 / 9350 0
> > > > fax (+49)2241 / 9350 99
> > > > mob (+49) 172 / 279 2771
> > > > skype mika.goeckel
>  > > > email [hidden email]
> > > >
> > > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Do you have McAfee installed? A recent patch was really buggy and didn't release file handles correctly resulting in a leak of non pooled memory. This could case the error to show up as a OOM.

On 4/18/06, Matt Raible <[hidden email]> wrote:
Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
I'll reproduce and send the files tonight.

Matt

On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:

> I spent around around 30 mins today having all apps deployed but wasn't able
> to replicate the issue. Can you sent the stack trace? Is this deployed on a
> windows box?
>
>
> On 4/18/06, Matt Raible <[hidden email]> wrote:
> >
> On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> >
> > hmm, cuz I just tried my testing using one AppFuse app deployed
> > (appfuse-jsf). I'll try again with all 5 deployed.
> >
> > Can you try replicating the OOM with only the appfuse-jsf app deployed?
>
> No, it seems to be the combo.  It doesn't go down though, just keeps
> climbing.  I suspect there might be a sweetspot (768M or something),
> but I doubt it.  I suspect a memory leak in one of the combos.
>
>  Matt
>
> >
> >
> >
> > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > I have a scenario setup with WAPT that I can send.  One thing to note
>  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > which includes Spring MVC with iBATIS.
> > >
> > > Matt
> > >
> > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > What about setting up a load test scenario with canoo (if this is
> > > > possible) or JMeter.
> > > > Manually clicking around didn't show up OOMs on my system either.
> > > >
> > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > > mysql 4.1.15 on XP.
> > > >
> > > > Matt Raible schrieb:
> > > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > > the next day or two.
> > > > >
> > > > > Matt
> > > > >
> > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > >
> > > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> > and
> > > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > > >> troubleshoot without being able to reproduce the issue. Not sure if
> > it will
> > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> at
> > a point
> > > > >> when you're see this issue.
> > > > >>
> > > > >>
> > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > >>
> > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > >>
> > > > >>> Matt,
> > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> > MySQL 4.1.
> > > > >>> Did you have a lot of data in your database? I've been clicking on
> > links/
> > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> > OOM
> > > > >>>
> > > > >> error
> > > > >>
> > > > >>> and the task manager memory footprint also reduces once I stop
> > clicking
> > > > >>>
> > > > >> and
> > > > >>
> > > > >>> settles back to the low value after GC is done. Maybe someone else
> > could
>  > > > >>>
> > > > >> try
> > > > >>
> > > > >>> reproducing this. btw what JVM heap size are you running with? And
> > at what
> > > > >>> memory size are you running out of memory. Do you have a stack
> > trace?
> > > > >>>
> > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > > >> around 550MB +.
> > > > >>
> > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > >> using JProfiler when I get the error.
> > > > >>
> > > > >>
> > > > >>> I did notice another thing though while manually stress testing
> it.
>  > > > >>>
> > > > >> Clicking
> > > > >>
> > > > >>> on the the save button of a user reached from
> > > > >>> "View  Users" in rapid succession yields the following exception.
> I
> > > > >>>
> > > > >> haven't
> > > > >>
> > > > >>> investigated this yet but this probably occurs when multiple
> threads
> > are
> > > > >>> trying to update the record concurrently. Not sure if this
> exception
> > is by
> > > > >>> design for Hibernate optimistic locking.
> > > > >>>
> > > > >>  This is b/c we're using versioning on the User object.  I left it
> in
> > > > >> their since it seems like a useful feature.  In other words, it's
> > > > >> expected behavior.
> > > > >>
> > > > >> Matt
> > > > >>
> > > > >>
> > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > >>>
> > AbstractFlushingEventListener.performExecutions(300) |
> > > > >>> Could not synchronize
> > > > >>>  database state with session
> > > > >>> org.hibernate.StaleObjectStateException: Row was
> > updated
> > > > >>>
> > > > >> or
> > > > >>
> > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.check
> (AbstractEntityPersister.java
> > :1635)
> > > > >>
> > > > >>>         at
> > > > >>>

> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > >>
> > > > >>> ( AbstractEntityPersister.java :2208)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert (AbstractEntityPersister.java:2118)
> > > > >>
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >

> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > >>
> > > > >>> (AbstractEntityPersister.java:2374)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > > >>
> > > > >>>         at
> > > > >>>
> > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > >>>
> > > > >> :248)
> > > > >>
> > > > >>>         at
> > > > >>>
> > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > >>
> > > > >>> (ActionQueue.java:232)
> > > > >>>         at
> > > > >>>
> > > > >>>
> > > > >>
> >
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > >>
> > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > >>>
> > > > >>> All,
> > > > >>>
> > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> spewing
> > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> after
> > a
> > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > >>> profiling this evening and haven't been able to find anything that
> > > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > > >>> offenders.  I can add the other application flavors, and the
> memory
> > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > look
> > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> hit.
> > > > >>>
> > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> I
> > > > >>> can send you any information you might need.
> > > > >>>
> > > > >>> Thanks,
> > > > >>>
> > > > >>> Matt
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >>> To unsubscribe, e-mail:
> > > > >>> [hidden email]
> > > > >>> For additional commands, e-mail: [hidden email]
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >>> To unsubscribe, e-mail:
> > > > >>> [hidden email]
> > > > >>> For additional commands, e-mail: [hidden email]
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> >
> ---------------------------------------------------------------------
> > > > >>
> > > > >> To unsubscribe, e-mail:
> > > > >> [hidden email]
> > > > >> For additional commands, e-mail: [hidden email]
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >
> > > > >
> >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > cyber:con gmbh
> > > > Mika Göckel
> > > >
> > > > Rathausallee 10
> > > > 53757 Sankt Augustin
> > > >
> > > > tel (+49)2241 / 9350 0
> > > > fax (+49)2241 / 9350 99
> > > > mob (+49) 172 / 279 2771
> > > > skype mika.goeckel
>  > > > email [hidden email]
> > > >
> > > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > [hidden email]

> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Nope, but I do have Norton Antivirus installed.  Regardless of what I
have locally on my Windows box, the problem still happens on the Linux
box where it runs. ;-)

Matt

On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:

> Do you have McAfee installed? A recent patch was really buggy and didn't
> release file handles correctly resulting in a leak of non pooled memory.
> This could case the error to show up as a OOM.
>
>
> On 4/18/06, Matt Raible <[hidden email]> wrote:
> >
> Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
> I'll reproduce and send the files tonight.
>
> Matt
>
> On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:
> > I spent around around 30 mins today having all apps deployed but wasn't
> able
> > to replicate the issue. Can you sent the stack trace? Is this deployed on
> a
> > windows box?
> >
> >
> > On 4/18/06, Matt Raible <[hidden email]> wrote:
> > >
> > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > >
> > > hmm, cuz I just tried my testing using one AppFuse app deployed
> > > (appfuse-jsf). I'll try again with all 5 deployed.
> > >
> > > Can you try replicating the OOM with only the appfuse-jsf app deployed?
> >
> > No, it seems to be the combo.  It doesn't go down though, just keeps
> > climbing.  I suspect there might be a sweetspot (768M or something),
> > but I doubt it.  I suspect a memory leak in one of the combos.
> >
> >  Matt
> >
> > >
> > >
> > >
> > > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > > I have a scenario setup with WAPT that I can send.  One thing to note
> >  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > > which includes Spring MVC with iBATIS.
> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > > What about setting up a load test scenario with canoo (if this is
> > > > > possible) or JMeter.
> > > > > Manually clicking around didn't show up OOMs on my system either.
> > > > >
> > > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat
> 5.5.9,
> > > > > mysql 4.1.15 on XP.
> > > > >
> > > > > Matt Raible schrieb:
> > > > > > I just used a normal database created by AppFuse.  The Struts
> Resume
> > > > > > and wiki datasets are quite a bit larger, but I took them out of
> the
> > > > > > mix.  I'll try to come up with a more definitive way to reproduce
> in
> > > > > > the next day or two.
> > > > > >
> > > > > > Matt
> > > > > >
> > > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >
> > > > > >> How large is your dataset? I haven't altered the default tomcat
> Xmx
> > > and
> > > > > >> still didn't get an OOM error. Its going to be difficult for me
> to
> > > > > >> troubleshoot without being able to reproduce the issue. Not sure
> if
> > > it will
> > > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> > at
> > > a point
> > > > > >> when you're see this issue.
> > > > > >>
> > > > > >>
> > > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > > >>
> > > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >>
> > > > > >>> Matt,
> > > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> > > MySQL 4.1.
> > > > > >>> Did you have a lot of data in your database? I've been clicking
> on
> > > links/
> > > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise
> an
> > > OOM
> > > > > >>>
> > > > > >> error
> > > > > >>
> > > > > >>> and the task manager memory footprint also reduces once I stop
> > > clicking
> > > > > >>>
> > > > > >> and
> > > > > >>
> > > > > >>> settles back to the low value after GC is done. Maybe someone
> else
> > > could
> >  > > > >>>
> > > > > >> try
> > > > > >>
> > > > > >>> reproducing this. btw what JVM heap size are you running with?
> And
> > > at what
> > > > > >>> memory size are you running out of memory. Do you have a stack
> > > trace?
> > > > > >>>
> > > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of
> memory
> > > > > >> around 550MB +.
> > > > > >>
> > > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > > >> using JProfiler when I get the error.
> > > > > >>
> > > > > >>
> > > > > >>> I did notice another thing though while manually stress testing
> > it.
> >  > > > >>>
> > > > > >> Clicking
> > > > > >>
> > > > > >>> on the the save button of a user reached from
> > > > > >>> "View  Users" in rapid succession yields the following
> exception.
> > I
> > > > > >>>
> > > > > >> haven't
> > > > > >>
> > > > > >>> investigated this yet but this probably occurs when multiple
> > threads
> > > are
> > > > > >>> trying to update the record concurrently. Not sure if this
> > exception
> > > is by
> > > > > >>> design for Hibernate optimistic locking.
> > > > > >>>
> > > > > >>  This is b/c we're using versioning on the User object.  I left
> it
> > in
> > > > > >> their since it seems like a useful feature.  In other words, it's
> > > > > >> expected behavior.
> > > > > >>
> > > > > >> Matt
> > > > > >>
> > > > > >>
> > > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > > >>>
> > > AbstractFlushingEventListener.performExecutions(300) |
> > > > > >>> Could not synchronize
> > > > > >>>  database state with session
> > > > > >>> org.hibernate.StaleObjectStateException: Row
> was
> > > updated
> > > > > >>>
> > > > > >> or
> > > > > >>
> > > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> org.hibernate.persister.entity.AbstractEntityPersister.check
> > (AbstractEntityPersister.java
> > > :1635)
> > > > > >>
> > > > > >>>         at
>  > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> ( AbstractEntityPersister.java :2208)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert
> (AbstractEntityPersister.java:2118)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
>  > >
> >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java:2374)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > >
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > > >>>
> > > > > >> :248)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > > >>
> > > > > >>> (ActionQueue.java:232)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > > >>
> > > > > >>> On 4/17/06, Matt Raible < [hidden email] > wrote:
> > > > > >>>
> > > > > >>> All,
> > > > > >>>
> > > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> > spewing
> > > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> > after
> > > a
> > > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > > >>> profiling this evening and haven't been able to find anything
> that
> > > > > >>> definitive.  However, it seems that Tapestry and JSF are the
> worst
> > > > > >>> offenders.  I can add the other application flavors, and the
> > memory
> > > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > > look
> > > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> > hit.
> > > > > >>>
> > > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> > I
> > > > > >>> can send you any information you might need.
> > > > > >>>
> > > > > >>> Thanks,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> >
> ---------------------------------------------------------------------
> > > > > >>
> > > > > >> To unsubscribe, e-mail:
> > > > > >> [hidden email]
> > > > > >> For additional commands, e-mail: [hidden email]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > > For additional commands, e-mail: [hidden email]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > cyber:con gmbh
> > > > > Mika Göckel
> > > > >
> > > > > Rathausallee 10
> > > > > 53757 Sankt Augustin
> > > > >
> > > > > tel (+49)2241 / 9350 0
> > > > > fax (+49)2241 / 9350 99
> > > > > mob (+49) 172 / 279 2771
> > > > > skype mika.goeckel
> >  > > > email [hidden email]
> > > > >
> > > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
>  > > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> >
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail:
> [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
In reply to this post by Matt Raible-3
Here's what I did to reproduce the problem.

Installed all webapps from appfuse.org in $CATALINA_HOME/webapps.
This includes all 5  AppFuse flavors, the wiki and Struts Resume. I
started Tomcat (5.5.16 on JDK 5) with JProfiler and all bells and
whistles enabled.

I completed the following sequence, starting with appfuse, then
appfuse-spring, then appfuse-webwork.

1. Login
2. Click on Edit Profile
3. Click Save (there's an error here in Spring+iBATIS)
4. Click on View Users
5. Logout

When logging into the WebWork version, I ran out of memory and
received the following stack trace:


[appfuse-webwork] DEBUG [http-8080-3] UserAction.edit(92) | checking
for remember me login...
[appfuse-webwork] ERROR [http-8080-3] [jsp].invoke(704) |
Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: File "/webwork" not found
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)

When I tried to access appfuse-tapestry, I received:

Apr 18, 2006 9:43:42 PM org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the
request processing
java.lang.OutOfMemoryError: PermGen space

JAVA_OPTS: -Xms256M -Xmx384M
CATALINA_OPTS: -Xms256M -Xmx256M

For kicks, I tried starting Tomcat outside of JProfiler and went
through the same sequence of steps outlined above.  I actually made it
through each application ... almost.  I clicked logout on the last one
(appfuse-tapestry) and OOM:

[appfuse-tapestry] DEBUG [http-8080-Processor25] UserSecurityAdvice.afterReturni
ng(118) | Removing 'mraible' from userCache
[appfuse-tapestry] ERROR [http-8080-Processor25] [jsp].invoke(253) | Servlet.ser
vice() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space

Matt

On 4/18/06, Matt Raible <[hidden email]> wrote:

> Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
> I'll reproduce and send the files tonight.
>
> Matt
>
> On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:
> > I spent around around 30 mins today having all apps deployed but wasn't able
> > to replicate the issue. Can you sent the stack trace? Is this deployed on a
> > windows box?
> >
> >
> > On 4/18/06, Matt Raible <[hidden email]> wrote:
> > >
> > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> > >
> > > hmm, cuz I just tried my testing using one AppFuse app deployed
> > > (appfuse-jsf). I'll try again with all 5 deployed.
> > >
> > > Can you try replicating the OOM with only the appfuse-jsf app deployed?
> >
> > No, it seems to be the combo.  It doesn't go down though, just keeps
> > climbing.  I suspect there might be a sweetspot (768M or something),
> > but I doubt it.  I suspect a memory leak in one of the combos.
> >
> >  Matt
> >
> > >
> > >
> > >
> > > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > > I have a scenario setup with WAPT that I can send.  One thing to note
> >  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > > which includes Spring MVC with iBATIS.
> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > > What about setting up a load test scenario with canoo (if this is
> > > > > possible) or JMeter.
> > > > > Manually clicking around didn't show up OOMs on my system either.
> > > > >
> > > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > > > mysql 4.1.15 on XP.
> > > > >
> > > > > Matt Raible schrieb:
> > > > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > > > the next day or two.
> > > > > >
> > > > > > Matt
> > > > > >
> > > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >
> > > > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> > > and
> > > > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > > > >> troubleshoot without being able to reproduce the issue. Not sure if
> > > it will
> > > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> > at
> > > a point
> > > > > >> when you're see this issue.
> > > > > >>
> > > > > >>
> > > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > > >>
> > > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >>
> > > > > >>> Matt,
> > > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> > > MySQL 4.1.
> > > > > >>> Did you have a lot of data in your database? I've been clicking on
> > > links/
> > > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> > > OOM
> > > > > >>>
> > > > > >> error
> > > > > >>
> > > > > >>> and the task manager memory footprint also reduces once I stop
> > > clicking
> > > > > >>>
> > > > > >> and
> > > > > >>
> > > > > >>> settles back to the low value after GC is done. Maybe someone else
> > > could
> >  > > > >>>
> > > > > >> try
> > > > > >>
> > > > > >>> reproducing this. btw what JVM heap size are you running with? And
> > > at what
> > > > > >>> memory size are you running out of memory. Do you have a stack
> > > trace?
> > > > > >>>
> > > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > > > >> around 550MB +.
> > > > > >>
> > > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > > >> using JProfiler when I get the error.
> > > > > >>
> > > > > >>
> > > > > >>> I did notice another thing though while manually stress testing
> > it.
> >  > > > >>>
> > > > > >> Clicking
> > > > > >>
> > > > > >>> on the the save button of a user reached from
> > > > > >>> "View  Users" in rapid succession yields the following exception.
> > I
> > > > > >>>
> > > > > >> haven't
> > > > > >>
> > > > > >>> investigated this yet but this probably occurs when multiple
> > threads
> > > are
> > > > > >>> trying to update the record concurrently. Not sure if this
> > exception
> > > is by
> > > > > >>> design for Hibernate optimistic locking.
> > > > > >>>
> > > > > >>  This is b/c we're using versioning on the User object.  I left it
> > in
> > > > > >> their since it seems like a useful feature.  In other words, it's
> > > > > >> expected behavior.
> > > > > >>
> > > > > >> Matt
> > > > > >>
> > > > > >>
> > > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > > >>>
> > > AbstractFlushingEventListener.performExecutions(300) |
> > > > > >>> Could not synchronize
> > > > > >>>  database state with session
> > > > > >>> org.hibernate.StaleObjectStateException: Row was
> > > updated
> > > > > >>>
> > > > > >> or
> > > > > >>
> > > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.check
> > (AbstractEntityPersister.java
> > > :1635)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java :2208)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java:2374)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > > >>>
> > > > > >> :248)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > > >>
> > > > > >>> (ActionQueue.java:232)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > > >>
> > > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > > >>>
> > > > > >>> All,
> > > > > >>>
> > > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> > spewing
> > > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> > after
> > > a
> > > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > > >>> profiling this evening and haven't been able to find anything that
> > > > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > > > >>> offenders.  I can add the other application flavors, and the
> > memory
> > > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > > look
> > > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> > hit.
> > > > > >>>
> > > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> > I
> > > > > >>> can send you any information you might need.
> > > > > >>>
> > > > > >>> Thanks,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >> To unsubscribe, e-mail:
> > > > > >> [hidden email]
> > > > > >> For additional commands, e-mail: [hidden email]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > > For additional commands, e-mail: [hidden email]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > cyber:con gmbh
> > > > > Mika Göckel
> > > > >
> > > > > Rathausallee 10
> > > > > 53757 Sankt Augustin
> > > > >
> > > > > tel (+49)2241 / 9350 0
> > > > > fax (+49)2241 / 9350 99
> > > > > mob (+49) 172 / 279 2771
> > > > > skype mika.goeckel
> >  > > > email [hidden email]
> > > > >
> > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> >
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
ah, did you try increasing the max perm size (-XX:MaxPermSize=256m) . Max Perm size is running out of memory and not necessarily the main memory. Class metadata stuff is placed in the perm memory (google for more deails) and since we're using Spring , Hibernate and Tapestry which all use a lot of reflection, proxying etc, its not surprising that max perm size is running out of memory..

On 4/18/06, Matt Raible <[hidden email]> wrote:
Here's what I did to reproduce the problem.

Installed all webapps from appfuse.org in $CATALINA_HOME/webapps.
This includes all 5  AppFuse flavors, the wiki and Struts Resume. I
started Tomcat (5.5.16 on JDK 5) with JProfiler and all bells and
whistles enabled.

I completed the following sequence, starting with appfuse, then
appfuse-spring, then appfuse-webwork.

1. Login
2. Click on Edit Profile
3. Click Save (there's an error here in Spring+iBATIS)
4. Click on View Users
5. Logout

When logging into the WebWork version, I ran out of memory and
received the following stack trace:


[appfuse-webwork] DEBUG [http-8080-3] UserAction.edit(92) | checking
for remember me login...
[appfuse-webwork] ERROR [http-8080-3] [jsp].invoke(704) |
Servlet.service () for servlet jsp threw exception
org.apache.jasper.JasperException: File "/webwork" not found
   at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
   at org.apache.jasper.compiler.ErrorDispatcher.dispatch (ErrorDispatcher.java:407)
   at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)

When I tried to access appfuse-tapestry, I received:

Apr 18, 2006 9:43:42 PM org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the
request processing
java.lang.OutOfMemoryError: PermGen space

JAVA_OPTS: -Xms256M -Xmx384M
CATALINA_OPTS: -Xms256M -Xmx256M

For kicks, I tried starting Tomcat outside of JProfiler and went
through the same sequence of steps outlined above.  I actually made it
through each application ... almost.  I clicked logout on the last one
(appfuse-tapestry) and OOM:

[appfuse-tapestry] DEBUG [http-8080-Processor25] UserSecurityAdvice.afterReturni
ng(118) | Removing 'mraible' from userCache
[appfuse-tapestry] ERROR [http-8080-Processor25] [jsp].invoke(253) | Servlet.ser
vice() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space

Matt

On 4/18/06, Matt Raible <[hidden email]> wrote:

> Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
> I'll reproduce and send the files tonight.
>
> Matt
>
> On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:
> > I spent around around 30 mins today having all apps deployed but wasn't able
> > to replicate the issue. Can you sent the stack trace? Is this deployed on a
> > windows box?
> >
> >
> > On 4/18/06, Matt Raible <[hidden email]> wrote:
> > >
> > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> > >
> > > hmm, cuz I just tried my testing using one AppFuse app deployed
> > > (appfuse-jsf). I'll try again with all 5 deployed.
> > >
> > > Can you try replicating the OOM with only the appfuse-jsf app deployed?
> >
> > No, it seems to be the combo.  It doesn't go down though, just keeps
> > climbing.  I suspect there might be a sweetspot (768M or something),
> > but I doubt it.  I suspect a memory leak in one of the combos.
> >
> >  Matt
> >
> > >
> > >
> > >
> > > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > > I have a scenario setup with WAPT that I can send.  One thing to note
> >  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > > which includes Spring MVC with iBATIS.

> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > > What about setting up a load test scenario with canoo (if this is
> > > > > possible) or JMeter.
> > > > > Manually clicking around didn't show up OOMs on my system either.
> > > > >
> > > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > > > mysql 4.1.15 on XP.
> > > > >
> > > > > Matt Raible schrieb:
> > > > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > > > the next day or two.
> > > > > >
> > > > > > Matt
> > > > > >
> > > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >
> > > > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> > > and
> > > > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > > > >> troubleshoot without being able to reproduce the issue. Not sure if
> > > it will
> > > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> > at
> > > a point
> > > > > >> when you're see this issue.
> > > > > >>
> > > > > >>
> > > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > > >>
> > > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >>
> > > > > >>> Matt,
> > > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16,
> > > MySQL 4.1.
> > > > > >>> Did you have a lot of data in your database? I've been clicking on
> > > links/
> > > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> > > OOM
> > > > > >>>
> > > > > >> error
> > > > > >>
> > > > > >>> and the task manager memory footprint also reduces once I stop
> > > clicking
> > > > > >>>
> > > > > >> and
> > > > > >>
> > > > > >>> settles back to the low value after GC is done. Maybe someone else
> > > could
> >  > > > >>>
> > > > > >> try
> > > > > >>
> > > > > >>> reproducing this. btw what JVM heap size are you running with? And
> > > at what
> > > > > >>> memory size are you running out of memory. Do you have a stack
> > > trace?
> > > > > >>>
> > > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > > > >> around 550MB +.
> > > > > >>
> > > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > > >> using JProfiler when I get the error.
> > > > > >>
> > > > > >>
> > > > > >>> I did notice another thing though while manually stress testing
> > it.
> >  > > > >>>
> > > > > >> Clicking
> > > > > >>
> > > > > >>> on the the save button of a user reached from
> > > > > >>> "View  Users" in rapid succession yields the following exception.
> > I
> > > > > >>>
> > > > > >> haven't
> > > > > >>
> > > > > >>> investigated this yet but this probably occurs when multiple
> > threads
> > > are
> > > > > >>> trying to update the record concurrently. Not sure if this
> > exception
> > > is by
> > > > > >>> design for Hibernate optimistic locking.
> > > > > >>>
> > > > > >>  This is b/c we're using versioning on the User object.  I left it
> > in
> > > > > >> their since it seems like a useful feature.  In other words, it's
> > > > > >> expected behavior.
> > > > > >>
> > > > > >> Matt
> > > > > >>
> > > > > >>
> > > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > > >>>
> > > AbstractFlushingEventListener.performExecutions(300) |
> > > > > >>> Could not synchronize
> > > > > >>>  database state with session
> > > > > >>> org.hibernate.StaleObjectStateException: Row was
> > > updated
> > > > > >>>
> > > > > >> or
> > > > > >>
> > > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.check
> > ( AbstractEntityPersister.java
> > > :1635)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java :2208)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert (AbstractEntityPersister.java:2118)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java:2374)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java :91)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > > >>>
> > > > > >> :248)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > > >>
> > > > > >>> (ActionQueue.java:232)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > > >>
> > > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > > >>>
> > > > > >>> All,
> > > > > >>>
> > > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> > spewing
> > > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> > after
> > > a
> > > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > > >>> profiling this evening and haven't been able to find anything that
> > > > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > > > >>> offenders.  I can add the other application flavors, and the
> > memory
> > > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > > look
> > > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> > hit.
> > > > > >>>
> > > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> > I
> > > > > >>> can send you any information you might need.
> > > > > >>>
> > > > > >>> Thanks,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >> To unsubscribe, e-mail:
> > > > > >> [hidden email]
> > > > > >> For additional commands, e-mail: [hidden email]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > > For additional commands, e-mail: [hidden email]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > cyber:con gmbh
> > > > > Mika Göckel
> > > > >
> > > > > Rathausallee 10
> > > > > 53757 Sankt Augustin
> > > > >
> > > > > tel (+49)2241 / 9350 0
> > > > > fax (+49)2241 / 9350 99
> > > > > mob (+49) 172 / 279 2771
> > > > > skype mika.goeckel
> >  > > > email [hidden email]
> > > > >
> > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> >
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Sanjiv Jivan

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Also if memory serves me right, there is a view in JProfiler which specifically shows the max perm memory heap.

On 4/19/06, Sanjiv Jivan <[hidden email]> wrote:
ah, did you try increasing the max perm size (-XX:MaxPermSize=256m) . Max Perm size is running out of memory and not necessarily the main memory. Class metadata stuff is placed in the perm memory (google for more deails) and since we're using Spring , Hibernate and Tapestry which all use a lot of reflection, proxying etc, its not surprising that max perm size is running out of memory..


On 4/18/06, Matt Raible <[hidden email]> wrote:
Here's what I did to reproduce the problem.

Installed all webapps from appfuse.org in $CATALINA_HOME/webapps.
This includes all 5  AppFuse flavors, the wiki and Struts Resume. I
started Tomcat (5.5.16 on JDK 5) with JProfiler and all bells and
whistles enabled.

I completed the following sequence, starting with appfuse, then
appfuse-spring, then appfuse-webwork.

1. Login
2. Click on Edit Profile
3. Click Save (there's an error here in Spring+iBATIS)
4. Click on View Users
5. Logout

When logging into the WebWork version, I ran out of memory and
received the following stack trace:


[appfuse-webwork] DEBUG [http-8080-3] UserAction.edit(92) | checking
for remember me login...
[appfuse-webwork] ERROR [http-8080-3] [jsp].invoke(704) |
Servlet.service () for servlet jsp threw exception
org.apache.jasper.JasperException: File "/webwork" not found
   at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
   at org.apache.jasper.compiler.ErrorDispatcher.dispatch (ErrorDispatcher.java:407)
   at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)

When I tried to access appfuse-tapestry, I received:

Apr 18, 2006 9:43:42 PM org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the
request processing
java.lang.OutOfMemoryError: PermGen space

JAVA_OPTS: -Xms256M -Xmx384M
CATALINA_OPTS: -Xms256M -Xmx256M

For kicks, I tried starting Tomcat outside of JProfiler and went
through the same sequence of steps outlined above.  I actually made it
through each application ... almost.  I clicked logout on the last one
(appfuse-tapestry) and OOM:

[appfuse-tapestry] DEBUG [http-8080-Processor25] UserSecurityAdvice.afterReturni
ng(118) | Removing 'mraible' from userCache
[appfuse-tapestry] ERROR [http-8080-Processor25] [jsp].invoke(253) | Servlet.ser
vice() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space

Matt

On 4/18/06, Matt Raible <[hidden email]> wrote:

> Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
> I'll reproduce and send the files tonight.
>
> Matt
>
> On 4/18/06, Sanjiv Jivan < [hidden email]> wrote:
> > I spent around around 30 mins today having all apps deployed but wasn't able
> > to replicate the issue. Can you sent the stack trace? Is this deployed on a
> > windows box?
> >
> >
> > On 4/18/06, Matt Raible <[hidden email]> wrote:
> > >
> > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> > >
> > > hmm, cuz I just tried my testing using one AppFuse app deployed
> > > (appfuse-jsf). I'll try again with all 5 deployed.
> > >
> > > Can you try replicating the OOM with only the appfuse-jsf app deployed?
> >
> > No, it seems to be the combo.  It doesn't go down though, just keeps
> > climbing.  I suspect there might be a sweetspot (768M or something),
> > but I doubt it.  I suspect a memory leak in one of the combos.
> >
> >  Matt
> >
> > >
> > >
> > >
> > > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > > I have a scenario setup with WAPT that I can send.  One thing to note
> >  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > > flavors installed. Or at least the ones I have on demo.appfuse.org -
> > > > which includes Spring MVC with iBATIS.
> > > >
> > > > Matt
> > > >
> > > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > > What about setting up a load test scenario with canoo (if this is

> > > > > possible) or JMeter.
> > > > > Manually clicking around didn't show up OOMs on my system either.
> > > > >
> > > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat 5.5.9,
> > > > > mysql 4.1.15 on XP.
> > > > >
> > > > > Matt Raible schrieb:
> > > > > > I just used a normal database created by AppFuse.  The Struts Resume
> > > > > > and wiki datasets are quite a bit larger, but I took them out of the
> > > > > > mix.  I'll try to come up with a more definitive way to reproduce in
> > > > > > the next day or two.
> > > > > >
> > > > > > Matt
> > > > > >
> > > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >
> > > > > >> How large is your dataset? I haven't altered the default tomcat Xmx
> > > and
> > > > > >> still didn't get an OOM error. Its going to be difficult for me to
> > > > > >> troubleshoot without being able to reproduce the issue. Not sure if
> > > it will
> > > > > >> help, but maybe I can also try analysing your JProfiler snapshot
> > at
> > > a point
> > > > > >> when you're see this issue.
> > > > > >>
> > > > > >>
> > > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > > >>
> > > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > >>
> > > > > >>> Matt,
> > > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat 5.5.16 ,
> > > MySQL 4.1.
> > > > > >>> Did you have a lot of data in your database? I've been clicking on
> > > links/
> > > > > >>> update/ sort etc for 10 - 15 minutes but the app does not raise an
> > > OOM
> > > > > >>>
> > > > > >> error
> > > > > >>
> > > > > >>> and the task manager memory footprint also reduces once I stop
> > > clicking
> > > > > >>>
> > > > > >> and
> > > > > >>
> > > > > >>> settles back to the low value after GC is done. Maybe someone else
> > > could
> >  > > > >>>
> > > > > >> try
> > > > > >>
> > > > > >>> reproducing this. btw what JVM heap size are you running with? And
> > > at what
> > > > > >>> memory size are you running out of memory. Do you have a stack
> > > trace?
> > > > > >>>
> > > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of memory
> > > > > >> around 550MB +.
> > > > > >>
> > > > > >> I don't have a stack trace, but I can get one if you'd like.  I'm
> > > > > >> using JProfiler when I get the error.
> > > > > >>
> > > > > >>
> > > > > >>> I did notice another thing though while manually stress testing
> > it.
> >  > > > >>>
> > > > > >> Clicking
> > > > > >>
> > > > > >>> on the the save button of a user reached from
> > > > > >>> "View  Users" in rapid succession yields the following exception.
> > I
> > > > > >>>
> > > > > >> haven't
> > > > > >>
> > > > > >>> investigated this yet but this probably occurs when multiple
> > threads
> > > are
> > > > > >>> trying to update the record concurrently. Not sure if this
> > exception
> > > is by
> > > > > >>> design for Hibernate optimistic locking.
> > > > > >>>
> > > > > >>  This is b/c we're using versioning on the User object.  I left it
> > in
> > > > > >> their since it seems like a useful feature.  In other words, it's
> > > > > >> expected behavior.
> > > > > >>
> > > > > >> Matt
> > > > > >>
> > > > > >>
> > > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > > >>>
> > > AbstractFlushingEventListener.performExecutions(300) |
> > > > > >>> Could not synchronize
> > > > > >>>  database state with session
> > > > > >>> org.hibernate.StaleObjectStateException: Row was
> > > updated
> > > > > >>>
> > > > > >> or
> > > > > >>
> > > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.check
> > ( AbstractEntityPersister.java
> > > :1635)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java :2208)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert (AbstractEntityPersister.java:2118)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > >>
> > > > > >>> (AbstractEntityPersister.java:2374)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java :91)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > > >>>
> > > > > >> :248)
> > > > > >>
> > > > > >>>         at
> > > > > >>>
> > > > > >> org.hibernate.engine.ActionQueue.executeActions
> > > > > >>
> > > > > >>> (ActionQueue.java:232)
> > > > > >>>         at
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > > >>
> > > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > > >>>
> > > > > >>> All,
> > > > > >>>
> > > > > >>> Ever since I deployed 1.9.1 to appfuse.org , Tomcat has been
> > spewing
> > > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or two
> > after
> > > a
> > > > > >>> restart to get them, which really sucks.  I've been doing some
> > > > > >>> profiling this evening and haven't been able to find anything that
> > > > > >>> definitive.  However, it seems that Tapestry and JSF are the worst
> > > > > >>> offenders.  I can add the other application flavors, and the

> > memory
> > > > > >>> usage gradually goes up as I click through the apps.  If I stop
> > > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and keeps
> > > > > >>> climbing - almost up 150K.  The heap size and stats in JProfiler
> > > look
> > > > > >>> good, but Windows Task Manager shows JSF supplying the biggest
> > hit.
> > > > > >>>
> > > > > >>> Does anyone have the time to profile any of the AppFuse flavors?
> > I
> > > > > >>> can send you any information you might need.
> > > > > >>>
> > > > > >>> Thanks,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >>> To unsubscribe, e-mail:
> > > > > >>> [hidden email]
> > > > > >>> For additional commands, e-mail: [hidden email]
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > >
> > ---------------------------------------------------------------------
> > > > > >>
> > > > > >> To unsubscribe, e-mail:
> > > > > >> [hidden email]
> > > > > >> For additional commands, e-mail: [hidden email]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > > For additional commands, e-mail: [hidden email]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > cyber:con gmbh
> > > > > Mika Göckel
> > > > >
> > > > > Rathausallee 10
> > > > > 53757 Sankt Augustin
> > > > >
> > > > > tel (+49)2241 / 9350 0
> > > > > fax (+49)2241 / 9350 99
> > > > > mob (+49) 172 / 279 2771
> > > > > skype mika.goeckel
> >  > > > email [hidden email]
> > > > >
> > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > > For additional commands, e-mail: [hidden email]
> > > > >
> > > > >
> > > >
> > > >
> > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> >
> > To unsubscribe, e-mail:
> > [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



Matt Raible-3

Re: OOM Errors on appfuse.org

Reply Threaded More More options
Print post
Permalink
In reply to this post by Sanjiv Jivan
Dude - nice work!  I added -XX:MaxPermSize=256m to my JAVA_OPTS and
I'm now able to hammer all 5 apps with WAPT and have no memory issues.
 I've been getting 8 pages per second for 15 minutes with a blip on
the error graph every 5 minutes or so.

Thanks Sanjiv!

Matt

On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:

> ah, did you try increasing the max perm size (-XX:MaxPermSize=256m) . Max
> Perm size is running out of memory and not necessarily the main memory.
> Class metadata stuff is placed in the perm memory (google for more deails)
> and since we're using Spring , Hibernate and Tapestry which all use a lot of
> reflection, proxying etc, its not surprising that max perm size is running
> out of memory..
>
>
>
> On 4/18/06, Matt Raible <[hidden email]> wrote:
> > Here's what I did to reproduce the problem.
> >
> > Installed all webapps from appfuse.org in $CATALINA_HOME/webapps.
> > This includes all 5  AppFuse flavors, the wiki and Struts Resume. I
> > started Tomcat (5.5.16 on JDK 5) with JProfiler and all bells and
> > whistles enabled.
> >
> > I completed the following sequence, starting with appfuse, then
> > appfuse-spring, then appfuse-webwork.
> >
> > 1. Login
> > 2. Click on Edit Profile
> > 3. Click Save (there's an error here in Spring+iBATIS)
> > 4. Click on View Users
> > 5. Logout
> >
> > When logging into the WebWork version, I ran out of memory and
> > received the following stack trace:
> >
> >
> > [appfuse-webwork] DEBUG [http-8080-3] UserAction.edit(92) | checking
> > for remember me login...
> > [appfuse-webwork] ERROR [http-8080-3] [jsp].invoke(704) |
> > Servlet.service () for servlet jsp threw exception
> > org.apache.jasper.JasperException: File "/webwork" not
> found
> >    at
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
> >    at org.apache.jasper.compiler.ErrorDispatcher.dispatch
> (ErrorDispatcher.java:407)
> >    at
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
> >
> > When I tried to access appfuse-tapestry, I received:
> >
> > Apr 18, 2006 9:43:42 PM
> org.apache.catalina.connector.CoyoteAdapter service
> > SEVERE: An exception or error occurred in the container during the
> > request processing
> > java.lang.OutOfMemoryError: PermGen space
> >
> > JAVA_OPTS: -Xms256M -Xmx384M
> > CATALINA_OPTS: -Xms256M -Xmx256M
> >
> > For kicks, I tried starting Tomcat outside of JProfiler and went
> > through the same sequence of steps outlined above.  I actually made it
> > through each application ... almost.  I clicked logout on the last one
> > (appfuse-tapestry) and OOM:
> >
> > [appfuse-tapestry] DEBUG [http-8080-Processor25]
> UserSecurityAdvice.afterReturni
> > ng(118) | Removing 'mraible' from userCache
> > [appfuse-tapestry] ERROR [http-8080-Processor25] [jsp].invoke(253) |
> Servlet.ser
> > vice() for servlet jsp threw exception
> > java.lang.OutOfMemoryError: PermGen space
> >
> > Matt
> >
> > On 4/18/06, Matt Raible <[hidden email]> wrote:
> > > Yes, it's a Windows box: AMD dual core 3800 (2 GHz) with 3 GB of RAM.
> > > I'll reproduce and send the files tonight.
> > >
> > > Matt
> > >
> > > On 4/18/06, Sanjiv Jivan <[hidden email]> wrote:
> > > > I spent around around 30 mins today having all apps deployed but
> wasn't able
> > > > to replicate the issue. Can you sent the stack trace? Is this deployed
> on a
> > > > windows box?
> > > >
> > > >
> > > > On 4/18/06, Matt Raible <[hidden email] > wrote:
> > > > >
> > > > On 4/17/06, Sanjiv Jivan <[hidden email]> wrote:
> > > > >
> > > > > hmm, cuz I just tried my testing using one AppFuse app deployed
> > > > > (appfuse-jsf). I'll try again with all 5 deployed.
> > > > >
> > > > > Can you try replicating the OOM with only the appfuse-jsf app
> deployed?
> > > >
> > > > No, it seems to be the combo.  It doesn't go down though, just keeps
> > > > climbing.  I suspect there might be a sweetspot (768M or something),
> > > > but I doubt it.  I suspect a memory leak in one of the combos.
> > > >
> > > >  Matt
> > > >
> > > > >
> > > > >
> > > > >
> > > > > On 4/17/06, Matt Raible <[hidden email]> wrote:
> > > > > > I have a scenario setup with WAPT that I can send.  One thing to
> note
> > > >  > > is that these OOM errors only show up when you have all 5 AppFuse
> > > > > > flavors installed. Or at least the ones I have on demo.appfuse.org
> -
> > > > > > which includes Spring MVC with iBATIS.
> > > > > >
> > > > > > Matt
> > > > > >
> > > > > > On 4/17/06, Mika Göckel < [hidden email]> wrote:
> > > > > > > What about setting up a load test scenario with canoo (if this
> is
> > > > > > > possible) or JMeter.
> > > > > > > Manually clicking around didn't show up OOMs on my system
> either.
> > > > > > >
> > > > > > > Its appfuse latest CVS with jsf (tried struts as well), tomcat
> 5.5.9,
> > > > > > > mysql 4.1.15 on XP.
> > > > > > >
> > > > > > > Matt Raible schrieb:
> > > > > > > > I just used a normal database created by AppFuse.  The Struts
> Resume
> > > > > > > > and wiki datasets are quite a bit larger, but I took them out
> of the
> > > > > > > > mix.  I'll try to come up with a more definitive way to
> reproduce in
> > > > > > > > the next day or two.
> > > > > > > >
> > > > > > > > Matt
> > > > > > > >
> > > > > > > > On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > > > >
> > > > > > > >> How large is your dataset? I haven't altered the default
> tomcat Xmx
> > > > > and
> > > > > > > >> still didn't get an OOM error. Its going to be difficult for
> me to
> > > > > > > >> troubleshoot without being able to reproduce the issue. Not
> sure if
> > > > > it will
> > > > > > > >> help, but maybe I can also try analysing your JProfiler
> snapshot
> > > > at
> > > > > a point
> > > > > > > >> when you're see this issue.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> On 4/17/06, Matt Raible <[hidden email] > wrote:
> > > > > > > >>
> > > > > > > >> On 4/17/06, Sanjiv Jivan < [hidden email]> wrote:
> > > > > > > >>
> > > > > > > >>> Matt,
> > > > > > > >>> I'm unable to reproduce this locally. I'm on XP, Tomcat
> 5.5.16,
> > > > > MySQL 4.1.
> > > > > > > >>> Did you have a lot of data in your database? I've been
> clicking on
> > > > > links/
> > > > > > > >>> update/ sort etc for 10 - 15 minutes but the app does not
> raise an
> > > > > OOM
> > > > > > > >>>
> > > > > > > >> error
> > > > > > > >>
> > > > > > > >>> and the task manager memory footprint also reduces once I
> stop
> > > > > clicking
> > > > > > > >>>
> > > > > > > >> and
> > > > > > > >>
> > > > > > > >>> settles back to the low value after GC is done. Maybe
> someone else
> > > > > could
> > > >  > > > >>>
> > > > > > > >> try
> > > > > > > >>
> > > > > > > >>> reproducing this. btw what JVM heap size are you running
> with? And
> > > > > at what
> > > > > > > >>> memory size are you running out of memory. Do you have a
> stack
> > > > > trace?
> > > > > > > >>>
> > > > > > > >> I have my JAVA_OPTS set to -Xms256M -Xmx384M.  I run out of
> memory
> > > > > > > >> around 550MB +.
> > > > > > > >>
> > > > > > > >> I don't have a stack trace, but I can get one if you'd like.
> I'm
> > > > > > > >> using JProfiler when I get the error.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>> I did notice another thing though while manually stress
> testing
> > > > it.
> > > >  > > > >>>
> > > > > > > >> Clicking
> > > > > > > >>
> > > > > > > >>> on the the save button of a user reached from
> > > > > > > >>> "View  Users" in rapid succession yields the following
> exception.
> > > > I
> > > > > > > >>>
> > > > > > > >> haven't
> > > > > > > >>
> > > > > > > >>> investigated this yet but this probably occurs when multiple
> > > > threads
> > > > > are
> > > > > > > >>> trying to update the record concurrently. Not sure if this
> > > > exception
> > > > > is by
> > > > > > > >>> design for Hibernate optimistic locking.
> > > > > > > >>>
> > > > > > > >>  This is b/c we're using versioning on the User object.  I
> left it
> > > > in
> > > > > > > >> their since it seems like a useful feature.  In other words,
> it's
> > > > > > > >> expected behavior.
> > > > > > > >>
> > > > > > > >> Matt
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>> [appfuse-jsf] ERROR [http-8080-Processor23]
> > > > > > > >>>
> > > > >
> AbstractFlushingEventListener.performExecutions(300) |
> > > > > > > >>> Could not synchronize
> > > > > > > >>>  database state with session
> > > > > > > >>> org.hibernate.StaleObjectStateException:
> Row was
> > > > > updated
> > > > > > > >>>
> > > > > > > >> or
> > > > > > > >>
> > > > > > > >>> deleted by another transaction (or unsaved-value mapping was
> > > > > > > >>>  incorrect): [org.appfuse.model.User#2]
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.persister.entity.AbstractEntityPersister.check
> > > > ( AbstractEntityPersister.java
> > > > > :1635)
> > > > > > > >>
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > > > >>
> > > > > > > >>> (AbstractEntityPersister.java :2208)
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert
> (AbstractEntityPersister.java:2118)
> > > > > > > >>
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.persister.entity.AbstractEntityPersister.update
> > > > > > > >>
> > > > > > > >>> (AbstractEntityPersister.java:2374)
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java
> :91)
> > > > > > > >>
> > > > > > > >>>         at
> > > > > > > >>>
> > > > >
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java
> > > > > > > >>>
> > > > > > > >> :248)
> > > > > > > >>
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>
> org.hibernate.engine.ActionQueue.executeActions
> > > > > > > >>
> > > > > > > >>> (ActionQueue.java:232)
> > > > > > > >>>         at
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
> > > > > > > >>
> > > > > > > >>> On 4/17/06, Matt Raible < [hidden email]> wrote:
> > > > > > > >>>
> > > > > > > >>> All,
> > > > > > > >>>
> > > > > > > >>> Ever since I deployed 1.9.1 to appfuse.org, Tomcat has been
> > > > spewing
> > > > > > > >>> OutOfMemory (OOM) errors.  It only takes about a minute or
> two
> > > > after
> > > > > a
> > > > > > > >>> restart to get them, which really sucks.  I've been doing
> some
> > > > > > > >>> profiling this evening and haven't been able to find
> anything that
> > > > > > > >>> definitive.  However, it seems that Tapestry and JSF are the
> worst
> > > > > > > >>> offenders.  I can add the other application flavors, and the
> > > > memory
> > > > > > > >>> usage gradually goes up as I click through the apps.  If I
> stop
> > > > > > > >>> clicking, thing stabilize.  With JSF, it shoots up and and
> keeps
> > > > > > > >>> climbing - almost up 150K.  The heap size and stats in
> JProfiler
> > > > > look
> > > > > > > >>> good, but Windows Task Manager shows JSF supplying the
> biggest
> > > > hit.
> > > > > > > >>>
> > > > > > > >>> Does anyone have the time to profile any of the AppFuse
> flavors?
> > > > I
> > > > > > > >>> can send you any information you might need.
> > > > > > > >>>
> > > > > > > >>> Thanks,
> > > > > > > >>>
> > > > > > > >>> Matt
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > > >>
> > > > > > > >>> To unsubscribe, e-mail:
> > > > > > > >>> [hidden email]
> > > > > > > >>> For additional commands, e-mail:
> [hidden email]
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > > >>
> > > > > > > >>> To unsubscribe, e-mail:
> > > > > > > >>> [hidden email]
> > > > > > > >>> For additional commands, e-mail:
> [hidden email]
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > > >>
> > > > > > > >> To unsubscribe, e-mail:
> > > > > > > >> [hidden email]
> > > > > > > >> For additional commands, e-mail:
> [hidden email]
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >
> > > > > > > >
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > > > To unsubscribe, e-mail:
> > > > > [hidden email]
> > > > > > > > For additional commands, e-mail: [hidden email]
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > cyber:con gmbh
> > > > > > > Mika Göckel
> > > > > > >
> > > > > > > Rathausallee 10
> > > > > > > 53757 Sankt Augustin
> > > > > > >
> > > > > > > tel (+49)2241 / 9350 0
> > > > > > > fax (+49)2241 / 9350 99
> > > > > > > mob (+49) 172 / 279 2771
> > > > > > > skype mika.goeckel
> > > >  > > > email [hidden email]
> > > > > > >
> > > > > > >
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
> > > > > [hidden email]
> > > > > > > For additional commands, e-mail: [hidden email]
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > > > [hidden email]
> > > > > > For additional commands, e-mail: [hidden email]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> ---------------------------------------------------------------------
> > > >
> > > > To unsubscribe, e-mail:
> > > > [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

1 2