I'm going to add an issue to JIRA and post the info we have there. Geoff ----- Original Message ----- From: "Geoff Longman" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, April 06, 2004 2:40 PM Subject: Memory Leak
> > > > Running a Tapestry app using Hivemind. We are getting out of memory errors > after 5 to 10 minutes. There is only one user logged into the app at any one > time. > > jdk 1.4.1 on redhat 9 (tomcat 4.1.27) and windows 2000 (jetty 4.2.8) > > Built Hivemind from src in commons sandbox cvs. > > Using the jdk's -Xrunhprof tool. > > Now, it could be that the problem is elsewhere (we're just learning how to > use this profiling tool) but right now it looks like there is a memory leak > in EventListener.copyOnWrite(). > > First Guess: Taking a glance at that method I see that it will grow the > _listeners array when required. But I don't see any code anywhere to make it > shrink. > > > We are still investigating and will post more info ASAP (probably tomorrow > though). > > > the raw data we are seeing... > > TRACE 40863: > > org.apache.hivemind.util.EventListenerList.copyOnWrite(EventListenerList.jav > a:163) > > org.apache.hivemind.util.EventListenerList.removeListener(EventListenerList. > java:135) > > org.apache.hivemind.util.EventListenerList.removeListener(EventListenerList. > java:127) > > org.apache.hivemind.service.impl.ThreadEventNotifierImpl.removeThreadCleanup > Listener(ThreadEventNotifierImpl.java:52) > > > percent live alloc'ed stack class > rank self accum bytes objs bytes objs trace name > 1 80.80% 80.80% 188744400 5 377489864 89 40863 java.lang.Object > > The same info as above: > > just a bit easier to read! > > rank: 1 > percent self: 80.80% > percent accum: 80.80% > live bytes: 188744400 > live objs: 5 > alloc's bytes: 377489864 > alloc's objs: 89 > stack trace: 40863 > class name: java.lang.Object > > > Geoff > > Geoffrey Longman > Intelligent Works Inc. > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
