[Dovecot] Crash while moving mail between private folder and shared folder

Timo Sirainen tss at iki.fi
Sun Mar 31 17:26:19 EEST 2013


On 27.3.2013, at 18.01, kadafax at gmail.com wrote:

> Just to bump the OP message as I experience the exact same symptom with the same configuration. That is: when moving an email to a virtual mailboxes, dovecot crash (and sometime the email disappears from the real mailbox).

I'm guessing your error was different though. These should fix them:

http://hg.dovecot.org/dovecot-2.2/rev/12136db6e31f
http://hg.dovecot.org/dovecot-2.2/rev/9a8119326bd0

(not sure if http://hg.dovecot.org/dovecot-2.2/rev/f31d241d5371 is also required)

> 
> Thx
> 
> Le 23/03/13 10:03, Christian Felsing a écrit :
>> Hello,
>> 
>> while moving a mail from a private folder (inbox) to a shared folder and
>> back to private folder Dovecot 2.2rc3 crashes:
>> 
>> ---cut here---
>> Mar 23 09:57:44 dovecot dovecot: imap-login: Login:
>> user=<john.doe at example.net>, method=PLAIN, rip=192.168.200.6,
>> lip=192.168.200.22, mpid=19423, TLS
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Panic: file
>> mail-namespace.c: line 654 (mail_namespace_find): assertion failed: (ns
>> != NULL)
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Error: Raw
>> backtrace: /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(+0x608fa)
>> [0x7f82f65b28fa] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(+0x6093e)
>> [0x7f82f65b293e] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(i_fatal+0)
>> [0x7f82f657435b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mail_namespace_find_unalias+0)
>> [0x7f82f686b590] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mail_namespace_find_unalias+0x19)
>> [0x7f82f686b5a9] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(+0x57bd)
>> [0x7f82f51127bd] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(quota_test_alloc+0xcb)
>> [0x7f82f511424b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(quota_try_alloc+0x3d)
>> [0x7f82f511445d] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(+0xb00b)
>> [0x7f82f511800b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib01_acl_plugin.so(+0xc7cb)
>> [0x7f82f552d7cb] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mailbox_copy+0x5f)
>> [0x7f82f687274f] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mailbox_move+0x10)
>> [0x7f82f6872810] -> dovecot-01/imap() [0x40d29d] ->
>> dovecot-01/imap(command_exec+0x3c) [0x4161ec] -> dovecot-01/imap()
>> [0x415250] -> dovecot-01/imap() [0x41530a] ->
>> dovecot-01/imap(client_handle_input+0x115) [0x4155c5] ->
>> dovecot-01/imap(client_input+0x72) [0x415972] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36)
>> [0x7f82f65c20e6] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xd7)
>> [0x7f82f65c2f37] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_run+0x28)
>> [0x7f82f65c1c28] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f82f6579473]
>> -> dovecot-01/imap(main+0x270) [0x40b950] ->
>> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f82f61e6ead]
>> -> dovecot-01/imap() [0x40baad]
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Fatal:
>> master: service(imap): child 19423 killed with signal 6 (core dumps
>> disabled)
>> Mar 23 09:57:44 dovecot dovecot: imap-login: Login:
>> user=<john.doe at example.net>, method=PLAIN, rip=192.168.200.6,
>> lip=192.168.200.22, mpid=19425, TLS
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Panic: file
>> mail-namespace.c: line 654 (mail_namespace_find): assertion failed: (ns
>> != NULL)
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Error: Raw
>> backtrace: /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(+0x608fa)
>> [0x7f66ed9a58fa] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(+0x6093e)
>> [0x7f66ed9a593e] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(i_fatal+0)
>> [0x7f66ed96735b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mail_namespace_find_unalias+0)
>> [0x7f66edc5e590] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mail_namespace_find_unalias+0x19)
>> [0x7f66edc5e5a9] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(+0x57bd)
>> [0x7f66ec5057bd] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(quota_test_alloc+0xcb)
>> [0x7f66ec50724b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(quota_try_alloc+0x3d)
>> [0x7f66ec50745d] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib10_quota_plugin.so(+0xb00b)
>> [0x7f66ec50b00b] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/lib01_acl_plugin.so(+0xc7cb)
>> [0x7f66ec9207cb] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mailbox_copy+0x5f)
>> [0x7f66edc6574f] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot-storage.so.0(mailbox_move+0x10)
>> [0x7f66edc65810] -> dovecot-01/imap() [0x40d29d] ->
>> dovecot-01/imap(command_exec+0x3c) [0x4161ec] -> dovecot-01/imap()
>> [0x415250] -> dovecot-01/imap() [0x41530a] ->
>> dovecot-01/imap(client_handle_input+0x115) [0x4155c5] ->
>> dovecot-01/imap(client_input+0x72) [0x415972] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36)
>> [0x7f66ed9b50e6] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xd7)
>> [0x7f66ed9b5f37] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(io_loop_run+0x28)
>> [0x7f66ed9b4c28] ->
>> /opt/dovecot-2.2.rc3/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f66ed96c473]
>> -> dovecot-01/imap(main+0x270) [0x40b950] ->
>> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f66ed5d9ead]
>> -> dovecot-01/imap() [0x40baad]
>> Mar 23 09:57:44 dovecot dovecot: imap(john.doe at example.net): Fatal:
>> master: service(imap): child 19425 killed with signal 6 (core dumps
>> disabled)
>> Mar 23 09:57:46 dovecot dovecot: imap(john.doe at example.net):
>> Disconnected: Logged out in=192 out=1118
>> ---cut here---
>> 
>> Following config was used:
>> 
>> ---cut here---
>> # 2.2.rc3: /opt/dovecot-2.2.rc3/etc/dovecot/dovecot.conf
>> # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.0 ext4
>> auth_ssl_require_client_cert = yes
>> auth_ssl_username_from_cert = yes
>> auth_verbose = yes
>> auth_verbose_passwords = plain
>> base_dir = /home/dovecot/
>> hostname = mail.ip6.li
>> instance_name = dovecot-01
>> lda_mailbox_autocreate = yes
>> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
>> mail_gid = dovecot
>> mail_location = maildir:/home/vmail/%d/%u/Maildir
>> mail_plugins = quota
>> mail_uid = dovecot
>> 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 ihave
>> namespace {
>>   list = children
>>   location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
>>   prefix = shared/%%u/
>>   separator = /
>>   subscriptions = no
>>   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 =
>>   separator = /
>>   type = private
>> }
>> passdb {
>>   args = failure_show_msg=yes dovecot
>>   driver = pam
>> }
>> plugin {
>>   acl = vfile:/etc/dovecot/global-acls:cache_secs=300
>>   acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
>>   mail_log_events = delete undelete expunge copy mailbox_delete
>> mailbox_rename
>>   mail_log_fields = uid box msgid size
>>   quota = maildir:User quota
>>   quota_grace = 10%%
>>   quota_rule = *:storage=1G
>>   quota_rule2 = Trash:storage=+100M
>>   quota_warning = storage=95%% quota-warning 95 %u
>>   quota_warning2 = storage=80%% quota-warning 80 %u
>>   sieve = ~/.dovecot.sieve
>>   sieve_dir = ~/sieve
>> }
>> postmaster_address = postmaster at ip6.li
>> protocols = imap pop3 lmtp sieve
>> quota_full_tempfail = yes
>> sendmail_path = /usr/lib/sendmail
>> service managesieve-login {
>>   inet_listener sieve {
>>     port = 4190
>>   }
>>   inet_listener sieve_deprecated {
>>     port = 2000
>>   }
>> }
>> ssl_ca = </opt/dovecot/etc/dovecot/ip6li-user-ca.pem
>> ssl_cert = </opt/dovecot/etc/dovecot/mail.ip6.li.crt.pem
>> ssl_cert_username_field = emailAddress
>> ssl_key = </opt/dovecot/etc/dovecot/mail.ip6.li.key.pem
>> ssl_require_crl = no
>> ssl_verify_client_cert = yes
>> userdb {
>>   args = allow_all_users=yes uid=vmail gid=vmail home=/home/vmail/%d/%u
>>   driver = static
>> }
>> protocol lda {
>>   auth_socket_path = /var/run/dovecot/auth-master
>>   mail_plugin_dir = /opt/dovecot/lib/dovecot
>>   mail_plugins = quota sieve acl
>> }
>> protocol imap {
>>   mail_plugins = quota acl imap_acl imap_quota
>> }
>> protocol lmtp {
>>   mail_plugins = quota sieve
>> }
>> protocol sieve {
>>   managesieve_implementation_string = Dovecot Pigeonhole
>>   managesieve_logout_format = bytes ( in=%i : out=%o )
>> }
>> protocol pop3 {
>>   mail_plugins = quota
>>   pop3_uidl_format = %08Xu%08Xv
>> }
>> ---cut here---
>> 
>> best regards
>> Christian
>> 
> 



More information about the dovecot mailing list