[Dovecot] dovecot 2.0_b3 autocreate plugin bug.
Nikita Koshikov
koshikov at gmail.com
Tue Feb 23 17:18:05 EET 2010
New dovecot-2_beta3 installation.
dovecot plugins section:
plugin {
autocreate = Drafts
autocreate2 = Sent
autocreate3 = Spam
autocreate4 = Trash
autosubscribe = Drafts
autosubscribe2 = Sent
autosubscribe3 = Spam
autosubscribe4 = Trash
expire = Trash 30 Spam 30
expire_dict = proxy::expire
quota = maildir:Mailbox quota
quota_rule = *:storage=500M
quota_rule2 = Trash:storage=10%%
quota_warning = storage=90%% /etc/dovecot/plugins/quota_warning.sh 90
trash = /etc/dovecot/plugins/dovecot-trash.conf
}
Trying to login, I got core dump and no mailboxes is created. If autocreate plugin is commented out - than login is success and default maildirs mailboxes(cur/new/tmp) become avaliable.
Logs:
==> /var/log/dovecot/dovecot-debug.log <==
Feb 23 16:38:36 imap: Debug: Loading modules from directory: /usr/lib/dovecot
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib11_imap_quota_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib11_trash_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib20_autocreate_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib20_expire_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib20_virtual_plugin.so
Feb 23 16:38:36 imap: Debug: Module loaded: /usr/lib/dovecot/lib20_zlib_plugin.so
Feb 23 16:38:36 imap: Debug: Loading modules from directory: /usr/lib/dovecot
Feb 23 16:38:36 imap(test at domain.com): Debug: Effective uid=8, gid=12, home=/data/mail/domain.com/test
Feb 23 16:38:36 imap(test at domain.com): Debug: Quota root: name=Mailbox quota backend=maildir args=
Feb 23 16:38:36 imap(test at domain.com): Debug: Quota rule: root=Mailbox quota mailbox=* bytes=524288000 messages=0
Feb 23 16:38:36 imap(test at domain.com): Debug: Quota rule: root=Mailbox quota mailbox=Trash bytes=52428800 (10%) messages=0
Feb 23 16:38:36 imap(test at domain.com): Debug: Quota warning: bytes=471859200 (90%) messages=0 command=/etc/dovecot/plugins/quota_warning.sh 90
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes
Feb 23 16:38:36 imap(test at domain.com): Debug: maildir++: root=/data/mail/domain.com/test/data, index=, control=, inbox=/data/mail/domain.com/test/data
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace: type=private, prefix=Company/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no
Feb 23 16:38:36 imap(test at domain.com): Debug: maildir++: root=/var/mail/virtual, index=, control=, inbox=
Feb 23 16:38:36 imap(test at domain.com): Debug: trash plugin: Added 'Trash' with priority 1
Feb 23 16:38:36 imap(test at domain.com): Debug: trash plugin: Added 'Spam' with priority 2
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace : Permission lookup failed from /data/mail/domain.com/test/data/.Drafts
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace : Using permissions from /data/mail/domain.com/test/data: mode=0700 gid=-1
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace : Permission lookup failed from /data/mail/domain.com/test/data/.Drafts
Feb 23 16:38:36 imap(test at domain.com): Debug: Namespace : Using permissions from /data/mail/domain.com/test/data: mode=0700 gid=-1
==> /var/log/dovecot/dovecot-error.log <==
Feb 23 16:38:36 master: Error: service(imap): child 21505 killed with signal 11 (core dumped)
==> /var/log/dovecot/dovecot.log <==
Feb 23 16:38:36 imap-login: Info: Login: user=<test at domain.com>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, TLS
warning: Can not parse XML syscalls information; XML support was disabled at compile time.
GNU gdb (Gentoo 7.0 p1) 7.0
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 "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/libexec/dovecot/imap...done.
warning: Can't read pathname for load map: Ошибка ввода/вывода.
Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0
Reading symbols from /usr/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libldap-2.4.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libldap-2.4.so.2
Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/lib/liblber-2.4.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/liblber-2.4.so.2
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /usr/lib/libssl.so.0.9.8...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.0.9.8
Reading symbols from /usr/lib/libcrypto.so.0.9.8...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.8
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/dovecot/lib10_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib10_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_imap_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_imap_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_trash_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_trash_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_autocreate_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_autocreate_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_expire_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_expire_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_virtual_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_virtual_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_zlib_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_zlib_plugin.so
Reading symbols from /lib/libbz2.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libbz2.so.1
Core was generated by `dovecot/imap'.
Program terminated with signal 11, Segmentation fault.
#0 0xb7b324a8 in expire_rule_find (env=0xb7ec2360, name=0x808afa0 "Drafts", expunge_secs_r=0xbfbd5c90, altmove_secs_r=0xbfbd5c8c) at expire-env.c:141
141 expire-env.c: Нет такого файла или каталога.
in expire-env.c
(gdb) bt full
#0 0xb7b324a8 in expire_rule_find (env=0xb7ec2360, name=0x808afa0 "Drafts", expunge_secs_r=0xbfbd5c90, altmove_secs_r=0xbfbd5c8c) at expire-env.c:141
rule = <value optimized out>
secs = <value optimized out>
expunge_min = 0
altmove_min = 0
__PRETTY_FUNCTION__ = "expire_rule_find"
#1 0xb7b325d2 in expire_rule_find_min_secs (env=0xb7ec2360, name=0x808afa0 "Drafts", altmove_r=0xbfbd5ccb) at expire-env.c:168
secs1 = 134776268
secs2 = <value optimized out>
#2 0xb7b32c3d in expire_mailbox_allocate_init (box=0x808ae28) at expire-plugin.c:259
No locals.
#3 expire_mailbox_allocated (box=0x808ae28) at expire-plugin.c:279
euser = 0x80885e0
#4 0xb7f4e6be in hook_mailbox_allocated (box=0x808ae28) at mail-storage-hooks.c:180
hooks = 0x80885cc
#5 0xb7f4d0ef in mailbox_alloc (list=0x8089808, name=0x8066c00 "Drafts", flags=0) at mail-storage.c:497
_data_stack_cur_id = 4
new_list = 0x8089808
storage = 0x808a010
box = 0x808ae28
#6 0xb7eada02 in autocreate_mailbox (namespaces=0x8087078) at autocreate-plugin.c:28
No locals.
#7 autocreate_mailboxes (namespaces=0x8087078) at autocreate-plugin.c:50
user = 0x8087800
env_name = "\000\000\000\000\r\000\000\000\n\256\b\b\370\205\b\b\000\000\000"
name = <value optimized out>
i = 1
#8 autocreate_mail_namespaces_created (namespaces=0x8087078) at autocreate-plugin.c:101
No locals.
#9 0xb7f4e5ce in hook_mail_namespaces_created (namespaces=0x8087078) at mail-storage-hooks.c:150
hooks = 0x80885c8
#10 0xb7f48ac0 in mail_namespaces_init (user=0x8087800, error_r=0xbfbd5ee4) at mail-namespace.c:264
_data_stack_cur_id = 3
mail_set = 0x8087e00
namespaces = 0x8087078
ns = <value optimized out>
ns_p = 0x8087078
inbox_set = <value optimized out>
error = <value optimized out>
driver = 0xb7fb9238 "\274\207", <incomplete sequence \375\267>
location_source = 0x0
i = 2
__PRETTY_FUNCTION__ = "mail_namespaces_init"
#11 0xb7f542fd in mail_storage_service_init_post (ctx=0x806f400, user=0x80719e8, mail_user_r=0xbfbd5f24, error_r=0xbfbd5ee4) at mail-storage-service.c:368
No locals.
#12 mail_storage_service_next (ctx=0x806f400, user=0x80719e8, mail_user_r=0xbfbd5f24, error_r=0xbfbd5ee4) at mail-storage-service.c:855
user_set = 0x8071af0
---Type <return> to continue, or q <return> to quit---
home = 0x8072089 "/data/mail/domain.com/test"
chroot = 0x8066380 ""
temp_priv_drop = <value optimized out>
#13 0xb7f554f0 in mail_storage_service_lookup_next (ctx=0x806f400, input=0xbfbd5f64, user_r=0xbfbd5f28, mail_user_r=0xbfbd5f24, error_r=0xbfbd5fb8)
at mail-storage-service.c:891
user = 0x80719e8
error = <value optimized out>
ret = <value optimized out>
#14 0x0805f9c4 in client_create_from_input (input=<value optimized out>, login_client=0x80707a8, fd_in=134786600, fd_out=10, input_buf=0xbfbd5f9c,
error_r=0xbfbd5fb8) at main.c:172
user = 0x80660fc
mail_user = <value optimized out>
client = <value optimized out>
set = <value optimized out>
#15 0x08060258 in login_client_connected (client=0x80707a8, username=0x806608a "test at domain.com", extra_fields=0x8066100) at main.c:236
input = {module = 0x8062bcb "imap", service = 0x8062bcb "imap", username = 0x806608a "test at domain.com", local_ip = {family = 2, u = {ip6 = {
__in6_u = {__u6_addr8 = "\177\000\000\001Pl\a\b3Q\351\267\364/\376\267", __u6_addr16 = {127, 256, 27728, 2055, 20787, 47081, 12276, 47102},
__u6_addr32 = {16777343, 134704208, 3085521203, 3086888948}}}, ip4 = {s_addr = 16777343}}}, remote_ip = {family = 2, u = {ip6 = {
__in6_u = {__u6_addr8 = "\177\000\000\001", '\000' <repeats 11 times>, __u6_addr16 = {127, 256, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {16777343,
0, 0, 0}}}, ip4 = {s_addr = 16777343}}}, userdb_fields = 0x8066100}
error = <value optimized out>
input_buf = {data = 0x8070808, used = 3, priv = {0x0, 0x0, 0x3, 0x0, 0x0}}
#16 0xb7ef3623 in master_login_auth_finish (client=0x80707a8, auth_args=0x80885e0) at master-login.c:180
conn = 0x80706b8
login = 0x806fc38
service = 0x806e2a8
__PRETTY_FUNCTION__ = "master_login_auth_finish"
#17 0xb7ef405b in master_login_auth_callback (auth_args=0x80660fc, context=0x80707a8) at master-login.c:343
client = 0x80707a8
reply = {tag = 1, status = MASTER_AUTH_STATUS_OK, mail_pid = 21417}
service = 0x806e2a8
__PRETTY_FUNCTION__ = "master_login_auth_callback"
#18 0xb7ef4605 in master_login_auth_input_user (auth=0x806fc80) at master-login-auth.c:138
request = <value optimized out>
id = <value optimized out>
#19 master_login_auth_input (auth=0x806fc80) at master-login-auth.c:221
line = 0x80709cf "USER\t1\ttest at domain.com\tuid=8\tgid=12\thome=/data/mail/domain.com/test\tmail=maildir:~/data\tquota_rule=*:storage=100M"
#20 0xb7f081a5 in io_loop_handler_run (ioloop=0x806e350) at ioloop-epoll.c:208
ctx = 0x806e470
event = 0x806e4b0
list = 0x8070998
io = 0x806ed60
tv = {tv_sec = 2147483, tv_usec = 0}
t_id = 2
msecs = <value optimized out>
ret = 1
i = 0
---Type <return> to continue, or q <return> to quit---
j = 0
call = <value optimized out>
#21 0xb7f07220 in io_loop_run (ioloop=0x806e350) at ioloop.c:350
No locals.
#22 0xb7ef527a in master_service_run (service=0x806e2a8, callback=0x805fc30 <client_connected>) at master-service.c:478
No locals.
#23 0x08060055 in main (argc=Cannot access memory at address 0x0
) at main.c:313
service_flags = <value optimized out>
storage_service_flags = <value optimized out>
postlogin_socket_path = 0x0
set_roots = {0x8062c00, 0x0}
More information about the dovecot
mailing list