Panic: file smtp-client-connection.c: line 1142 (smtp_client_connection_established)
I'm using dovecot in a multi server setup. Two directors forward pop3, imap and smtp to backend dovecots with their central storage on NFS. Yesterday I stumbled upon these log lines: 2019-11-18 20:17:51 lmtp(17274): Info: Connect from 172.22.1.6 2019-11-18 20:17:51 lmtp(17274): Panic: file smtp-client-connection.c: line 1142 (smtp_client_connection_established): assertion failed: (!conn->connect_succeeded) 2019-11-18 20:17:51 lmtp(17274): Fatal: master: service(lmtp): child 17274 killed with signal 6 (core not dumped - https://dovecot.org/bugreport.html#coredumps - set /proc/sys/fs/suid_dumpable to 2) Is a core dump required to find the source of that error? Thanks for any help! $ doveconf -n # 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf # OS: Linux 4.9.0-8-amd64 x86_64 # Hostname: m03.company.com auth_cache_negative_ttl = 65 secs auth_cache_ttl = 3 mins auth_cache_verify_password_with_worker = yes auth_mechanisms = plain login auth_verbose = yes debug_log_path = /dev/stdout default_client_limit = 10400 default_process_limit = 1024 default_vsz_limit = 1 G deliver_log_format = msgid=%m: %s %{session_time} %$ director_mail_servers = 10.10.10.2 10.10.10.3 director_servers = 10.10.1.2 10.10.1.3 imap_id_log = * imap_max_line_length = 2 M import_environment = TZ CORE_OUTOFMEM CORE_ERROR info_log_path = /dev/stdout instance_name = dovecot_director listen = 10.10.1.3,:: lmtp_proxy = yes log_path = /dev/stderr log_timestamp = "%Y-%m-%d %H:%M:%S " login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k session=<%{session}> mail_max_userip_connections = 250 passdb { args = /etc/dovecot/sql/dovecot-dict-sql-passdb.conf driver = sql result_failure = return-fail result_internalfail = return-fail result_success = continue-ok } passdb { args = proxy=y starttls=any-cert master=direc...@m03.company.com pass=#hidden_use-P_to_show# nopassword=y driver = static skip = unauthenticated } pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, uidl=%u protocols = imap lmtp pop3 service auth-worker { user = $default_internal_user } service director { fifo_listener login/proxy-notify { mode = 0600 user = $default_login_user } inet_listener { port = 9090 } unix_listener director-userdb { mode = 0600 user = vmail } unix_listener login/director { mode = 0666 } } service imap-login { executable = imap-login director process_min_avail = 2 vsz_limit = 1 G } service lmtp { inet_listener lmtp { port = 24 } process_min_avail = 2 unix_listener lmtp { mode = 00 } user = vmail vsz_limit = 1 G } service log { user = dovenull } service pop3-login { executable = pop3-login director process_min_avail = 2 vsz_limit = 1 G } service pop3 { user = vmail } ssl_cert =
Error: Mailbox INBOX: Broken file dovecot-uidlist: Invalid data
Hi list, today a user reported messages are disappearing from his INBOX and I discovered a two digit number of mailboxes with broken dovecot-uidlist files. The log says: Oct 29 08:51:34 mail02 dovecot: lmtp(i...@example.com)<5270>: Error: Mailbox INBOX: Broken file /var/vmail/example.com/info/dovecot-uidlist line 88: Invalid data: And the respective files do look broken: 4596 :1572344253.M529133P14861.mail03.example.com,S=53053,W=54233 ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@4597 :1572344797.M93833P15905.mail03.example.com,S=126866,W=129256 Setup : Behind a director I am running two dovecot backend servers sharing the vmail directory via NFS. Do you have an idea where this might come from? How can I debug this further? Cheers, Dirk
LMTP Proxy failure using master login via destuser field
Hi list, I set up dovecot as IMAP proxy using a master user to login into the backend and it works beautifully. Next I set out to do LMTP proxying and I struggled (initially). I got the log message: Mar 17 11:23:44 mail postfix/lmtp[2665]: 99A3F219C8: to=, relay=10.15.1.2[10.15.1.2]:24, delay=5.1, delays=4.9/0.05/0.01/0.07, dsn=5.1.1, status=bounced (host 10.15.1.2[10.15.1.2] said: 550 5.1.1 <"joh...@doe.com*director"@mail.server.com> User doesn't exist: "joh...@doe.com*director"@mail.server.com (in reply to RCPT TO command)) My director's passdb setting looked like this: passdb { driver = sql args = /etc/dovecot/sql/my-passdb.conf result_success = continue-ok result_failure = return-fail result_internalfail = return-fail } # Add director master user credentials if above succeeded passdb { driver = static args = proxy=y starttls=any-cert \ destuser=%u*direc...@example.com \ pass=correcthorsebatterystaple \ nopassword=y skip = unauthenticated } In the end I found that setting the `master` field instead of `destuser` solves the issue. It looks like LMTP does not know how to handle the master user separator although set. I this known/wanted behavior? Maybe this is something to mention on the wiki page, it took a while to figure this out... Kind regards, Dirk Mit freundlichen Grüßen Dirk Weise DevOps Engineer -- bitloft GmbH | Schulstraße 2 | D-42551 Velbert www.bitloft.de | we...@bitloft.de Telefon: +49 2051 40514-32 Geschäftsführer: Robin Clemens, Franz-Josef Wieneke Amtsgericht Wuppertal HRB 17297 | USt-IDNr. DE121540053