For a code review:
I am especially concerned about code like

  InputStream is = new BlaInputStream(..);
  blabla
  is.close();

If there happens an exception in blabla, the InputStreams will be not closed.
To find such code, is on my personal todo list for james.

Bye,

Stephan






Samuel Sadek wrote:
> Hi Stephen,
> 
> I reported this bug some time ago and the root of the cause was that the 
> repository failed to close off any underlying connection streams albeit 
> the db or file descriptor handlers whenever exceptions were being 
> encountered. Although a fix has been made to MimeMessageSource.java file 
> it does beg a question if any other repository/db based java source may 
> have the same problem. In which case, a thorough cleansweep of all 
> sources has to be done. I in the midst of doing this cleansweep, and 
> when I fixed/tested this issue I will submit a patch to the distribution 
> list.
> Rgds,
> Samuel.
> 
> Earn BIG! Save BIG! Give away SUPER STORES online FREE! Saving and 
> earning has never been easier! Get yours FREE TODAY!
> http://www.freestoreclub.com/go/ssadek
> 
> 
> 
>> There was a bug in MimeMessageSource (InputStreams were not closed), 
>> which was fixed in May.
>> Try to use a newer version of James.
>>
>> Stephan
>>
>>
>> Stephen wrote:
>>   Hello,
>>
>>   Running James 2.0a2 on Windows 2000, using the filesystem as the 
>> repository. When there are lots of messages for a user (problem is 
>> seen somewhere between roughly 1000-2000 messages),  an error is
>> returned when the user tries to retrieve these messages via POP.
>>
>>   From the server logs, this error appears to have something to do with
>> "too many open files".
>>
>>   When I last saw this, I stopped James and moved (the newest) 1/2 of the
>> files from the user's inbox folder to a temporary folder. Restarted 
>> James,
>> and was able to download the oldest messages. I then stopped James,
>> restored the files from the temporary folder back to the inbox, and 
>> was now
>> able to download these newest messages.
>>
>>   Is this a known issue? Is there anything I can do to avoid the problem
>> (besides more frequent downloading of emails)? Will an upgrade to 2.0a3
>> help?
>>
>>
>>          Stephen
>>
>>
>>   ==== pop3server.log appended below ====
>>
>>
>> Tue Jul 09 15:35:47 EDT 2002 [INFO   ] (pop3server): POP3Server init...
>> Tue Jul 09 15:35:47 EDT 2002 [INFO   ] (pop3server): POP3Listener using
>> plain on port 110
>> Tue Jul 09 15:35:47 EDT 2002 [INFO   ] (pop3server): POP3Server 
>> ...init end
>> Tue Jul 09 15:43:06 EDT 2002 [INFO   ] (pop3server): Hello Name is: 
>> xxxxxxx
>> Tue Jul 09 15:43:06 EDT 2002 [INFO   ] (pop3server): Connection from
>> xxxxxxxx
>> Tue Jul 09 15:43:06 EDT 2002 [INFO   ] (pop3server): Command received: 
>> AUTH
>> Tue Jul 09 15:43:06 EDT 2002 [INFO   ] (pop3server): Command received: 
>> USER
>> xxxxxxxx
>> Tue Jul 09 15:43:06 EDT 2002 [INFO   ] (pop3server): Command received: 
>> PASS
>> xxxxxxxx
>> Tue Jul 09 15:43:16 EDT 2002 [INFO   ] (pop3server): Command received: 
>> STAT
>> Tue Jul 09 15:43:40 EDT 2002 [ERROR  ] (pop3server): Exception during
>> connection from xxxxxxxx : Exception caught while retrieving a stream :
>> java.io.FileNotFoundException:
>>
>> 
>D:\PF\Phoenix\apps\james\var\mail\inboxes\xxxx\4D61696C313032323739313534383137312D313937.Repository12.FileStreamStore
> 
>>
>> (Too many open files)
>> java.lang.RuntimeException: Exception caught while retrieving a stream :
>> java.io.FileNotFoundException:
>>
>> 
>D:\PF\Phoenix\apps\james\var\mail\inboxes\xxxx\4D61696C313032323739313534383137312D313937.Repository12.FileStreamStore
> 
>>
>> (Too many open files)
>>       at
>>
>> 
>org.apache.avalon.cornerstone.blocks.masterstore.File_Persistent_Stream_Repository.get(File_Persistent_Stream_Repository.java(Compiled
> 
>>
>> Code))
>>       at
>>
>> 
>org.apache.james.mailrepository.MimeMessageAvalonSource.getInputStream(MimeMessageAvalonSource.java(Compiled
> 
>>
>> Code))
>>       at
>>
>> 
>org.apache.james.core.MimeMessageSource.getMessageSize(MimeMessageSource.java(Compiled
> 
>>
>> Code))
>>       at
>>
>> 
>org.apache.james.core.MimeMessageWrapper.getMessageSize(MimeMessageWrapper.java(Compiled
> 
>>
>> Code))
>>       at 
>> org.apache.james.core.MailImpl.getMessageSize(MailImpl.java(Compiled
>> Code))
>>       at
>> org.apache.james.pop3server.POP3Handler.doSTAT(POP3Handler.java(Compiled
>> Code))
>>       at
>> org.apache.james.pop3server.POP3Handler.parseCommand(POP3Handler.java:200) 
>>
>> Tue Jul 09 15:45:16 EDT 2002 [ERROR  ] (pop3server): Connection 
>> timeout on
>> socket
>>
>> -- 
>> To unsubscribe, e-mail:   
>> <mailto:[EMAIL PROTECTED]>
>> For additional commands, e-mail: 
>> <mailto:[EMAIL PROTECTED]>
>>
>>
> 
> _________________________________________________________________
> MSN Photos is the easiest way to share and print your photos: 
> http://photos.msn.com/support/worldwide.aspx
> 
> 
> -- 
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> 




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to