Ed Burns <edbu...@acm.org> wrote:
> >>>>> On Mon, 16 May 2011 09:47:41 -0700, Ed Burns <edward.bu...@oracle.com> 
> >>>>> said:
> 
> EB> Hello Mairix users,
> EB> I just built 0.22 from source on "SunOS 5.10 Generic_141445-09 i86pc
> EB> i386 i86pc" and when I try to build the database I get 
> 
> EB> Out of memory (at rfc822.c:459, -1168 bytes)

Sorry, I wasn't around for the original message; but that
negative could indicate a signed 32-bit overflow.

I'm new to the mairix source, but the problem could be having an
email body which exceeds 2GB (but wow, do email servers allow
such large messages?).

Can you try the following patch to print out the values of "input"
and "input_len" before the failure?

diff --git a/rfc822.c b/rfc822.c
index b411f85..3986bf3 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -456,6 +456,7 @@ static char *unencode_data(struct msg_src *src, char 
*input, int input_len, cons
 
   encoding = decode_encoding_type(enc);
   end_input = input + input_len;
+  fprintf(stderr, "input=%p input_len=%d\n", input, input_len);
 
   /* All mime encodings result in expanded data, so this is guaranteed to
    * safely oversize the output array */

<snip>

> 2. re-index with the -v option, looking closely at the output.  Observe
> what file it was processing when the error is produced.
> 
> 3. redo steps 1 and 2, and verify it happens on the same file.
> 
> 4. delete that file
> 
> 5. redo steps 1 - 4 until all the indexing completes.

I suppose you can narrow it down to a particular email if you're
using an mbox.  Is the email body 2GB or more?   Thanks.

------------------------------------------------------------------------------
_______________________________________________
Mairix-users mailing list
Mairix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mairix-users

Reply via email to