[Dovecot] dovecot 2.0.4 lmtp seg fault
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@herakles.zh.local> 250 2.1.0 OK rcpt to:<vejoun@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)
On Tue, 2010-09-28 at 11:25 +0200, Mike Constabel wrote:
lmtp(7066, vejoun): Debug: quota: No quota setting - plugin disabled
This causes the crash. Fixed: http://hg.dovecot.org/dovecot-2.0/rev/e5f0231b7a40
participants (2)
-
Mike Constabel
-
Timo Sirainen