[Dovecot] segfault in mail_user_get_home()

Lazy lazy404 at gmail.com
Tue Aug 21 15:36:15 EEST 2012


gdb ./src/imap/.libs/imap

Reading symbols from /usr/src/dovecot-2.1.9/src/imap/.libs/imap...done.
(gdb) run
Starting program: /usr/src/dovecot-2.1.9/src/imap/.libs/imap
warning: no loadable sections found in added symbol-file
system-supplied DSO at 0x7ffff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 1104 is executing new program: /usr/local/dovecot/bin/doveconf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 1104 is executing new program:
/usr/src/dovecot-2.1.9/src/imap/.libs/imap
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b2a0ff in mail_user_get_home (user=0x0,
home_r=0x7fffffffe308) at mail-user.c:310
310             if (user->home_looked_up) {
(gdb) bt
#0  0x00007ffff7b2a0ff in mail_user_get_home (user=0x0,
home_r=0x7fffffffe308) at mail-user.c:310
#1  0x00007ffff7ad172e in mdbox_storage_find_root_dir (ns=0x648610) at
mdbox-storage.c:90
#2  0x00007ffff7ad180c in mdbox_storage_autodetect (ns=0x648610,
set=0x7fffffffe4d0) at mdbox-storage.c:113
#3  0x00007ffff7b2345d in mail_storage_autodetect (ns=0x648610,
set=0x7fffffffe4d0) at mail-storage.c:105
#4  0x00007ffff7b2369d in mail_storage_get_class (ns=0x648610,
driver=0x0, list_set=0x7fffffffe4d0, flags=0, error_r=0x7fffffffe5b8)
at mail-storage.c:180
#5  0x00007ffff7b23c90 in mail_storage_create (ns=0x648610,
driver=0x0, flags=0, error_r=0x7fffffffe5b8) at mail-storage.c:342
#6  0x00007ffff7b1c62a in namespace_add (user=0x649be0,
ns_set=0x64a8c8, unexpanded_ns_set=0x64a1c0, mail_set=0x64a440,
ns_p=0x645380,
    error_r=0x7fffffffe6e8) at mail-namespace.c:126
#7  0x00007ffff7b1ccbb in mail_namespaces_init (user=0x649be0,
error_r=0x7fffffffe6e8) at mail-namespace.c:289
#8  0x00007ffff7b34a64 in mail_storage_service_init_post
(ctx=0x633460, user=0x633e08, priv=0x7fffffffe6f0,
mail_user_r=0x7fffffffe7b8,
    error_r=0x7fffffffe6e8) at mail-storage-service.c:641
#9  0x00007ffff7b35dd6 in mail_storage_service_next (ctx=0x633460,
user=0x633e08, mail_user_r=0x7fffffffe7b8) at
mail-storage-service.c:1114
#10 0x00007ffff7b35efa in mail_storage_service_lookup_next
(ctx=0x633460, input=0x7fffffffe810, user_r=0x7fffffffe7c0,
mail_user_r=0x7fffffffe7b8,
    error_r=0x7fffffffe808) at mail-storage-service.c:1149
#11 0x000000000041f61c in client_create_from_input
(input=0x7fffffffe810, login_client=0x7fffffffe880, fd_in=0, fd_out=1,
input_buf=0x0,
    error_r=0x7fffffffe808) at main.c:202
#12 0x000000000041f859 in main_stdio_run (username=0x0) at main.c:247
#13 0x000000000041fd0a in main (argc=1, argv=0x631370) at main.c:381

/usr/local/dovecot/bin/doveconf -n
# 2.1.9: /usr/local/dovecot/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32 x86_64 Debian wheezy/sid
namespace test {
  list = children
  location = maildir:/root/test
  prefix = test.
  subscriptions = yes
  type = shared
}
namespace inbox {
  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 =
  subscriptions = yes
}
passdb {
  driver = pam
}
ssl = no
userdb {
  driver = passwd
}

without type = shared there is no segfault,

I understand this config might not work (invoking imap directly) but
it should't segfault.

Regards,

Michal Grzedzicki


More information about the dovecot mailing list