Panic at virtual folder fts-search-serialize.c
Janette Kelm
jkelm at inovex.de
Wed Aug 20 15:44:34 UTC 2014
Hi all,
I'm using dovecot 2.2.13 with virtual folders and fts-solr (see attached
dovecot-n.conf). At using virtual folder with fts, the dovecot crashes
with following panic:
Aug 20 10:49:43 imap(...): Panic: file fts-search-serialize.c: line 63
(fts_search_deserialize_add_idx): assertion failed: (*idx < buf->used)
Aug 20 10:49:43 imap(test4 at india.com): Error: Raw backtrace:
/opt/dovecot2/lib/dovecot/libdovecot.so.0(+0x6c6ca) [0x7f93de51c6ca] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(+0x6c746) [0x7f93de51c746] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(+0x2542a) [0x7f93de4d542a] ->
/opt/dovecot2/modules/lib20_fts_plugin.so(+0xc757) [0x7f93dd4e1757] ->
/opt/dovecot2/modules/lib20_fts_plugin.so(fts_search_deserialize_add_nonmatches+0x1c)
[0x7f93dd4e177c] -> /opt/dovecot2/modules/lib20_fts_plugin.so(+0xdafe)
[0x7f93dd4e2afe] -> /opt/dovecot2/modules/lib20_fts_plugin.so(+0xdcd2)
[0x7f93dd4e2cd2] ->
/opt/dovecot2/lib/dovecot/libdovecot-storage.so.0(+0xa96da)
[0x7f93de82b6da] ->
/opt/dovecot2/lib/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x48)
[0x7f93de82bd28] ->
/opt/dovecot2/modules/lib20_virtual_plugin.so(virtual_search_next_nonblock+0x13e)
[0x7f93dd2cd73e] ->
/opt/dovecot2/modules/lib20_virtual_plugin.so(virtual_search_next_nonblock+0x7e)
[0x7f93dd2cd67e] ->
/opt/dovecot2/lib/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x27)
[0x7f93de803f17] -> dovecot/imap() [0x41dddf] -> dovecot/imap()
[0x41e462] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0xbb)
[0x7f93de52d23b] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x61)
[0x7f93de52df81] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x9)
[0x7f93de52ce89] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
[0x7f93de52cf18] ->
/opt/dovecot2/lib/dovecot/libdovecot.so.0(master_service_run+0x13)
[0x7f93de4d9f33] -> dovecot/imap(main+0x2a8) [0x421278] ->
/lib/libc.so.6(__libc_start_main+0xfd) [0x7f93de145cad] ->
dovecot/imap() [0x40bda9]
Aug 20 10:49:43 imap(...): Fatal: master: service(imap): child 7254
killed with signal 6 (core dumps disabled)
imap-commands:
telnet localhost imap
...
3 select virtual/all
4 search text searchtext
- > panic crash (see above)
So I do nothing special, I just do fts in the virtual folder. At google
I found the patch http://hg.dovecot.org/dovecot-2.2/rev/d63b209737be,
but this is already included in dovecot2.2.13, so it is not the reason.
Regards,
Janette
-------------- next part --------------
# 2.2.13: /opt/dovecot2/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-64-server x86_64 Ubuntu 10.04.4 LTS ext4
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login anonymous
auth_socket_path = /var/run/dovecot/auth-master
debug_log_path = /var/log/dovecot-debug.log
dict {
quota = mysql:/opt/dovecot2/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_gid = 0
first_valid_uid = 0
info_log_path = /var/log/dovecot-info.log
log_path = /var/log/dovecot-err.log
login_greeting = Dovecot 2 for frontend tests
mail_location = maildir:/srv/Maildir/%d/%n:LAYOUT=fs
mail_plugins = fts fts_solr quota virtual event_broker notify
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 duplicate
namespace {
hidden = yes
list = no
location = virtual:/root/virtual:LAYOUT=fs
mailbox all {
auto = subscribe
}
mailbox unseen {
auto = subscribe
}
prefix = virtual/
separator = /
subscriptions = yes
type = private
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = create
special_use = \Drafts
}
mailbox Junk {
auto = create
special_use = \Junk
}
mailbox Sent {
auto = create
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = create
special_use = \Trash
}
prefix =
}
passdb {
args = /opt/dovecot2/etc/dovecot/conf.d/passwd.masteruser
driver = passwd-file
master = yes
}
passdb {
args = /opt/dovecot2/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
event_broker_base_url = http://fe01.icom.staging/events/
event_broker_events = delete undelete expunge copy mailbox_delete mailbox_rename mailbox_create flag_change append
event_broker_fields = uid box msgid from subject flags
fts = solr
fts_autoindex = yes
fts_solr = break-imap-search url=http://localhost:28080/solr/
quota = dict:User quota::proxy::quota
quota_rule = *:storage=1G
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_global_dir = /opt/icom/conf/
}
postmaster_address = postmaster at india.com
protocols = imap pop3 sieve
service auth-worker {
user = root
}
service auth {
unix_listener /var/run/dovecot/auth-client {
group = vmail
mode = 0777
user = vmail
}
unix_listener /var/run/dovecot/auth-master {
group = vmail
mode = 0777
user = vmail
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0777
user = vmail
}
user = vmail
}
service imap-login {
process_min_avail = 10
service_count = 0
vsz_limit = 64 M
}
service imap {
process_limit = 2024
}
service indexer {
user = root
}
service lmtp {
unix_listener lmtp {
mode = 0777
}
}
service managesieve-login {
inet_listener sieve {
port = 2002
}
}
service pop3 {
process_limit = 2024
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = /opt/dovecot2/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
info_log_path = /var/log/dovecot-lda.log
log_path = /var/log/dovecot-lda-errors.log
}
protocol imap {
mail_max_userip_connections = 1000
mail_plugins = fts fts_solr quota virtual event_broker notify imap_quota
}
protocol sieve {
mail_max_userip_connections = 1000
}
protocol pop3 {
mail_max_userip_connections = 1000
}
More information about the dovecot
mailing list