rawlog segfaults (error 4 in libdovecot.so.0.0.0)

T. Robers robers at tutech.de
Fri Nov 10 11:35:12 EET 2017


Hello everybody,

i tried to debug imap sessions with the rawlog feature and rawlog
creates files but when i try to dump them doveadm tells me
[...] Error: zlib.read((file)): unexpected EOF at [...].
I looked at syslog files and i see, that rawlog gets
terminated with a segfault, e.g.:

segfault at 10 ip 00007ff6da362596 sp 00007fffe725a080 error 4 in 
libdovecot.so.0.0.0[7ff6da2a4000+122000]

Is there a way to debug why rawlog ist terminated? I haven't found
anything.I would be very thankful, if somebody could give a hint.

My system is:

# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 2.6.32-696.3.1.el6.x86_64 x86_64 CentOS release 6.9 (Final) ext4
auth_debug = yes
auth_debug_passwords = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
imap_max_line_length = 2 M
mail_debug = yes
mail_location = maildir:/export/home/imap/%Lu/Maildir
mail_plugins = acl zlib mail_log notify
mailbox_idle_check_interval = 10 secs
mailbox_list_index = yes
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 {
   hidden = no
   ignore_on_failure = no
   inbox = no
   list = children
   location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
   prefix = shared/%%u/
   separator = /
   subscriptions = yes
   type = shared
}
namespace inbox {
   hidden = no
   inbox = yes
   list = 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 = INBOX/
   separator = /
   type = private
}
passdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   driver = ldap
}
plugin {
   acl = vfile:/etc/dovecot/global-acls:cache_secs=300
   acl_shared_dict = file:/export/home/shared-db/shared-mailboxes
   mail_log_events = append delete undelete expunge copy mailbox_delete mailbox_rename flag_change
   mail_log_fields = uid box msgid size from flags
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
   sieve_global = /var/lib/dovecot/sieve/global/
   sieve_user_log = ~/.dovecot.sieve.log
   zlib_save = gz
   zlib_save_level = 6
}
protocols = imap pop3 lmtp sieve
service auth {
   unix_listener /var/spool/postfix/private/auth {
     mode = 0666
   }
   unix_listener auth-userdb {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service imap-login {
   inet_listener imap {
     port = 143
   }
   inet_listener imaps {
     port = 993
     ssl = yes
   }
   process_limit = 500
   process_min_avail = 20
}
service imap {
   executable = imap postlogin
}
service lmtp {
   inet_listener lmtp {
     address = 127.0.0.1
     port = 24
   }
}

service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   inet_listener sieve_deprecated {
     port = 2000
   }
}
service pop3-login {
   inet_listener pop3s {
     port = 995
     ssl = yes
   }
}
service pop3 {
   executable = pop3 postlogin
}
service postlogin {
   executable = script-login -d rawlog -f in
}
ssl = required
ssl_cert = </etc/pki/dovecot/certs/mail.tutech.de.crt_chain
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!EXPORT
ssl_key =  # hidden, use -P to show it
ssl_protocols = !SSLv3 !SSLv2
syslog_facility = local6
userdb {
   args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
   driver = ldap
}
protocol lmtp {
   mail_plugins = acl zlib mail_log notify sieve
}
protocol imap {
   mail_max_userip_connections = 100
   mail_plugins = acl zlib mail_log notify imap_zlib imap_acl
   rawlog_dir = /tmp/rawlog/%u
}


Tia
Thomas


More information about the dovecot mailing list