james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Maurer ...@byteaction.de>
Subject Re: [jira] Commented: (JAMES-512) OutOfMemoryError -- object not released.
Date Tue, 30 May 2006 10:04:15 GMT
I juts want to get sure that you do it ;-)

bye
Norman

Am Dienstag, den 30.05.2006, 11:54 +0200 schrieb Bernd Fondermann:
> Well, sure. But first things first :-)
> 
> I am currently running it against the unpatched 2.3 branch.
> Then I'll try the patch against 2.3 and test again.
> (I will not try a patched 2.2.0, maybe someone else wants to...)
> 
> I think we have to be careful calling it a fix. The OOM exception might 
> be fixed, but we still have to confirm this does not introduce new 
> problems. I really want to understand more deeply what the patch does. 
> Simply had now time yet to have a closer look...
> 
>    Bernd
> 
> Norman Maurer wrote:
> > 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;
> >>
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
> !EXCUBATOR:1,447c180837023246622550!

Mime
View raw message