syncserver[4715]: Fatal error: Virtual memory exhausted

Wesley Craig wes at umich.edu
Tue Apr 17 16:28:04 EDT 2007


You probably encountered a single very large mailbox.  This patch:

--- cyrus-imapd-2.3.8/imap/sync_support.c	2006-11-30  
12:11:20.000000000 -0500
+++ cyrus-imapd-2.3.8p3/imap/sync_support.c	2007-04-12  
13:27:49.000000000 -0400
@@ -914,9 +914,9 @@
      result = xzmalloc(sizeof(struct sync_message));
      message_uuid_set_null(&result->uuid);

-    result->msg_path = xzmalloc(5 * (MAX_MAILBOX_PATH+1) * sizeof 
(char));
+    result->msg_path = xzmalloc((MAX_MAILBOX_PATH+1) * sizeof(char));
      result->msg_path_end = result->msg_path +
-	5 * (MAX_MAILBOX_PATH+1) * sizeof(char);
+	(MAX_MAILBOX_PATH+1) * sizeof(char);

      snprintf(result->stagename, sizeof(result->stagename), "%lu.",  
l->count);

Reduces the space that sync_server allocates when syncing a mailbox.   
The "5 *" doesn't really do anything useful, other than waste a lot  
of space.

On 17 Apr 2007, at 15:24, Per olof Ljungmark wrote:
> After performing an initial sync of 65G worth of mailboxes the  
> above error occurred. I kept an eye on the process initally but saw  
> nothing worrying, then it died about halfway through the sync.
>
> Could I have hit some system limits? Vanilla FreeBSD 6.2.
> I'm starting off fresh now again to try to figure it out.
>
> And, while at it, here are one more sync related:
> * The "sync_shutdown_file:" switch, does it mean that the presence  
> of this file will stop the sync process? At least that is how I  
> intepret it...


More information about the Info-cyrus mailing list