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 "Stefano Bagnara (JIRA)" <se...@james.apache.org> on 2006/05/27 12:04:31 UTC

[jira] Assigned: (JAMES-512) OutOfMemoryError -- object not released.

     [ http://issues.apache.org/jira/browse/JAMES-512?page=all ]

Stefano Bagnara reassigned JAMES-512:
-------------------------------------

    Assign To: Stefano Bagnara

> 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: Stefano Bagnara
>      Fix For: 2.3.0a4
>  Attachments: 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