Hi,
I've just set up fts-lucene and when I run searches on my inbox or when
I run the indexer (`doveadm index INBOX`) I get the following segfault.
I've run it multiple times and noticed that the data value is different
each time so I guess it doesn't always crash at the same point.
I'm running dovecot 2.2.13-1 with clucene 2.3.3.4-8 on Arch Linux.
If you need any more information I'll be happy to help.
config:
> # 2.2.13: /etc/dovecot/dovecot.conf
> # OS: Linux 3.15.2-1-ARCH i686
> mail_location = mdbox:~/.mdbox
> mail_plugins = " fts fts_lucene"
> namespace {
> hidden = no
> inbox = yes
> location =
> prefix = INBOX.
> separator = .
> type = private
> }
> passdb {
> driver = pam
> }
> plugin {
> fts = lucene
> fts_autoindex = yes
> fts_lucene = whitespace_chars=@.
> }
> protocols = imap
> service auth {
> user = root
> }
> ssl_cert = </etc/ssl/my-certs/server.pem
> ssl_key = </etc/ssl/private/server.key
> userdb {
> driver = passwd
> }
> protocol imap {
> imap_client_workarounds = tb-extra-mailbox-sep
> }
> protocol lda {
> postmaster_address = postmaster(a)server-speed.net
> }
syslog:
> Jul 24 10:27:21 mistral dovecot: indexer-worker(flo): Warning: Growing data stack with: 32768
> Jul 24 10:27:26 mistral kernel: [1814196.532882] indexer-worker[22785] segfault at 9180000 ip b745d860 sp bfad86cc error 4 in libc-2.19.so[b73ba000+1bb000]
> Jul 24 10:27:27 mistral dovecot: indexer: Error: Indexer worker disconnected, discarding 1 requests for flo
> Jul 24 10:27:27 mistral dovecot: indexer-worker(flo): Fatal: master: service(indexer-worker): child 22785 killed with signal 11 (core dumped)
> Jul 24 10:27:27 mistral dovecot: imap(flo): Error: indexer failed to index mailbox INBOX
backtrace:
> #0 0xb745d860 in __wcslen_sse2 () from /usr/lib/libc.so.6
> No symbol table info available.
> #1 0xb744e88b in wcsdup () from /usr/lib/libc.so.6
> No symbol table info available.
> #2 0xb728cff0 in lucene::document::Field::Field(wchar_t const*, wchar_t const*, int, bool) ()
> from /usr/lib/libclucene-core.so.1
> No symbol table info available.
> #3 0xb73aa5d8 in lucene_index_build_more (index=0x8b24130, uid=4403, part_idx=0,
> data=0x8b38f08 "1: kernel: i7core_edac 0000:00:14.0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing "..., size=8188,
> hdr_name=0x0) at lucene-wrapper.cc:582
> namesize = <optimized out>
> dest = 0x915f5d0 L"1: kernel: i7core_edac 0000:00:14 0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c 0: restoring config space at offset 0x1 (was 0x100000, writing "...
> dest_free = 0x915f5d0 L"1: kernel: i7core_edac 0000:00:14 0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c 0: restoring config space at offset 0x1 (was 0x100000, writing "...
> id = L"\x8cb0900\000\000\000\x8ebef98\x8c21978\000 \x8c93a10\xb74e2df5\xbfad8788\xbfad87d4\x8cb0938\xbfad88e8\xbfad88e4\x8925f300\x8cb0938\xbfad88e8\xb7624a4d\xb7684000 \x8b38f08\x8fbb488"
> datasize = <optimized out>
> #4 0xb73a8f47 in fts_backend_lucene_update_build_more (_ctx=0x8b3c578,
> data=0x8b38f08 "1: kernel: i7core_edac 0000:00:14.0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing "..., size=8188)
> at fts-backend-lucene.c:415
> _data_stack_cur_id = 6
> ctx = 0x8b3c578
> backend = 0x8b23850
> ret = <optimized out>
> #5 0xb7586cda in fts_backend_update_build_more (ctx=0x8b3c578,
> data=0x8b38f08 "1: kernel: i7core_edac 0000:00:14.0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing "..., size=8188)
> at fts-api.c:193
> __FUNCTION__ = "fts_backend_update_build_more"
> #6 0xb7587814 in fts_build_body_block (ctx=0xbfad88fc, block=0xbfad88ec, last=false) at fts-build-mail.c:236
> i = 8188
> __FUNCTION__ = "fts_build_body_block"
> #7 0xb7587dfc in fts_build_mail_real (mail=<optimized out>, update_ctx=<optimized out>) at fts-build-mail.c:352
> ctx = {mail = 0x8b32ed0, update_ctx = 0x8b3c578, content_type = 0x0, content_disposition = 0x0,
> body_parser = 0x8b40f20, word_buf = 0x0}
> parser = 0x8c21948
> decoder = 0x8b51410
> raw_block = {part = 0x8b13668, hdr = 0x0,
> data = 0x8b38f08 "1: kernel: i7core_edac 0000:00:14.0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing "..., size = 8192}
> block = {part = 0x8b13668, hdr = 0x0,
> data = 0x8b38f08 "1: kernel: i7core_edac 0000:00:14.0: restoring config space at offset 0x3 (was 0x800000, writing 0x800010)\n 1: kernel: pci 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing "..., size = 8192}
> ret = -1079146260
> input = 0x8cb0938
> parts = 0x1133
> #8 fts_build_mail (update_ctx=0x8b3c578, mail=0x8b32ed0) at fts-build-mail.c:386
> _data_stack_cur_id = 5
> #9 0xb758d8cc in fts_mail_index (_mail=<optimized out>) at fts-storage.c:451
> ft = 0x8b2ef98
> #10 fts_mail_precache (_mail=0x8b32ed0) at fts-storage.c:468
> _data_stack_cur_id = 4
> fmail = 0x8b2ef98
> ft = 0x8b28920
> #11 0xb76f3e5b in mail_precache (mail=0x8b32ed0) at mail.c:350
> p = 0x8b32ed0
> #12 0x08049caf in index_mailbox_precache (conn=<optimized out>, box=<optimized out>) at master-connection.c:86
> percentage_str = "8\n\000\b"
> storage = 0x9180000
> status = {messages = 35744, recent = 0, unseen = 0, uidvalidity = 1240057599, uidnext = 45338,
> first_unseen_seq = 0, first_recent_uid = 45338, last_cached_seq = 2, 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}
> ctx = 0x8b32d38
> seq = 3275
> trans = 0x8b30128
> search_args = 0x0
> mail = 0x8b32ed0
> metadata = {guid = '\000' <repeats 15 times>, virtual_size = 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),
> backend_ns_prefix = 0x0, backend_ns_type = (unknown: 0)}
> counter = 3275
> max = 35742
> #13 index_mailbox (what=<optimized out>, max_recent_msgs=<optimized out>, mailbox=<optimized out>, user=<optimized out>,
> conn=<optimized out>) at master-connection.c:172
> box = 0x8b2baf0
> status = {messages = 11, recent = 145850608, unseen = 2050, uidvalidity = 3076213424, uidnext = 0,
> first_unseen_seq = 3076213430, first_recent_uid = 3077062656, last_cached_seq = 3076215829,
> highest_modseq = 7510788772, highest_pvt_modseq = 3215821508, keywords = 0xb77ed7a0,
> permanent_flags = 3215821476, permanent_keywords = 0, allow_new_keywords = 0, nonpermanent_modseqs = 0,
> no_modseq_tracking = 1, have_guids = 0, have_save_guids = 1, have_only_guid128 = 1}
> errstr = 0x9180000 <error: Cannot access memory at address 0x9180000>
> ns = 0x9180000
> path = 0x8b12428 "/home/flo/.mdbox/mailboxes/INBOX/dbox-Mails"
> error = 35744
> sync_flags = (unknown: 152567808)
> #14 master_connection_input_line (line=<optimized out>, conn=<optimized out>) at master-connection.c:208
> str = 0x9180000 <error: Cannot access memory at address 0x9180000>
> max_recent_msgs = 0
> args = 0xccb
> input = {module = 0x804a2d7 "mail", service = 0x804a2c8 "indexer-worker", username = 0x8b11090 "flo",
> session_id = 0x0, 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,
> userdb_fields = 0x0, flags_override_add = (unknown: 0), flags_override_remove = (unknown: 0),
> no_userdb_lookup = 0}
> service_user = 0x8b1b508
> user = 0x8b246d8
> error = 0x25 <error: Cannot access memory at address 0x25>
> #15 master_connection_input (conn=0x8b19250) at master-connection.c:245
> _data_stack_cur_id = 3
> line = 0x8 <error: Cannot access memory at address 0x8>
> line = 0x9180000 <error: Cannot access memory at address 0x9180000>
> #16 0xb760e2c3 in io_loop_call_io (io=0x8b19270) at ioloop.c:441
> ioloop = 0x8b154b8
> t_id = 2
> __FUNCTION__ = "io_loop_call_io"
> #17 0xb760f4ae in io_loop_handler_run_internal (ioloop=0x8b154b8) at ioloop-epoll.c:220
> ctx = 0x8b18908
> list = 0x8b192a8
> io = <optimized out>
> tv = {tv_sec = 2147483, tv_usec = 0}
> events_count = <optimized out>
> msecs = <optimized out>
> ret = 1
> i = <optimized out>
> j = 0
> call = <optimized out>
> __FUNCTION__ = "io_loop_handler_run_internal"
> #18 0xb760e34a in io_loop_handler_run (ioloop=0x8b154b8) at ioloop.c:488
> No locals.
> #19 0xb760e3e9 in io_loop_run (ioloop=0x8b154b8) at ioloop.c:465
> __FUNCTION__ = "io_loop_run"
> #20 0xb75b49b5 in master_service_run (service=0x8b153e0, callback=0x80498f0 <client_connected>) at master-service.c:566
> No locals.
> #21 0x08049757 in main (argc=1, argv=0xbfad8d94) at indexer-worker.c:78
> storage_service_flags = <optimized out>
> c = <optimized out>