[ 
http://issues.apache.org/jira/browse/JAMES-134?page=comments#action_63284 ]
     
OG commented on JAMES-134:
--------------------------

I don't know what is the official definition of a "blocker", but I also 
interpret the problem to be a blocker since it is possible that someone would 
send a big message, and what happens then is an OutOfMemoryException, James 
quit delivering the mail, and occupy 99% of the CPU usage, which disturbs other 
processes too. So because the mail is blocked, the computer hangs, and other 
processes get blocked by CPU starvation, I thought that it is a blocker. 

By the way, I tried to increase my VM page file maximum size limit, and the 
maximum size that W2K allowed me is 4095MB. The JVM however is not that 
generous. After I increased W2K page file limit to the max, I tried to max out 
the -Xmx option of java. The maximum -Xmx that java agreed to run was 1532MB 
('java -Xmx1532M'). So now if someone would send me a 1533/7=219MB file 
attachment, I am doomed.


I have done another experiment, and sent myself the 40MB message again, and 
followed the James 'Mem Usage' column to see what happens. It started on 300MB 
from the previous time, then it shrunk to about 50MB, and started to grow 
slowly over a couple of minutes until it was back at 300MB. I learn from this, 
that the JVM heap can shrink. I learn from this that James did something when 
it got the new message that it didn't do before, and that thing got the heap to 
shrink. I just wish that James would clean after itself when it is done, and 
not just before it start. And even more than this I wish that the programmers 
here wouldn't load the messages to the memory at once. Even an antivirus that 
scans very big files doesn't load them at once to the memory, so I don't see 
why a mailet needs to do that. OK, I understand that you are saying that 
MimeMessage does just that. Probably what happens, is that the message go 
through 7 mailet/matcher that load it to memory 7 times. What can w
 e do? 


> Large emails in the spool cause SpoolManager to throw OutOfMemoryError
> ----------------------------------------------------------------------
>
>          Key: JAMES-134
>          URL: http://issues.apache.org/jira/browse/JAMES-134
>      Project: James
>         Type: Bug
>   Components: SpoolManager & Processors
>     Versions: 2.0a3, 2.1, 2.1.3, 2.2.0
>  Environment: Operating System: MacOS X
> Platform: Macintosh
>     Reporter: Matt Bishop

>
> Steps to repro:
> 1. Send yourself a very large email (16 megs works for me)
> 2. check the SpoolManager log and see this over and over:
> ERROR spoolmanager: Exception in JamesSpoolManager.run null
> java.lang.OutOfMemoryError
> What makes this problem particularly bad is that the spoolmanager doesn't 
> move on to other 
> messages but keeps pegging the CPU trying to process this email.  To fix it, 
> I have to shut down 
> james, delete the email files out of spool and restart.
> EXPECTED: email should spool to the user as expected.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to