[Dovecot] bug report: doveadm assertion failure "mail_index_map_lookup_seq_range"
Ephraim Vishniac
ephraim at vishniac.com
Sun Dec 8 15:16:28 EET 2013
Since reporting this (from the wrong account, sorry), I've tried to
investigate whether the problem exists in 2.2.9. While building 2.2.9
was no problem, I balked at actually installing it for fear of causing
trouble with future system updates. (Or current operation, for that matter.)
Could somebody please check whether this is problem is already fixed?
On 12/6/13, 8:33 AM, email-from-bobby wrote:
> A negated subject search on an empty folder causes an assertion
> failure in doveadm. To reproduce:
>
> bash-3.2# doveadm mailbox create -u ephraim "Freshly Empty"
> bash-3.2# doveadm search -u ephraim mailbox "Freshly Empty" NOT
> subject '***JUNK MAIL***'
> doveadm(ephraim): Panic: file mail-index-map.c: line 548
> (mail_index_map_lookup_seq_range): assertion failed: (first_uid <=
> last_uid\
> )
> doveadm(ephraim): Error: Raw backtrace: 2
> libdovecot.0.dylib 0x0000000100347463
> default_fatal_handler + 486 -> 3 \
> libdovecot.0.dylib 0x00000001003472c0
> default_fatal_handler + 67 -> 4 libdovecot.0.dylib
> 0x000\
> 0000100347705 i_fatal + 0 -> 5 libdovecot-storage.0.dylib
> 0x00000001002a799f mail_index_map_lookup_seq_range + 309 -> 6 \
> libdovecot-storage.0.dylib 0x00000001002b6d4f
> mail_index_lookup_seq_range + 12 -> 7
> lib20_fts_plugin.so \
> 0x00000001003fe325 fts_search_lookup + 3307 -> 8
> lib20_fts_plugin.so 0x00000001003fddfb
> fts_search_lookup + 1985 -\
> > 9 lib20_fts_plugin.so 0x00000001003fd6e2
> fts_search_lookup + 168 -> 10 lib20_fts_plugin.so 0x00\
> 000001003ff148 fts_mailbox_allocated + 1139 -> 11
> doveadm 0x00000001001dd3d2
> doveadm_mail_iter_init + 1\
> 99 -> 12 doveadm 0x00000001001df3ce cmd_search_run + 138 -> 13
> doveadm 0x0\
> 0000001001d94f9 doveadm_mail_next_user + 196 -> 14
> doveadm 0x00000001001d9ad1
> doveadm_mail_try_run + 77\
> 6 -> 15 doveadm 0x00000001001e1a09 main +
> 1150 -> 16 libdyld.dylib 0x00007fff915\
> ba5fd start + 1 -> 17 ??? 0x0000000000000009 0x0 + 9
> Abort trap: 6
> bash-3.2#
>
> A positive search is no problem:
>
> bash-3.2# doveadm search -u ephraim mailbox "Freshly Empty" subject
> '***JUNK MAIL***'
> bash-3.2#
>
> Version and configuration info:
>
> bash-3.2#
> /Applications/Server.app/Contents/ServerRoot/usr/sbin/dovecotd --version
> 2.2.5
> bash-3.2#
> /Applications/Server.app/Contents/ServerRoot/usr/sbin/dovecotd -n
> # 2.2.5: /Library/Server/Mail/Config/dovecot/dovecot.conf
> # OS: Darwin 13.0.0 x86_64 hfs
> auth_mechanisms = cram-md5 login apop plain digest-md5
> auth_realms = mail.vishniac.com
> auth_socket_path = /var/run/dovecot/auth-userdb
> auth_username_format = %n
> debug_log_path = /Library/Logs/Mail/mail-debug.log
> default_internal_user = _dovecot
> default_login_user = _dovenull
> disable_plaintext_auth = no
> first_valid_gid = 6
> first_valid_uid = 6
> hostname = mail.vishniac.com
> imap_id_log = *
> imap_id_send = "name" * "version" *
> imap_urlauth_submit_user = submit
> info_log_path = /Library/Logs/Mail/mail-info.log
> log_path = /Library/Logs/Mail/mail-err.log
> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
> mail_access_groups = mail
> mail_attribute_dict =
> file:/Library/Server/Mail/Data/attributes/attributes.dict
> mail_location = maildir:/Library/Server/Mail/Data/mail/users/%u
> mail_log_prefix = "%s(pid %p user %u): "
> mail_plugins = quota zlib acl fts fts_sk
> 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
> mdbox_rotate_size = 200 M
> namespace acl-mailboxes {
> list = children
> location =
> maildir:/Library/Server/Mail/Data/mail/users/%%u:INDEX=/Library/Server/Mail/Data/mail/shared/%%u
> prefix = shared.%%u.
> separator = .
> subscriptions = no
> type = shared
> }
> namespace inbox {
> inbox = 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 =
> }
> namespace list-archives {
> list = children
> location =
> maildir:/Library/Server/Mail/Data/listserver/messages/archive/lists/%%u:INDEX=/Library/Server/Mail/Data/listserver/mess\
> ages/archive/shared/%%u
> prefix = archives.%%u.
> separator = .
> subscriptions = no
> type = shared
> }
> passdb {
> driver = od
> }
> passdb {
> args = /Library/Server/Mail/Config/dovecot/submit.passdb
> driver = passwd-file
> }
> plugin {
> acl =
> vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300
> acl_shared_dict =
> file:/Library/Server/Mail/Data/shared/shared-mailboxes
> fts = sk
> quota = maildir:User quota
> quota_warning = storage=100%% quota-exceeded %u
> sieve = /Library/Server/Mail/Data/rules/%u/dovecot.sieve
> sieve_dir = /Library/Server/Mail/Data/rules/%u
> stats_refresh = 30 secs
> stats_track_cmds = yes
> }
> postmaster_address = postmaster at vishniac.com
> protocols = imap pop3 lmtp sieve
> quota_full_tempfail = yes
> service auth {
> extra_groups = _keytabusers
> idle_kill = 15 mins
> unix_listener auth-userdb {
> user = _dovecot
> }
> }
> service dict {
> unix_listener dict {
> user = _dovecot
> }
> }
> service dns_client {
> unix_listener dns-client {
> mode = 0600
> }
> }
> service imap-login {
> inet_listener imap {
> port = 143
> }
> inet_listener imaps {
> port = 993
> ssl = yes
> }
> service_count = 0
> }
> service imap {
> client_limit = 5
> process_limit = 20
> service_count = 0
> }
> service indexer-worker {
> user = _dovecot
> }
> service lmtp {
> unix_listener lmtp {
> mode = 0600
> }
> }
> service managesieve-login {
> inet_listener sieve {
> port = 4190
> }
> }
> service pop3-login {
> inet_listener pop3 {
> port = 110
> }
> inet_listener pop3s {
> port = 995
> ssl = yes
> }
> }
> service pop3 {
> client_limit = 5
> process_limit = 200
> service_count = 0
> }
> service quota-exceeded {
> executable = script
> /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/quota-exceeded.sh
> unix_listener quota-exceeded {
> group = mail
> mode = 0660
> user = _dovecot
> }
> user = _dovecot
> }
> service quota-warning {
> executable = script
> /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/quota-warning.sh
> unix_listener quota-warning {
> group = mail
> mode = 0660
> user = _dovecot
> }
> user = _dovecot
> }
> service stats {
> fifo_listener stats-mail {
> mode = 0600
> user = _dovecot
> }
> }
> ssl_ca =
> </etc/certificates/mail.vishniac.com.6BC35F87D55C160F0933F54763846F6CC1EB5A81.chain.pem
> ssl_cert =
> </etc/certificates/mail.vishniac.com.6BC35F87D55C160F0933F54763846F6CC1EB5A81.cert.pem
> ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!ADH:!eNULL
> ssl_key =
> </etc/certificates/mail.vishniac.com.6BC35F87D55C160F0933F54763846F6CC1EB5A81.key.pem
> ssl_key_path =
> /etc/certificates/mail.vishniac.com.6BC35F87D55C160F0933F54763846F6CC1EB5A81.key.pem
> userdb {
> args =
> partition=/Library/Server/Mail/Config/dovecot/partition_map.conf
> enforce_quotas=no
> driver = od
> }
> userdb {
> args = /Library/Server/Mail/Config/dovecot/submit.passdb
> driver = passwd-file
> }
> verbose_proctitle = yes
> protocol lmtp {
> mail_plugins = quota zlib acl fts fts_sk sieve
> }
> protocol lda {
> mail_plugins = quota zlib acl fts fts_sk sieve
> }
> protocol imap {
> mail_max_userip_connections = 20
> mail_plugins = quota zlib acl fts fts_sk imap_acl imap_quota imap_zlib
> }
> protocol pop3 {
> mail_max_userip_connections = 6
> }
> bash-3.2#
>
More information about the dovecot
mailing list