# Dovecot und die Verzweiflung von mir ;)



## Wipeout (14. Juli 2020)

Hallo Community,

irgendwie kriege ich die Krise mit meinem Postfix / Dovecot Server.
Laut meinen LogFiles habe ich immer folgende Fehlermeldung :


```
imap-login: Login: user=<irgendwer@domain.de>, method=CRAM-MD5, rip=abrufIP, lip=serverip, mpid=2788, TLS, session=<zn+MLGWqRiFtKAPX>
master: Error: service(imap-login): fork() failed: Resource temporarily unavailable (ulimit -u 62987 reached?)
master: Error: service(imap-login): command startup failed, throttling for 2.000 secs
```

Die letzte Meldung geht dann hoch bis 32.000 secs

Hat jemand eine Idee woran das liegen kann?

Gruß

Ingo


----------



## ikosaeder (14. Juli 2020)

ulimit -u  ist:  The maximum number of processes available to a single user
Offenbar öffnet der service neue Processe mit fork() ohne sie zu beenden. Irgendwann ist dann Ende.


----------



## Wipeout (15. Juli 2020)

Danke für die Antwort, aber wie kann ich dieses Ändern ??? Bzw an was kann das liegen ???


----------



## ikosaeder (17. Juli 2020)

Ohne Kenntnis, wie die Konfiguration aussieht, und wie und wie oft jemand sich damit verbindet, kann dir keiner helfen.
Es gibt offenbar einen Debug Modus
ucr set mail/dovecot/logging/mail_debug=yes
systemctl restart dovecot.service


----------



## ikosaeder (18. Juli 2020)

Ohne die genaue Konfigurarion zu kennen, kann dir keiner helfen. Wieviele User hast du denn?


----------



## Wipeout (20. Juli 2020)

ucr set mail/dovecot/logging/mail_debug=yes funktioniert bei mir leider nicht sagt mir Ubuntu.

Es sind nur 5 E-Mail Adressen also nicht wirklich die Welt. 
Ansonsten sage mir mal was Du noch brauchst ! Danke schonmal

Ich habe mal mit postconf -n folgendes erhalten vielleicht hilft das ???


```
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, hash:/var/spool/postfix/plesk/aliases
append_dot_mydomain = no
authorized_flush_users =
authorized_mailq_users =
biff = no
command_directory = /usr/sbin
compatibility_level = 2
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
disable_vrfy_command = yes
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mailman_destination_recipient_limit = 1
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 1024000000
meta_directory = /etc/postfix
mydestination = localhost.localdomain, localhost.localdomain, localhost
myhostname = www.eifotos.de
mynetworks =
myorigin = /etc/mailname
newaliases_path = /usr/bin/newaliases
plesk_virtual_destination_recipient_limit = 1
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix/README_FILES
recipient_bcc_maps = ,
recipient_canonical_classes = envelope_recipient,header_recipient
recipient_canonical_maps = tcp:127.0.0.1:12346
recipient_delimiter = +
relayhost =
sample_directory = /usr/share/doc/postfix/samples
sender_dependent_default_transport_maps = hash:/var/spool/postfix/plesk/sdd_tran                                                                                                                               sport_maps
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_send_xforward_command = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = no
smtpd_authorized_xforward_hosts = 127.0.0.0/8 [::1]/128
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject                                                                                                                               _rbl_client zen.spamhaus.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_cli                                                                                                                               ent xbl.spamhaus.org
smtpd_milters = , inet:127.0.0.1:12768
smtpd_proxy_timeout = 3600s
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, rej                                                                                                                               ect_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_una                                                                                                                               uth_destination
smtpd_sasl_auth_enable = yes
smtpd_sender_restrictions = check_sender_access hash:/var/spool/postfix/plesk/bl                                                                                                                               acklists, permit_sasl_authenticated
smtpd_timeout = 3600s
smtpd_tls_cert_file = /etc/postfix/postfix.pem
smtpd_tls_ciphers = medium
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = TLSv1 TLSv1.1 TLSv1.2
smtpd_tls_protocols = TLSv1 TLSv1.1 TLSv1.2
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_medium_cipherlist = ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY130                                                                                                                               5:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-G                                                                                                                               CM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-G                                                                                                                               CM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-S                                                                                                                               HA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-                                                                                                                               ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:D                                                                                                                               HE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-C                                                                                                                               BC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:A                                                                                                                               ES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
tls_preempt_cipherlist = yes
tls_server_sni_maps = hash:/var/spool/postfix/plesk/certs
transport_maps = , hash:/var/spool/postfix/plesk/transport,
virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual,
virtual_gid_maps = static:31
virtual_mailbox_base = /var/qmail/mailnames
virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/v                                                                                                                               irtual_domains
virtual_mailbox_limit = 0
virtual_mailbox_maps = , hash:/var/spool/postfix/plesk/vmailbox
virtual_transport = plesk_virtual
virtual_uid_maps = static:30
root@h2716011:/home/ingo# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, hash:/var/spool/postfix/plesk/aliases
append_dot_mydomain = no
authorized_flush_users =
authorized_mailq_users =
biff = no
command_directory = /usr/sbin
compatibility_level = 2
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
disable_vrfy_command = yes
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mailman_destination_recipient_limit = 1
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 1024000000
meta_directory = /etc/postfix
mydestination = localhost.localdomain, localhost.localdomain, localhost
myhostname = www.eifotos.de
mynetworks =
myorigin = /etc/mailname
newaliases_path = /usr/bin/newaliases
plesk_virtual_destination_recipient_limit = 1
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix/README_FILES
recipient_bcc_maps = ,
recipient_canonical_classes = envelope_recipient,header_recipient
recipient_canonical_maps = tcp:127.0.0.1:12346
recipient_delimiter = +
relayhost =
sample_directory = /usr/share/doc/postfix/samples
sender_dependent_default_transport_maps = hash:/var/spool/postfix/plesk/sdd_transport_maps
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_send_xforward_command = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = no
smtpd_authorized_xforward_hosts = 127.0.0.0/8 [::1]/128
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client zen.spamhaus.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_client xbl.spamhaus.org
smtpd_milters = , inet:127.0.0.1:12768
smtpd_proxy_timeout = 3600s
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sender_restrictions = check_sender_access hash:/var/spool/postfix/plesk/blacklists, permit_sasl_authenticated
smtpd_timeout = 3600s
smtpd_tls_cert_file = /etc/postfix/postfix.pem
smtpd_tls_ciphers = medium
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = TLSv1 TLSv1.1 TLSv1.2
smtpd_tls_protocols = TLSv1 TLSv1.1 TLSv1.2
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_medium_cipherlist = ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
tls_preempt_cipherlist = yes
tls_server_sni_maps = hash:/var/spool/postfix/plesk/certs
transport_maps = , hash:/var/spool/postfix/plesk/transport,
virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual,
virtual_gid_maps = static:31
virtual_mailbox_base = /var/qmail/mailnames
virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
virtual_mailbox_limit = 0
virtual_mailbox_maps = , hash:/var/spool/postfix/plesk/vmailbox
virtual_transport = plesk_virtual
virtual_uid_maps = static:30
```


----------



## Bratkartoffel (22. Februar 2021)

Die Einstellung von ulimit werden normal in der /etc/security/limits.conf eingestellt. Wie sieht diese bei dir aus?


----------



## LinuxLover69 (11. Mai 2021)

@Wipeout, konntest Du schon eine Lösung finden? Ich habe nämlich dasselbe Problem (also exakt selbe Fehlermeldung) und komme einfach nicht weiter. 
Ich bin weder ein postfix- noch dovecot-Experte und fühle mich daher etwas lost. 
Mein Server hat auf jeden Fall genug Ressourcen.

Ich hatte auch schon, wie ikosaeder die Vermutung, dass dovecot neue Prozesse erstellt, ohne die alten zu schließen. 
Seit kurzem stürzt dovecot sogar innerhalb von ein paar Stunden ab - normalerweise hatte ich nach einem "Restart" einige Tage "Ruhe", bevor dovecot wieder an der ulimit -u Grenze kratzt. 

Ich habe bis jetzt auch noch keine Lösung in anderen Foren gefunden. 

LG


Wipeout hat gesagt.:


> ucr set mail/dovecot/logging/mail_debug=yes funktioniert bei mir leider nicht sagt mir Ubuntu.
> 
> Es sind nur 5 E-Mail Adressen also nicht wirklich die Welt.
> Ansonsten sage mir mal was Du noch brauchst ! Danke schonmal
> ...


----------



## Zvoni (11. Mai 2021)

Schau mal ob das hilft: severe fork() problems with new dovecot server
Was wirft "systemctl status dovecot.service" aus?
Es geht um die Tasks


----------



## LinuxLover69 (11. Mai 2021)

@Zvoni, vielen Dank für die schnelle Rückfrage!

Das liefert `service dovecot status`:
`dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/dovecot.service.d
           └─respawn.conf
   Active: active (running) since Tue 2021-05-11 11:24:44 CEST; 15min ago
     Docs: man:dovecot(1)
           http://wiki2.dovecot.org/
  Process: 4520 ExecStop=/usr/bin/doveadm stop (code=exited, status=0/SUCCESS)
 Main PID: 4523 (dovecot)
    Tasks: 165 (limit: 195)
   CGroup: /system.slice/dovecot.service`

195 Tasks sind also das Limit.

Ich hab mich auch in die dovecot config eingelesen und ich sehe da keine Fehlkonfiguration.
`sercvice imap { client_limit }` ist 1, `sercvice imap { process_limit }` ist 1024, `sercvice imap-login { service_count }` ist 1 und `sercvice imap-login { process_limit }` ist 1024. 
Ich verwende Plesk und das hat diese Einstellungen automatisch so konfiguriert.


----------



## LinuxLover69 (11. Mai 2021)

@Zvoni, bei mir gibt es keine Datei "/etc/systemd/system/dovecot.service.d/ulimits.conf", um genau zu sein gibt es schon kein "dovecot.service.d" Verzeichnis in "/etc/systemd/system". 

In meinen Log-Files wird, wenn es zum Absturz kommt, dieselbe Fehlermeldung angezeigt, wie bei @Wipeout: 
`master: Error: service(imap-login): fork() failed: Resource temporarily unavailable (ulimit -u 62987 reached?)`


----------



## Zvoni (11. Mai 2021)

Sorry, weiss ich dann auch nicht. Nicht meine Ecke.


----------



## LinuxLover69 (14. Mai 2021)

@Zvoni
Es lag an den Tasks. Der Parameter `DefaultTasksMax` war auf 195 gesetzt und das war einfach zu niedrig.
Ich habe daher in `/etc/systemd/system.conf` die Zeile mit `DefaultTasksMax` "entkommentiert" und die Tasks erhöht.


----------

