[
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]