Can you please use the fixed attached version of the Class and run it again against postage ?
Thx Norman Am Dienstag, den 30.05.2006, 09:08 +0000 schrieb Bernd Fondermann (JIRA): > [ > http://issues.apache.org/jira/browse/JAMES-512?page=comments#action_12413788 > ] > > Bernd Fondermann commented on JAMES-512: > ---------------------------------------- > > I can reproduce the bug under James 2.2.0 with the following Postage szenario: > > <scenario id="release_james512" runtimeMinutes="480"><!-- 8h=480, > 1d=1440, 3d=4320 --> > <users> > <internal count="1" username-prefix="test_int" > domain="mail.james.local" password="test" reuseExisting="yes" /> > <external count="0" username-prefix="test_ext" > domain="mail.sample.com" /> > </users> > <profiles> > <profile name="ext-int" source="extern" target="intern"> > </profile> > <profile name="int-ext" source="intern" target="extern"> > </profile> > <profile name="int-int" source="intern" target="intern"> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > <send count-per-min="25" subject="int2int" text-size-min="10" > text-size-max="20" binary-size-min="0" binary-size-max="0" /> > > </profile> > </profiles> > <testserver host="localhost"> > <smtp-forwarding port="2525" latecomer-wait-seconds="120"/> > <smtp-inbound port="25" /> > <pop3 port="110" count-per-min="10" /> > <remotemanager port="4555" name="root" password="root" /> > <spam-account name="spam-sink" password="spam-sink" /> > <jvm-resources jmx-remoting-port="10201" /> > </testserver> > </scenario> > > > > 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 > > Priority: Critical > > 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; >
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil