Hi Noel,
Sorry about that, I repeated the test with about a 14Meg attachment with:
-Xrunhprof:heap=sites,file=log.txt,depth=10
I notice where the OutOfMemory gets logged is in a consistent place - see
below.
The heap dumps I'll email to you directly as they are 1.5M zipped. If
anyone else wants them just ask and I'll email direct to you.
Regarding your suspicions of what might be causing it, the JDBC store not
streaming probably is an issue with large messages, but I am using
FileStore.
James is handling the message to some degree as the message gets put into
the Error directory.
heap dumps sent separately
26/06/03 08:32:22 INFO spoolmanager:
Spool=org.apache.james.mailrepository.AvalonSpoolRepository
26/06/03 08:32:22 INFO spoolmanager: Run JamesSpoolManager: default Worker
#10
26/06/03 08:32:22 INFO spoolmanager:
Spool=org.apache.james.mailrepository.AvalonSpoolRepository
26/06/03 08:59:45 ERROR spoolmanager: Exception in processor transport
java.lang.OutOfMemoryError
26/06/03 08:59:45 ERROR spoolmanager: An error occurred processing
Mail1056617411771-2 through transport
26/06/03 08:59:45 ERROR spoolmanager: Result was error
###
26/06/03 09:13:30 INFO spoolmanager:
Spool=org.apache.james.mailrepository.AvalonSpoolRepository
26/06/03 09:27:29 ERROR spoolmanager: Exception in processor transport
java.lang.OutOfMemoryError
26/06/03 09:27:29 ERROR spoolmanager: An error occurred processing
Mail1056618985914-0 through transport
26/06/03 09:27:30 ERROR spoolmanager: Result was error
26/06/03 09:29:24 INFO spoolmanager: JamesSpoolManager dispose...
###
Spool=org.apache.james.mailrepository.AvalonSpoolRepository
26/06/03 08:59:45 ERROR spoolmanager: Exception in processor transport
java.lang.OutOfMemoryError
26/06/03 08:59:45 ERROR spoolmanager: An error occurred processing
Mail1056617411771-2 through transport
26/06/03 08:59:45 ERROR spoolmanager: Result was error
26/06/03 09:03:39 INFO spoolmanager: JamesSpoolManager dispose...
-Original Message-
From: Noel J. Bergman [mailto:[EMAIL PROTECTED]
Sent: 25 June 2003 22:27
To: James Users List; [EMAIL PROTECTED]
Subject: RE: 100MB email produces an out of memory exception
Lindsey,
Unfortunately:
-Xrunhprof:cpu=samples,file=log.txt,depth=10
doesn't profile the heap. You profiled the CPU. :-) What you want to use
is something like:
-Xrunhprof:heap=sites,depth=10
which would give us the heap information.
I had a suspicion, and thought that it might be a side-effect of a change
made to support the Delivered-To header. However, as I am reviewing the
code in more depth, I believe that my initial thought is only partially
correct. There look to be two problems:
1) It appears that the current JDBC store does not use a stream
for body content. Only the file and dbfile stores using a
stream for body content.
2) javax.mail.internet.MimeMessage loads all message data into
memory in the constructor.
Both of those are resolvable.
--- Noel
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]