[Dovecot] dovecot 2.0.4 lmtp seg fault

Mike Constabel listen at constabel.net
Tue Sep 28 12:25:08 EEST 2010


Hi,

lmtp crashes with segfault.



# 2.0.4 (d75a01131ddc): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.35.5 x86_64 Debian squeeze/sid 
auth_debug = yes
auth_mechanisms = plain login
auth_username_format = %Ln
auth_verbose = yes
debug_log_path = /var/log/dovecot/dovecot-debug.log
info_log_path = /var/log/dovecot/dovecot-info.log
log_path = /var/log/dovecot/dovecot.log
mail_debug = yes
mail_location = mdbox:~/mdbox
mail_plugins = quota zlib
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
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  zlib_save = bz2
  zlib_save_level = 6
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    mode = 0600
  }
  user = root
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
  }
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = passwd
}
protocol lmtp {
  mail_plugins = quota zlib sieve
}
protocol imap {
  mail_plugins = quota zlib imap_quota
}


herakles:/usr/lib/dovecot# gdb lmtp
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/dovecot/lmtp...Reading symbols from /usr/lib/debug/usr/lib/dovecot/lmtp...done.
(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/lib/dovecot/lmtp
[Thread debugging using libthread_db enabled]
Debug: none: root=, index=, control=, inbox=
220 herakles.zh.local Dovecot LMTP ready
Info: Connect from local
mail from:<vejoun at herakles.zh.local>
250 2.1.0 OK
rcpt to:<vejoun at herakles.zh.local>
Debug: Loading modules from directory: /usr/lib/dovecot/modules
Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_zlib_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib90_sieve_plugin.so
Debug: auth input: vejoun system_groups_user=vejoun uid=1000 gid=1000 home=/home/vejoun
Debug: changed username to vejoun
250 2.1.5 OK
data
354 OK
foo
.
lmtp(7066, vejoun): Debug: Effective uid=1000, gid=1000, home=/home/vejoun
lmtp(7066, vejoun): Debug: quota: No quota setting - plugin disabled
lmtp(7066, vejoun): Debug: fs: root=/home/vejoun/mdbox, index=, control=, inbox=

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff64db722 in quota_get_mail_user_quota (user=<value optimized out>) at quota-storage.c:436
436     quota-storage.c: Datei oder Verzeichnis nicht gefunden.
        in quota-storage.c
(gdb) bt full
#0  0x00007ffff64db722 in quota_get_mail_user_quota (user=<value optimized out>) at quota-storage.c:436
No locals.
#1  0x00007ffff64db841 in quota_mailbox_list_created (list=0x6596e0) at quota-storage.c:509
        qlist = <value optimized out>
        quota = <value optimized out>
        root = <value optimized out>
#2  0x00007ffff7b44082 in hook_mailbox_list_created (list=0x6596e0) at mail-storage-hooks.c:295
        hooks__foreach_end = 0x656020
        hooks = 0x656000
        ctx = 0x659f30
#3  0x00007ffff7b47dc2 in mailbox_list_create (driver=<value optimized out>, ns=0x64be00, set=<value optimized out>, flags=0, error_r=<value optimized out>) at mailbox-list.c:197
        list = <value optimized out>
        idx = 3
        __FUNCTION__ = "mailbox_list_create"
#4  0x00007ffff7b437d9 in mail_storage_create (ns=0x64be00, driver=<value optimized out>, flags=0, error_r=0x7fffffffe838) at mail-storage.c:295
        storage_class = 0x7ffff7dddce0
        storage = <value optimized out>
        list_set = {layout = 0x7ffff7bb7f43 "fs", root_dir = 0x60ac80 "/home/vejoun/mdbox", index_dir = 0x0, control_dir = 0x0, alt_dir = 0x0, inbox_path = 0x0, subscription_fname = 0x7ffff7bbdba5 "subscriptions", maildir_name = 0x7ffff7bbef12 "dbox-Mails", mailbox_dir_name = 0x7ffff7bbef1d "mailboxes"}
        data = <value optimized out>
        p = <value optimized out>
        __FUNCTION__ = "mail_storage_create"
#5  0x00007ffff7b3d91c in mail_namespaces_init (user=0x6556d0, error_r=<value optimized out>) at mail-namespace.c:371
        mail_set = 0x655b60
        namespaces = 0x0
        ns = <value optimized out>
        ns_p = 0x7ffff7bb4fee
        inbox_set = 0x656038
        unexpanded_inbox_set = 0x656088
        error = <value optimized out>
        driver = 0x0
        location_source = 0x7ffff7bb4fee "mail_location setting"
        i = <value optimized out>
        count = 32767
        __FUNCTION__ = "mail_namespaces_init"
#6  0x00007ffff7b4a111 in mail_storage_service_init_post (ctx=0x61a500, user=0x631118, mail_user_r=<value optimized out>) at mail-storage-service.c:460
        mail_set = <value optimized out>
        mail_user = 0x6556d0
#7  mail_storage_service_next (ctx=0x61a500, user=0x631118, mail_user_r=<value optimized out>) at mail-storage-service.c:897
        user_set = <value optimized out>
        home = 0x6316a1 "/home/vejoun"
        chroot = 0x60a852 "1000"
        error = <value optimized out>
        len = <value optimized out>
        temp_priv_drop = true
#8  0x00000000004055ae in client_deliver (client=0x61ada0) at commands.c:450
        storage = 0xfaf
        mail_error = MAIL_ERROR_NONE
        dctx = {pool = 0x61a0d00000001b, set = 0x0, dup_ctx = 0x61ada0, session_id = 0x61b710 "\001", src_mail = 0x0, src_envelope_sender = 0x61ada0 "", dest_user = 0x4078e9, dest_addr = 0x7fffffffea1c "", final_dest_addr = 0x0, dest_mailbox_name = 0x0, dest_mail = 0x61b820, tried_default_save = 104,
          saved_mail = 236, save_dest_mail = 109}
        input = <value optimized out>
        sets = <value optimized out>
        error = <value optimized out>
#9  client_deliver_next (client=0x61ada0) at commands.c:515
        rcpts = 0x61b950
#10 client_input_data_write_local (client=0x61ada0) at commands.c:613
        src_mail = 0x64fc60
        old_uid = 0
        first_uid = 4294967295
#11 client_input_data_write (client=0x61ada0) at commands.c:718
        input = 0x637d20
#12 client_input_data_handle (client=0x61ada0) at commands.c:804
        data = <value optimized out>
        size = 1
        ret = <value optimized out>
#13 0x00007ffff76d5ca5 in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:212
        ctx = 0x619540
        event = 0x6195b0
        list = 0x61a0d0
        io = 0x61b820
        tv = {tv_sec = 299, tv_usec = 999484}
        t_id = 2
        msecs = <value optimized out>
        ret = 1
        i = 0
        call = <value optimized out>
#14 0x00007ffff76d4dc8 in io_loop_run (ioloop=0x612670) at ioloop.c:350
---Type <return> to continue, or q <return> to quit---
No locals.
#15 0x00007ffff76c49e3 in master_service_run (service=0x612540, callback=0x28) at master-service.c:496
No locals.
#16 0x0000000000404434 in main (argc=1, argv=0x612370) at main.c:120
        set_roots = {0x6098a0, 0x408280, 0x0}
        service_flags = <value optimized out>
        storage_service_flags = 675
        c = <value optimized out>
(gdb) 



More information about the dovecot mailing list