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

T.Robers at smtp.tutech.de T.Robers at smtp.tutech.de
Mon Nov 13 16:12:18 EET 2017


It seems, it has to do with zlib plugin because a on test machine without
zlib plugin activted it works without segmentation fault and i can read
the log files written by rawlog.

Does anybody has a suggestion on what could be the problem? Compiling
resp. building the rpm worked without error and dovecot works with zlib
plugin activated. No other segfaults.

Tia
Thomas

Am 10.11.2017 um 11:19 schrieb Aki Tuomi:
> rawlog files are plain text, readable files. you do not need to dump
> them with doveadm. can you get gdb "bt full" for the core file?
> 
> Aki
> 
> On 10.11.2017 11:35, T. Robers wrote:
>> 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