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]