Hi, I've just enabled FTS via Lucene on my Dovecot 2.2.24 installation but I see the indexer crashing ?always?. This simple testcase with a very tiny testing mailbox exposes the issue immediately: doveadm -v index -u anmesse INBOX Program received signal SIGSEGV, Segmentation fault. rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) at lucene-wrapper.cc:831 831 (enum mailbox_flags)0); (gdb) bt full #0 rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) at lucene-wrapper.cc:831 box = 0x7ffff76fd0ad <mailbox_list_iter_next+285> metadata = {guid = "\230\332\377\377\377\177\000\000\200?UUU\000", virtual_size = 140737340823160, physical_size = 140737488345756, first_save_date = 140737488345840, cache_fields = 0x555500000000, precache_fields = (MAIL_FETCH_SAVE_DATE | MAIL_FETCH_PHYSICAL_SIZE | MAIL_FETCH_NUL_STATE | MAIL_FETCH_STREAM_BINARY | MAIL_FETCH_IMAP_BODY | MAIL_FETCH_IMAP_BODYSTRUCTURE | MAIL_FETCH_IMAP_ENVELOPE | MAIL_FETCH_FROM_ENVELOPE | MAIL_FETCH_REFCOUNT | MAIL_FETCH_BODY_SNIPPET | unknown: 1409286144), backend_ns_prefix = 0x0, backend_ns_type = (unknown: 4294957808)} #1 0x00007ffff489aade in rescan_clear_unseen_mailboxes (index=index at entry=0x555555822e20, rescan_ctx=rescan_ctx at entry=0x0) at lucene-wrapper.cc:863 iter = 0x55555588d530 info = <optimized out> vname = <optimized out> hdr = {last_indexed_uid = 0, settings_checksum = 3784394109, unused = 0} ns = 0x55555580f6c0 #2 0x00007ffff489b700 in lucene_settings_check (index=0x555555822e20) at lucene-wrapper.cc:429 set_checksum = <optimized out> ret = <optimized out> #3 lucene_index_build_init (index=0x555555822e20) at lucene-wrapper.cc:448 lock_path = 0x5555557dd320 "/srv/dovecot/anmesse/maildir/lucene-indexes/write.lock" st = {st_dev = 93823560581121, st_ino = 0, st_nlink 140737344007992, st_mode = 4150696184, st_uid = 32767, st_gid = 5, __pad0 0, st_rdev = 93824995156880, st_size = 93824995175648, st_blksize = 140737351975397, st_blocks = 93824995096256, st_atim = {tv_sec = 140737488346056, tv_nsec = 5}, st_mtim = {tv_sec = 5, tv_nsec 93824995156880}, st_ctim = { tv_sec = 93824995175648, tv_nsec = 140737488346352}, __glibc_reserved = {140737488346352, 93824995267672, 140737344364485}} exists = <optimized out> #4 0x00007ffff4899dbe in fts_backend_lucene_update_set_build_key (_ctx=0x55555583a550, key=0x7fffffffdcf0) at fts-backend-lucene.c:366 ctx = 0x55555583a550 backend = 0x555555822ce0 __FUNCTION__ = "fts_backend_lucene_update_set_build_key" #5 0x00007ffff674c984 in fts_backend_update_set_build_key (ctx=0x55555583a550, key=key at entry=0x7fffffffdcf0) at fts-api.c:175 __FUNCTION__ = "fts_backend_update_set_build_key" #6 0x00007ffff674dbb8 in fts_build_mail_header (block=0x7fffffffdcd0, block=0x7fffffffdcd0, ctx=0x7fffffffdd20) at fts-build-mail.c:174 hdr = <optimized out> key = {uid = 96, type = FTS_BACKEND_BUILD_KEY_HDR, part 0x5555557dd2c0, hdr_name = 0x5555558396b0 "Return-Path", body_content_type = 0x0, body_content_disposition = 0x0} ret = <optimized out> #7 fts_build_mail_real (mail=0x555555838190, update_ctx=0x55555583a550) at fts-build-mail.c:548 block = {part = 0x5555557dd2c0, hdr = 0x555555839458, data 0x55550000007c <error: Cannot access memory at address 0x55550000007c>, size = 0} ret = <optimized out> input = 0x555555838eb0 raw_block = {part = 0x5555557dd2c0, hdr = 0x5555558395e0, data 0x0, size = 0} skip_body = false ctx = {mail = 0x555555838190, update_ctx = 0x55555583a550, content_type = 0x0, content_disposition = 0x0, body_parser = 0x0, word_buf = 0x0, pending_input = 0x0, cur_user_lang = 0x0} prev_part = 0x5555557dd2c0 parser = 0x555555839070 decoder = 0x555555839440 parts = 0x31 body_part = false body_added = false binary_body = <optimized out> error = 0x60 <error: Cannot access memory at address 0x60> #8 fts_build_mail (update_ctx=0x55555583a550, mail=mail at entry=0x555555838190) at fts-build-mail.c:594 _data_stack_cur_id = 5 #9 0x00007ffff675393e in fts_mail_index (_mail=0x555555838190) at fts-storage.c:501 ft = 0x5555558366a0 flist = 0x55555581ea68 #10 fts_mail_precache (_mail=0x555555838190) at fts-storage.c:520 _data_stack_cur_id = 4 mail = 0x555555838190 fmail = <optimized out> ft = <optimized out> #11 0x00007ffff76987b9 in mail_precache (mail=0x555555838190) at mail.c:401 _data_stack_cur_id = 3 p = 0x555555838190 #12 0x0000555555582fa7 in cmd_index_box_precache (box=0x55555582fd80) at doveadm-mail-index.c:75 ctx = 0x555555839be0 metadata = {guid = '\000' <repeats 15 times>, virtual_size = 0, physical_size = 0, first_save_date = 0, cache_fields = 0x0, precache_fields = (MAIL_FETCH_STREAM_HEADER | MAIL_FETCH_STREAM_BODY | MAIL_FETCH_RECEIVED_DATE | MAIL_FETCH_SAVE_DATE | MAIL_FETCH_PHYSICAL_SIZE | MAIL_FETCH_VIRTUAL_SIZE | MAIL_FETCH_UIDL_BACKEND | MAIL_FETCH_GUID | MAIL_FETCH_POP3_ORDER), backend_ns_prefix = 0x0, backend_ns_type = (unknown: 0)} counter = 0 max = 15 status = {messages = 15, recent = 0, unseen = 0, uidvalidity 1048765368, uidnext = 151, first_unseen_seq = 0, first_recent_uid = 151, last_cached_seq = 0, highest_modseq = 0, highest_pvt_modseq = 0, keywords = 0x0, permanent_flags = 0, permanent_keywords = 0, allow_new_keywords = 0, nonpermanent_modseqs = 0, no_modseq_tracking = 0, have_guids = 1, have_save_guids = 1, have_only_guid128 = 0} mail = 0x555555838190 ret = 0 trans = 0x555555834310 search_args = 0x0 seq = <optimized out> #13 cmd_index_box (info=<optimized out>, info=<optimized out>, ctx=0x555555807410) at doveadm-mail-index.c:130 box = 0x55555582fd80 status = {messages = 130, recent = 0, unseen = 0, uidvalidity = 0, uidnext = 1434552496, first_unseen_seq = 21845, first_recent_uid 4294958896, last_cached_seq = 32767, highest_modseq = 93824995069728, highest_pvt_modseq 93824995074385, keywords = 0x555555819868, permanent_flags = 4150947016, permanent_keywords = 1, allow_new_keywords = 1, nonpermanent_modseqs = 1, no_modseq_tracking = 1, have_guids = 1, have_save_guids = 1, have_only_guid128 = 1} ret = 0 #14 cmd_index_run (_ctx=0x555555807410, user=0x5555558188b0) at doveadm-mail-index.c:201 _data_stack_cur_id = 2 iter = 0x55555582b9f0 info = <optimized out> ret = 0 user = 0x5555558188b0 _ctx = 0x555555807410 ctx = 0x555555807410 i = <optimized out> #15 0x000055555557dedf in doveadm_mail_next_user (ctx=ctx at entry=0x555555807410, cctx=cctx at entry=0x7fffffffe2a0, error_r=error_r at entry=0x7fffffffe0b8) at doveadm-mail.c:400 input = {module = 0x0, service = 0x5555555b15a9 "doveadm", username = 0x5555557da298 "anmesse", session_id = 0x0, session_id_prefix = 0x0, local_ip = {family = 0, u = {ip6 = {__in6_u = { ---Type <return> to continue, or q <return> to quit--- __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 = { __in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 {s_addr = 0}}}, local_port = 0, remote_port = 0, userdb_fields = 0x0, flags_override_add = (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = 0, debug = 0} error = 0x20 <error: Cannot access memory at address 0x20> ip = <optimized out> ret = <optimized out> __FUNCTION__ = "doveadm_mail_next_user" #16 0x000055555557e843 in doveadm_mail_single_user (ctx=ctx at entry=0x555555807410, cctx=cctx at entry=0x7fffffffe2a0, error_r=error_r at entry=0x7fffffffe0b8) at doveadm-mail.c:431 __FUNCTION__ = "doveadm_mail_single_user" #17 0x000055555557e8fd in doveadm_mail_cmd_exec (ctx=ctx at entry=0x555555807410, cctx=cctx at entry=0x7fffffffe2a0, wildcard_user=wildcard_user at entry=0x0) at doveadm-mail.c:589 ret = <optimized out> error = 0x7ffff7fe89e8 "" #18 0x000055555557f6ef in doveadm_cmd_ver2_to_mail_cmd_wrapper (cctx=0x7fffffffe2a0) at doveadm-mail.c:1030 mctx = 0x555555807410 wildcard_user = <optimized out> username_args = {0x5555555b1479 "-u", 0x5555557da298 "anmesse", 0x0} fieldstr = 0x7ffff73d7423 <t_malloc0+35> "H\203\304\bH\211\330[]\303\017\037" username_args_count = <optimized out> i = <optimized out> mail_cmd = {alloc = 0x555555582ad0 <cmd_index_alloc>, name 0x5555555b3e7b "index", usage_args = 0x5555555b2ee8 "[-u <user>|-A] [-S <socket_path>] [-q] [-n <max recent>] <mailbox mask>"} #19 0x000055555558c93c in doveadm_cmd_run_ver2 (argc=4, argv=0x5555557e13a0, cctx=cctx at entry=0x7fffffffe2a0) at doveadm-cmd.c:524 param = <optimized out> pargv = {arr = {buffer = 0x5555557d9a40, element_size = 104}, v 0x5555557d9a40, v_modifiable = 0x5555557d9a40} opts = {arr = {buffer = <optimized out>, element_size = 32}, v <optimized out>, v_modifiable = <optimized out>} pargc = 7 c = -1 li = 21845 pool = 0x5555557d9778 optbuf = 0x5555557d9790 __FUNCTION__ = "doveadm_cmd_run_ver2" #20 0x000055555558c9d7 in doveadm_cmd_try_run_ver2 (cmd_name=<optimized out>, argc=4, argv=0x5555557e13a0, cctx=0x7fffffffe2a0) at doveadm-cmd.c:447 cmd = <optimized out> #21 0x000055555556fb1f in main (argc=4, argv=0x5555557e13a0) at doveadm.c:376 cctx = {cmd = 0x5555557e8208, argc = 7, argv = 0x5555557d9a78, username = 0x5555557da298 "anmesse", cli = true, local_ip = {family = 0, u = {ip6 = {__in6_u = { __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 = { __in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 {s_addr = 0}}}, local_port = 0, remote_port = 0} cmd_name = 0x5555557e13dc "index" quick_init = false c = <optimized out> doveconf -n: # 2.2.24 (a82c823): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.14 (099a97c) # OS: Linux 4.1.21-14-default x86_64 openSUSE 42.1 (x86_64) auth_mechanisms = plain login imap_id_log = * mail_gid = vmail mail_home = /srv/dovecot/%u mail_location = maildir:~/maildir mail_plugins = acl fts fts_lucene virtual zlib quota mail_uid = vmail mailbox_list_index = yes 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 index ihave duplicate mime foreverypart extracttext namespace { list = children location maildir:/srv/dovecot/%%u/maildir:INDEX=~/maildir/shared/%%u:CONTROL=~/maildir/shared/%%u prefix = shared.%%n. separator = . subscriptions = yes type = shared } namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Entw?rfe { special_use = \Drafts } mailbox "Gesendete Objekte" { special_use = \Sent } mailbox Sent { special_use = \Sent } mailbox "Sent Items" { special_use = \Sent } mailbox Spam { auto = create special_use = \Junk } mailbox Trash { auto = subscribe special_use = \Trash } prefix = INBOX. separator = . type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile acl_shared_dict = file:/srv/dovecot/shared-mailboxes.db fts = lucene fts_autoindex = yes fts_lucene = whitespace_chars="@" quota = dict:User quota::file:%h/dovecot-quota quota_grace = 10%% quota_rule = *:storage=100M quota_rule2 = INBOX.Trash:storage=+10M quota_status_nosuser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is full / Mailbox ist voll quota_status_success = DUNNO sieve = file:~/sieve;active=~/.dovecot.sieve zlib_save = gz zlib_save_level = 6 } protocols = imap pop3 lmtp sieve service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { mode = 0777 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { address = 127.0.0.1,::1 port = 12340 } } ssl_cert = < ssl_dh_parameters_length = 2048 ssl_key = < ssl_options = no_compression ssl_prefer_server_ciphers = yes userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } userdb { args = username_format=%n /etc/dovecot/shared-mailboxes default_fields = uid=600 gid=600 home=/srv/dovecot/%n driver = passwd-file } protocol lmtp { mail_plugins = acl fts fts_lucene virtual zlib quota sieve } protocol imap { mail_max_userip_connections = 30 mail_plugins = acl fts fts_lucene virtual zlib quota imap_acl imap_zlib imap_quota namespace inbox { location mailbox Spam { autoexpunge = 90 days } mailbox Trash { autoexpunge = 370 days } prefix } }
On 29.05.2016 10:56, Wolfgang Rosenauer wrote:> Hi, > > I've just enabled FTS via Lucene on my Dovecot 2.2.24 installation but I > see the indexer crashing ?always?. > > This simple testcase with a very tiny testing mailbox exposes the issue > immediately: > > doveadm -v index -u anmesse INBOX > > Program received signal SIGSEGV, Segmentation fault. > rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, > vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) at > lucene-wrapper.cc:831 > 831 (enum mailbox_flags)0); > (gdb) bt full > #0 rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, > vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) at > lucene-wrapper.cc:831 > box = 0x7ffff76fd0ad <mailbox_list_iter_next+285> > metadata = {guid = "\230\332\377\377\377\177\000\000\200?UUU\000", > virtual_size = 140737340823160, physical_size = 140737488345756, > first_save_date = 140737488345840, > cache_fields = 0x555500000000, > precache_fields = (MAIL_FETCH_SAVE_DATE | > MAIL_FETCH_PHYSICAL_SIZE | MAIL_FETCH_NUL_STATE | MAIL_FETCH_STREAM_BINARY > | MAIL_FETCH_IMAP_BODY | MAIL_FETCH_IMAP_BODYSTRUCTURE | > MAIL_FETCH_IMAP_ENVELOPE | MAIL_FETCH_FROM_ENVELOPE | MAIL_FETCH_REFCOUNT | > MAIL_FETCH_BODY_SNIPPET | unknown: 1409286144), backend_ns_prefix = 0x0, > backend_ns_type = (unknown: 4294957808)} > #1 0x00007ffff489aade in rescan_clear_unseen_mailboxes > (index=index at entry=0x555555822e20, > rescan_ctx=rescan_ctx at entry=0x0) at lucene-wrapper.cc:863 > iter = 0x55555588d530 > info = <optimized out> > vname = <optimized out> > hdr = {last_indexed_uid = 0, settings_checksum = 3784394109, unused > = 0} > ns = 0x55555580f6c0 > #2 0x00007ffff489b700 in lucene_settings_check (index=0x555555822e20) at > lucene-wrapper.cc:429 > set_checksum = <optimized out> > ret = <optimized out> > #3 lucene_index_build_init (index=0x555555822e20) at lucene-wrapper.cc:448 > lock_path = 0x5555557dd320 > "/srv/dovecot/anmesse/maildir/lucene-indexes/write.lock" > st = {st_dev = 93823560581121, st_ino = 0, st_nlink > 140737344007992, st_mode = 4150696184, st_uid = 32767, st_gid = 5, __pad0 > 0, st_rdev = 93824995156880, st_size = 93824995175648, > st_blksize = 140737351975397, st_blocks = 93824995096256, st_atim > = {tv_sec = 140737488346056, tv_nsec = 5}, st_mtim = {tv_sec = 5, tv_nsec > 93824995156880}, st_ctim = { > tv_sec = 93824995175648, tv_nsec = 140737488346352}, > __glibc_reserved = {140737488346352, 93824995267672, 140737344364485}} > exists = <optimized out> > #4 0x00007ffff4899dbe in fts_backend_lucene_update_set_build_key > (_ctx=0x55555583a550, key=0x7fffffffdcf0) at fts-backend-lucene.c:366 > ctx = 0x55555583a550 > backend = 0x555555822ce0 > __FUNCTION__ = "fts_backend_lucene_update_set_build_key" > #5 0x00007ffff674c984 in fts_backend_update_set_build_key > (ctx=0x55555583a550, key=key at entry=0x7fffffffdcf0) at fts-api.c:175 > __FUNCTION__ = "fts_backend_update_set_build_key" > #6 0x00007ffff674dbb8 in fts_build_mail_header (block=0x7fffffffdcd0, > block=0x7fffffffdcd0, ctx=0x7fffffffdd20) at fts-build-mail.c:174 > hdr = <optimized out> > key = {uid = 96, type = FTS_BACKEND_BUILD_KEY_HDR, part > 0x5555557dd2c0, hdr_name = 0x5555558396b0 "Return-Path", body_content_type > = 0x0, body_content_disposition = 0x0} > ret = <optimized out> > #7 fts_build_mail_real (mail=0x555555838190, update_ctx=0x55555583a550) at > fts-build-mail.c:548 > block = {part = 0x5555557dd2c0, hdr = 0x555555839458, data > 0x55550000007c <error: Cannot access memory at address 0x55550000007c>, > size = 0} > ret = <optimized out> > input = 0x555555838eb0 > raw_block = {part = 0x5555557dd2c0, hdr = 0x5555558395e0, data > 0x0, size = 0} > skip_body = false > ctx = {mail = 0x555555838190, update_ctx = 0x55555583a550, > content_type = 0x0, content_disposition = 0x0, body_parser = 0x0, word_buf > = 0x0, pending_input = 0x0, cur_user_lang = 0x0} > prev_part = 0x5555557dd2c0 > parser = 0x555555839070 > decoder = 0x555555839440 > parts = 0x31 > body_part = false > body_added = false > binary_body = <optimized out> > error = 0x60 <error: Cannot access memory at address 0x60> > #8 fts_build_mail (update_ctx=0x55555583a550, mail=mail at entry=0x555555838190) > at fts-build-mail.c:594 > _data_stack_cur_id = 5 > #9 0x00007ffff675393e in fts_mail_index (_mail=0x555555838190) at > fts-storage.c:501 > ft = 0x5555558366a0 > flist = 0x55555581ea68 > #10 fts_mail_precache (_mail=0x555555838190) at fts-storage.c:520 > _data_stack_cur_id = 4 > mail = 0x555555838190 > fmail = <optimized out> > ft = <optimized out> > #11 0x00007ffff76987b9 in mail_precache (mail=0x555555838190) at mail.c:401 > _data_stack_cur_id = 3 > p = 0x555555838190 > #12 0x0000555555582fa7 in cmd_index_box_precache (box=0x55555582fd80) at > doveadm-mail-index.c:75 > ctx = 0x555555839be0 > metadata = {guid = '\000' <repeats 15 times>, virtual_size = 0, > physical_size = 0, first_save_date = 0, cache_fields = 0x0, > precache_fields = (MAIL_FETCH_STREAM_HEADER | > MAIL_FETCH_STREAM_BODY | MAIL_FETCH_RECEIVED_DATE | MAIL_FETCH_SAVE_DATE | > MAIL_FETCH_PHYSICAL_SIZE | MAIL_FETCH_VIRTUAL_SIZE | > MAIL_FETCH_UIDL_BACKEND | MAIL_FETCH_GUID | MAIL_FETCH_POP3_ORDER), > backend_ns_prefix = 0x0, backend_ns_type = (unknown: 0)} > counter = 0 > max = 15 > status = {messages = 15, recent = 0, unseen = 0, uidvalidity > 1048765368, uidnext = 151, first_unseen_seq = 0, first_recent_uid = 151, > last_cached_seq = 0, highest_modseq = 0, > highest_pvt_modseq = 0, keywords = 0x0, permanent_flags = 0, > permanent_keywords = 0, allow_new_keywords = 0, nonpermanent_modseqs = 0, > no_modseq_tracking = 0, have_guids = 1, > have_save_guids = 1, have_only_guid128 = 0} > mail = 0x555555838190 > ret = 0 > trans = 0x555555834310 > search_args = 0x0 > seq = <optimized out> > #13 cmd_index_box (info=<optimized out>, info=<optimized out>, > ctx=0x555555807410) at doveadm-mail-index.c:130 > box = 0x55555582fd80 > status = {messages = 130, recent = 0, unseen = 0, uidvalidity = 0, > uidnext = 1434552496, first_unseen_seq = 21845, first_recent_uid > 4294958896, last_cached_seq = 32767, > highest_modseq = 93824995069728, highest_pvt_modseq > 93824995074385, keywords = 0x555555819868, permanent_flags = 4150947016, > permanent_keywords = 1, allow_new_keywords = 1, > nonpermanent_modseqs = 1, no_modseq_tracking = 1, have_guids = 1, > have_save_guids = 1, have_only_guid128 = 1} > ret = 0 > #14 cmd_index_run (_ctx=0x555555807410, user=0x5555558188b0) at > doveadm-mail-index.c:201 > _data_stack_cur_id = 2 > iter = 0x55555582b9f0 > info = <optimized out> > ret = 0 > user = 0x5555558188b0 > _ctx = 0x555555807410 > ctx = 0x555555807410 > i = <optimized out> > #15 0x000055555557dedf in doveadm_mail_next_user (ctx=ctx at entry=0x555555807410, > cctx=cctx at entry=0x7fffffffe2a0, error_r=error_r at entry=0x7fffffffe0b8) at > doveadm-mail.c:400 > input = {module = 0x0, service = 0x5555555b15a9 "doveadm", username > = 0x5555557da298 "anmesse", session_id = 0x0, session_id_prefix = 0x0, > local_ip = {family = 0, u = {ip6 = {__in6_u = { > ---Type <return> to continue, or q <return> to quit--- > __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, > 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, > remote_ip = {family = 0, u = {ip6 = { > __in6_u = {__u6_addr8 = '\000' <repeats 15 times>, > __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 > {s_addr = 0}}}, local_port = 0, remote_port = 0, > userdb_fields = 0x0, flags_override_add = (unknown: 0), > flags_override_remove = (unknown: 0), no_userdb_lookup = 0, debug = 0} > error = 0x20 <error: Cannot access memory at address 0x20> > ip = <optimized out> > ret = <optimized out> > __FUNCTION__ = "doveadm_mail_next_user" > #16 0x000055555557e843 in doveadm_mail_single_user > (ctx=ctx at entry=0x555555807410, > cctx=cctx at entry=0x7fffffffe2a0, error_r=error_r at entry=0x7fffffffe0b8) at > doveadm-mail.c:431 > __FUNCTION__ = "doveadm_mail_single_user" > #17 0x000055555557e8fd in doveadm_mail_cmd_exec (ctx=ctx at entry=0x555555807410, > cctx=cctx at entry=0x7fffffffe2a0, wildcard_user=wildcard_user at entry=0x0) at > doveadm-mail.c:589 > ret = <optimized out> > error = 0x7ffff7fe89e8 "" > #18 0x000055555557f6ef in doveadm_cmd_ver2_to_mail_cmd_wrapper > (cctx=0x7fffffffe2a0) at doveadm-mail.c:1030 > mctx = 0x555555807410 > wildcard_user = <optimized out> > username_args = {0x5555555b1479 "-u", 0x5555557da298 "anmesse", 0x0} > fieldstr = 0x7ffff73d7423 <t_malloc0+35> > "H\203\304\bH\211\330[]\303\017\037" > username_args_count = <optimized out> > i = <optimized out> > mail_cmd = {alloc = 0x555555582ad0 <cmd_index_alloc>, name > 0x5555555b3e7b "index", usage_args = 0x5555555b2ee8 "[-u <user>|-A] [-S > <socket_path>] [-q] [-n <max recent>] <mailbox mask>"} > #19 0x000055555558c93c in doveadm_cmd_run_ver2 (argc=4, > argv=0x5555557e13a0, cctx=cctx at entry=0x7fffffffe2a0) at doveadm-cmd.c:524 > param = <optimized out> > pargv = {arr = {buffer = 0x5555557d9a40, element_size = 104}, v > 0x5555557d9a40, v_modifiable = 0x5555557d9a40} > opts = {arr = {buffer = <optimized out>, element_size = 32}, v > <optimized out>, v_modifiable = <optimized out>} > pargc = 7 > c = -1 > li = 21845 > pool = 0x5555557d9778 > optbuf = 0x5555557d9790 > __FUNCTION__ = "doveadm_cmd_run_ver2" > #20 0x000055555558c9d7 in doveadm_cmd_try_run_ver2 (cmd_name=<optimized > out>, argc=4, argv=0x5555557e13a0, cctx=0x7fffffffe2a0) at doveadm-cmd.c:447 > cmd = <optimized out> > #21 0x000055555556fb1f in main (argc=4, argv=0x5555557e13a0) at > doveadm.c:376 > cctx = {cmd = 0x5555557e8208, argc = 7, argv = 0x5555557d9a78, > username = 0x5555557da298 "anmesse", cli = true, local_ip = {family = 0, u > = {ip6 = {__in6_u = { > __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, > 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, > remote_ip = {family = 0, u = {ip6 = { > __in6_u = {__u6_addr8 = '\000' <repeats 15 times>, > __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 > {s_addr = 0}}}, local_port = 0, remote_port = 0} > cmd_name = 0x5555557e13dc "index" > quick_init = false > c = <optimized out> > > > doveconf -n: > > # 2.2.24 (a82c823): /etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.14 (099a97c) > # OS: Linux 4.1.21-14-default x86_64 openSUSE 42.1 (x86_64) > auth_mechanisms = plain login > imap_id_log = * > mail_gid = vmail > mail_home = /srv/dovecot/%u > mail_location = maildir:~/maildir > mail_plugins = acl fts fts_lucene virtual zlib quota > mail_uid = vmail > mailbox_list_index = yes > 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 index ihave duplicate mime foreverypart extracttext > namespace { > list = children > location > maildir:/srv/dovecot/%%u/maildir:INDEX=~/maildir/shared/%%u:CONTROL=~/maildir/shared/%%u > prefix = shared.%%n. > separator = . > subscriptions = yes > type = shared > } > namespace inbox { > inbox = yes > location > mailbox Drafts { > special_use = \Drafts > } > mailbox Entw?rfe { > special_use = \Drafts > } > mailbox "Gesendete Objekte" { > special_use = \Sent > } > mailbox Sent { > special_use = \Sent > } > mailbox "Sent Items" { > special_use = \Sent > } > mailbox Spam { > auto = create > special_use = \Junk > } > mailbox Trash { > auto = subscribe > special_use = \Trash > } > prefix = INBOX. > separator = . > type = private > } > passdb { > args = /etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > plugin { > acl = vfile > acl_shared_dict = file:/srv/dovecot/shared-mailboxes.db > fts = lucene > fts_autoindex = yes > fts_lucene = whitespace_chars="@" > quota = dict:User quota::file:%h/dovecot-quota > quota_grace = 10%% > quota_rule = *:storage=100M > quota_rule2 = INBOX.Trash:storage=+10M > quota_status_nosuser = DUNNO > quota_status_overquota = 552 5.2.2 Mailbox is full / Mailbox ist voll > quota_status_success = DUNNO > sieve = file:~/sieve;active=~/.dovecot.sieve > zlib_save = gz > zlib_save_level = 6 > } > protocols = imap pop3 lmtp sieve > service auth { > unix_listener /var/spool/postfix/private/auth { > group = postfix > mode = 0660 > user = postfix > } > unix_listener auth-userdb { > mode = 0777 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0660 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > inet_listener sieve_deprecated { > port = 2000 > } > } > service quota-status { > client_limit = 1 > executable = quota-status -p postfix > inet_listener { > address = 127.0.0.1,::1 > port = 12340 > } > } > ssl_cert = < > ssl_dh_parameters_length = 2048 > ssl_key = < > ssl_options = no_compression > ssl_prefer_server_ciphers = yes > userdb { > driver = prefetch > } > userdb { > args = /etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > userdb { > args = username_format=%n /etc/dovecot/shared-mailboxes > default_fields = uid=600 gid=600 home=/srv/dovecot/%n > driver = passwd-file > } > protocol lmtp { > mail_plugins = acl fts fts_lucene virtual zlib quota sieve > } > protocol imap { > mail_max_userip_connections = 30 > mail_plugins = acl fts fts_lucene virtual zlib quota imap_acl imap_zlib > imap_quota > namespace inbox { > location > mailbox Spam { > autoexpunge = 90 days > } > mailbox Trash { > autoexpunge = 370 days > } > prefix > } > }Thank you for your report, we are looking into it. Aki
Thanks Aki, if you need any more information please let me know.> Thank you for your report, we are looking into it. > > Aki >
On 29 May 2016, at 10:56, Wolfgang Rosenauer <wrosenauer at gmail.com> wrote:> > Hi, > > I've just enabled FTS via Lucene on my Dovecot 2.2.24 installation but I > see the indexer crashing ?always?. > > This simple testcase with a very tiny testing mailbox exposes the issue > immediately: > > doveadm -v index -u anmesse INBOX > > Program received signal SIGSEGV, Segmentation fault. > rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, > vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) at > lucene-wrapper.cc:831Should be fixed by https://github.com/dovecot/core/commit/0f801c1bd3d684c219d7f3b1e75f8b85f66f7951
According to my logs it's indeed fixed: ds9 dovecot: indexer-worker(christiane): Indexed 1 messages in INBOX Thanks! On Wed, Jun 22, 2016 at 12:25 AM, Timo Sirainen <tss at iki.fi> wrote:> On 29 May 2016, at 10:56, Wolfgang Rosenauer <wrosenauer at gmail.com> wrote: > > > > Hi, > > > > I've just enabled FTS via Lucene on my Dovecot 2.2.24 installation but I > > see the indexer crashing ?always?. > > > > This simple testcase with a very tiny testing mailbox exposes the issue > > immediately: > > > > doveadm -v index -u anmesse INBOX > > > > Program received signal SIGSEGV, Segmentation fault. > > rescan_clear_unseen_mailbox (rescan_ctx=rescan_ctx at entry=0x0, > > vname=0x555555839820 "INBOX.Testfolder 2", hdr=hdr at entry=0x7fffffffdaf0) > at > > lucene-wrapper.cc:831 > > Should be fixed by > https://github.com/dovecot/core/commit/0f801c1bd3d684c219d7f3b1e75f8b85f66f7951 > >