Before applied the patch of Stefano or after ?

bye
Norman

Am Freitag, den 02.06.2006, 09:48 +0000 schrieb Bernd Fondermann (JIRA):
>     [ 
> 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;
> 

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to