You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Bernd Fondermann (JIRA)" <se...@james.apache.org> on 2006/06/02 11:48:31 UTC
[jira] Commented: (JAMES-512) OutOfMemoryError -- object not
released.
[ http://issues.apache.org/jira/browse/JAMES-512?page=comments#action_12414390 ]
Bernd Fondermann commented on JAMES-512:
----------------------------------------
a db configuration runs into memory problems (Xmx=64m) after less than two hours, too.
(this is a setup where 500 mails are created per minute, which is quite a load: 30 000 mails/hr!)
> OutOfMemoryError -- object not released.
> ----------------------------------------
>
> Key: JAMES-512
> URL: http://issues.apache.org/jira/browse/JAMES-512
> Project: James
> Type: Bug
> Components: MailStore & MailRepository
> Versions: 2.2.0
> Environment: windows XP,
> Java 1.5.0_06
> Reporter: Quande Ren
> Assignee: Noel J. Bergman
> Priority: Critical
> Fix For: 2.3.0a4
> Attachments: james-512.patch, picture.GIF
>
> I use the file system to store the emails.
> When I run the James for a long time, the james server used more and more heap memory, eventually it runs out of memory and refuse to receive email. only restart the james will work.
> I used JProfile Memory Debugger(you can get the trial version from www.quest.com) and found a clue. the object allocated from following code at line 92 does not always get released, cause the memory been used up eventually. I will attach a picture file showing the call stack.
> 91, final OutputStream outputStream = getOutputStream( key );
> 92, final BufferedOutputStream stream = new BufferedOutputStream( outputStream );
> 93
> 94, final Object o = m_outputs.get( key );
> 95, if( null == o )
> 96, {
> 97, m_outputs.put( key; stream );
> 98, }
> 99, else if( o instanceof ArrayList )
> 100, {
> 101, ( (ArrayList)o ).add( stream );
> 102, }
> 103, else
> 104, {
> 105, final ArrayList list = new ArrayList();
> 106, list.add( o );
> 107, list.add( stream );
> 108, m_outputs.put( key; list );
> 109, }
> 110
> 111, return stream;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org