dovecot adm out of memory

Discussion in 'Installation/Configuration' started by chief, Oct 23, 2023.

  1. chief

    chief Member HowtoForge Supporter

    multiserver
    ispconfig 3.2.11
    debian 12
    I have a dovecot adm out of memory error. I have edited
    Code:
    /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master
    Code:
    protocol imap {
      mail_plugins = $mail_plugins quota imap_quota notify replication
    }
    protocol pop3 {
      mail_plugins = $mail_plugins quota notify replication
    }
    protocol lda {
      mail_plugins = $mail_plugins sieve quota notify replication
    }
    protocol lmtp {
      mail_plugins = $mail_plugins sieve quota notify replication
    }
    doveadm_password = 
    doveadm_port = 12345
    replication_max_conns = 50
    
    ssl_client_ca_dir = /etc/ssl/certs
    
    # Replicator process should be started at startup, so it can start replicating users immediately:
    service replicator {
      process_min_avail = 1
    }
    
    # The mail processes need to have access to the replication-notify fifo and socket.
    service aggregator {
        fifo_listener replication-notify-fifo {
            user = vmail
            mode = 0666
        }
    
        unix_listener replication-notify {
            user = vmail
            mode = 0666
        }
    }
    
    # Enable doveadm replicator commands
    service replicator {
        unix_listener replicator-doveadm {
            mode = 0666
        }
    }
    
    # Create a listener for doveadm-server
    service doveadm {
        user = vmail
        inet_listener {
            port = 12345
            ssl = yes
        }
    }
    service config {
        unix_listener config {
            user = vmail
        }
    }
    
    plugin {
        mail_replica = tcps:mx2.example.com
    }
    this is from https://www.howtoforge.com/tutorial/ispconfig-multiserver-setup-debian-ubuntu/3/
    I added
    Code:
    service imap {
    vsz_limit = 1024MB
    }
    to the bottom line, when i do
    Code:
    dovecot -n
    it states
    Code:
    .....
    service auth {
      unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0660
        user = postfix
      }
      unix_listener auth-userdb {
        group = vmail
        mode = 0600
        user = vmail
      }
      user = root
    }
    service config {
      unix_listener config {
        user = vmail
      }
    }
    service doveadm {
      inet_listener {
        port = 12345
        ssl = yes
      }
      user = vmail
    }
    service imap-login {
      client_limit = 1000
      process_limit = 512
    }
    service imap {
      vsz_limit = 1 G
    }
    service lmtp {
      unix_listener /var/spool/postfix/private/dovecot-lmtp {
        group = postfix
        mode = 0600
        user = postfix
      }
    }
    service quota-status {
      client_limit = 1
      executable = quota-status -p postfix
      unix_listener /var/spool/postfix/private/quota-status {
        group = postfix
        mode = 0660
        user = postfix
      }
    }
    ....
    but in the error logs
    Code:
    doveadm log errors
    Oct 23 19:47:30 Fatal: doveadm(user@domain....)<3459><u.....W+1Gw>: block_alloc(33554432): Out of memory
    Oct 23 19:47:30 Error: doveadm(user@domain....)<3459><uasdasdaW+1Gw>: Raw backtrace: #0 test_subprocess_fork[0x7f275d7b9a20] -> #1 backtrace_append[0x7f275d7b9c90] -> #2 backtrace_get[0x7f275d7b9e20] -> #3 execvp_const[0x7f275d7c6f90] -> #4 i_syslog_fatal_handler[0x7f275d7c7900] -> #5 i_fatal_status[0x7f275d71d758] -> #6 i_fatal_status[0x7f275d721a58] -> #7 pool_alloconly_create_clean[0x7f275d7e8f30] -> #8 dsync_mailbox_export_init[0x55cfad1759d0] -> #9 dsync_brain_sync_mailbox_open[0x55cfad169e30] -> #10 dsync_brain_slave_recv_mailbox[0x55cfad16a930] -> #11 dsync_brain_recv_mailbox_tree[0x55cfad16c2c0] -> #12 dsync_brain_run[0x55cfad16cb10] -> #13 dsync_mailbox_node_name_cmp[0x55cfad1770e0] -> #14 io_loop_call_io[0x7f275d7dec70] -> #15 io_loop_handler_run_internal[0x7f275d7e0970] -> #16 io_loop_handler_run[0x7f275d7e0b00] -> #17 io_loop_run[0x7f275d7e0cd0] -> #18 who_lookup[0x55cfad1506e0] -> #19 who_lookup[0x55cfad151a20] -> #20 doveadm_cmd_ver2_to_mail_cmd_wrapper[0x55cfad152bc0] -> #21 doveadm_cmd_run_ver2[0x55cfad15d020] -> #22 dsync_brain_mailbox_update_pre[0x55cfad168620] -> #23 io_loop_call_io[0x7f275d7dec70] -> #24 io_loop_handler_run_internal[0x7f275d7e0970] -> #25 io_loop_handler_run[0x7f275d7e0b00] -> #26 io_loop_run[0x7f275d7e0cd0] -> #27 master_service_run[0x7f275d751180] -> #28 main[0x55cfad13f130] -> #29 __libc_init_first[0x7f275d42f150] -> #30 __libc_start_main[0x7f275d42f200] -> #31 _start[0x55cfad13f290]
    Oct 23 19:47:30 Fatal: doveadm(user@domain....)<3459><uC.....QAAyW+1Gw>: master: service(doveadm): child 3459 returned error 83 (Out of memory (service doveadm { vsz_limit=256 MB }, you may need to increase it) - set CORE_OUTOFMEM=1 environment to get core dump)
    
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    The error message tells you to increase the value for service doveadm, but you increased it for service imap. Try to change the part:

    Code:
    # Create a listener for doveadm-server
    service doveadm {
        user = vmail
        inet_listener {
            port = 12345
            ssl = yes
        }
    }
    to

    Code:
    # Create a listener for doveadm-server
    service doveadm {
        user = vmail
        vsz_limit = 1024MB
        inet_listener {
            port = 12345
            ssl = yes
        }
    }
    in the files /etc/dovecot/dovecot.conf and /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master
     
    chief likes this.
  3. chief

    chief Member HowtoForge Supporter

    thanks till
     
  4. chief

    chief Member HowtoForge Supporter

    also on same thread, the webmail is not syncing on a new mailbox. i have added account in thunderbird and it is synced showing new test mails from gmail to account and back again. but not in webmail.
     
  5. chief

    chief Member HowtoForge Supporter

    Hey till,
    system is still logging out of memory
    Code:
    mx2 dovecot: doveadm: Fatal: master: service(doveadm): child 33966 returned error 83 (Out of memory (service doveadm { vsz_limit=256 MB }, you may need to increase it) - set CORE_OUTOFMEM=1 environment to get core dump)
     
  6. chief

    chief Member HowtoForge Supporter

    mx2 - slave
    Code:
    root@mx2:~# dovecot -n
    # 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
    # Pigeonhole version 0.5.19 (4eae2f79)
    # OS: Linux 6.1.0-13-amd64 x86_64 Debian 12.2
    # Hostname: mx2.domain
    auth_mechanisms = plain login
    disable_plaintext_auth = no
    doveadm_password = # hidden, use -P to show it
    doveadm_port = 12345
    imap_capability = +SPECIAL-USE XLIST
    listen = *,[::]
    lmtp_rcpt_check_quota = yes
    log_timestamp = "%Y-%m-%d %H:%M:%S "
    mail_max_userip_connections = 100
    mail_plugins = quota
    mail_privileged_group = vmail
    managesieve_notify_capability = mailto
    managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
    namespace inbox {
      inbox = yes
      location =
      mailbox Drafts {
        special_use = \Drafts
      }
      mailbox Junk {
        special_use = \Junk
      }
      mailbox Sent {
        special_use = \Sent
      }
      mailbox "Sent Messages" {
        special_use = \Sent
      }
      mailbox Trash {
        special_use = \Trash
      }
      prefix =
      separator = .
    }
    passdb {
      args = /etc/dovecot/dovecot-sql.conf
      driver = sql
    }
    plugin {
      mail_replica = tcps:mx1.domain
      quota = dict:user::file:/var/vmail/%d/%n/.quotausage
      quota_status_nouser = DUNNO
      quota_status_overquota = 552 5.2.2 Mailbox is full
      quota_status_success = DUNNO
      sieve = /var/vmail/%d/%n/.sieve
      sieve_after = /var/vmail/%d/%n/.ispconfig.sieve
      sieve_before = /var/vmail/%d/%n/.ispconfig-before.sieve
      sieve_max_actions = 100
      sieve_max_redirects = 25
      sieve_max_script_size = 2M
    }
    protocols = imap pop3 lmtp sieve
    replication_max_conns = 50
    service aggregator {
      fifo_listener replication-notify-fifo {
        mode = 0666
        user = vmail
      }
      unix_listener replication-notify {
        mode = 0666
        user = vmail
      }
    }
    service auth {
      unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0660
        user = postfix
      }
      unix_listener auth-userdb {
        group = vmail
        mode = 0600
        user = vmail
      }
      user = root
    }
    service config {
      unix_listener config {
        user = vmail
      }
    }
    service doveadm {
      inet_listener {
        port = 12345
        ssl = yes
      }
      user = vmail
      vsz_limit = 1 G
    }
    service imap-login {
      client_limit = 1000
      process_limit = 512
    }
    service imap {
      vsz_limit = 1 G
    }
    service lmtp {
      unix_listener /var/spool/postfix/private/dovecot-lmtp {
        group = postfix
        mode = 0600
        user = postfix
      }
    }
    service quota-status {
      client_limit = 1
      executable = quota-status -p postfix
      unix_listener /var/spool/postfix/private/quota-status {
        group = postfix
        mode = 0660
        user = postfix
      }
    }
    service replicator {
      process_min_avail = 1
      unix_listener replicator-doveadm {
        mode = 0666
      }
    }
    service stats {
      unix_listener stats-reader {
        group = vmail
        mode = 0660
        user = vmail
      }
      unix_listener stats-writer {
        group = vmail
        mode = 0660
        user = vmail
      }
    }
    ssl_cert = </etc/postfix/smtpd.cert
    ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    ssl_client_ca_dir = /etc/ssl/certs
    ssl_dh = # hidden, use -P to show it
    ssl_key = # hidden, use -P to show it
    userdb {
      driver = prefetch
    }
    userdb {
      args = /etc/dovecot/dovecot-sql.conf
      driver = sql
    }
    protocol imap {
      auth_verbose = yes
      mail_plugins = quota quota imap_quota quota imap_quota notify replication
    }
    protocol pop3 {
      auth_verbose = yes
      mail_plugins = quota quota quota notify replication
      pop3_uidl_format = %08Xu%08Xv
    }
    protocol lda {
      mail_plugins = quota sieve quota sieve quota notify replication
      postmaster_address = [email protected]
    }
    protocol lmtp {
      mail_plugins = quota quota sieve sieve quota notify replication
      postmaster_address = [email protected]
    }
    
     
  7. chief

    chief Member HowtoForge Supporter

    mx1 - master
    Code:
    root@mx1:~# dovecot -n
    # 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
    # Pigeonhole version 0.5.19 (4eae2f79)
    # OS: Linux 6.1.0-13-amd64 x86_64 Debian 12.2
    # Hostname: mx1.domain
    auth_mechanisms = plain login
    disable_plaintext_auth = no
    doveadm_password = # hidden, use -P to show it
    doveadm_port = 12345
    imap_capability = +SPECIAL-USE XLIST
    listen = *,[::]
    lmtp_rcpt_check_quota = yes
    log_timestamp = "%Y-%m-%d %H:%M:%S "
    mail_max_userip_connections = 100
    mail_plugins = quota
    mail_privileged_group = vmail
    managesieve_notify_capability = mailto
    managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
    namespace inbox {
      inbox = yes
      location =
      mailbox Drafts {
        special_use = \Drafts
      }
      mailbox Junk {
        special_use = \Junk
      }
      mailbox Sent {
        special_use = \Sent
      }
      mailbox "Sent Messages" {
        special_use = \Sent
      }
      mailbox Trash {
        special_use = \Trash
      }
      prefix =
      separator = .
    }
    passdb {
      args = /etc/dovecot/dovecot-sql.conf
      driver = sql
    }
    plugin {
      mail_replica = tcps:mx2.domain
      quota = dict:user::file:/var/vmail/%d/%n/.quotausage
      quota_status_nouser = DUNNO
      quota_status_overquota = 552 5.2.2 Mailbox is full
      quota_status_success = DUNNO
      sieve = /var/vmail/%d/%n/.sieve
      sieve_after = /var/vmail/%d/%n/.ispconfig.sieve
      sieve_before = /var/vmail/%d/%n/.ispconfig-before.sieve
      sieve_max_actions = 100
      sieve_max_redirects = 25
      sieve_max_script_size = 2M
    }
    protocols = imap pop3 lmtp sieve
    replication_max_conns = 50
    service aggregator {
      fifo_listener replication-notify-fifo {
        mode = 0666
        user = vmail
      }
      unix_listener replication-notify {
        mode = 0666
        user = vmail
      }
    }
    service auth {
      unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0660
        user = postfix
      }
      unix_listener auth-userdb {
        group = vmail
        mode = 0600
        user = vmail
      }
      user = root
    }
    service config {
      unix_listener config {
        user = vmail
      }
    }
    service doveadm {
      inet_listener {
        port = 12345
        ssl = yes
      }
      user = vmail
      vsz_limit = 1 G
    }
    service imap-login {
      client_limit = 1000
      process_limit = 512
    }
    service imap {
      vsz_limit = 1 G
    }
    service lmtp {
      unix_listener /var/spool/postfix/private/dovecot-lmtp {
        group = postfix
        mode = 0600
        user = postfix
      }
    }
    service quota-status {
      client_limit = 1
      executable = quota-status -p postfix
      unix_listener /var/spool/postfix/private/quota-status {
        group = postfix
        mode = 0660
        user = postfix
      }
    }
    service replicator {
      process_min_avail = 1
      unix_listener replicator-doveadm {
        mode = 0666
      }
    }
    service stats {
      unix_listener stats-reader {
        group = vmail
        mode = 0660
        user = vmail
      }
      unix_listener stats-writer {
        group = vmail
        mode = 0660
        user = vmail
      }
    }
    ssl_cert = </etc/postfix/smtpd.cert
    ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    ssl_client_ca_dir = /etc/ssl/certs
    ssl_dh = # hidden, use -P to show it
    ssl_key = # hidden, use -P to show it
    userdb {
      driver = prefetch
    }
    userdb {
      args = /etc/dovecot/dovecot-sql.conf
      driver = sql
    }
    protocol imap {
      auth_verbose = yes
      mail_plugins = quota quota imap_quota quota imap_quota notify replication
    }
    protocol pop3 {
      auth_verbose = yes
      mail_plugins = quota quota quota notify replication
      pop3_uidl_format = %08Xu%08Xv
    }
    protocol lda {
      mail_plugins = quota sieve quota sieve quota notify replication
      postmaster_address = [email protected]
    }
    protocol lmtp {
      mail_plugins = quota quota sieve sieve quota notify replication
      postmaster_address = [email protected]
    }
    
     
  8. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    Did you restart dovecot after changing the configuration?
     
  9. chief

    chief Member HowtoForge Supporter

    yes, above shows
    Code:
    dovecot -n
    Code:
    root@mx1:~# systemctl --state=failed
      UNIT LOAD ACTIVE SUB DESCRIPTION
    0 loaded units listed.
    root@mx1:~# doveadm replicator status
    Queued 'sync' requests        0                                                                                           
    Queued 'high' requests        0                                                                                           
    Queued 'low' requests         0                                                                                           
    Queued 'failed' requests      0                                                                                           
    Queued 'full resync' requests 142                                                                                         
    Waiting 'failed' requests     7                                                                                           
    Total number of known users   278       
     
    Last edited: Oct 24, 2023

Share This Page