FTS lucene indexer-worker segfaulting

Florian Pritz bluewind at xinu.at
Thu Jul 24 08:53:08 UTC 2014


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 at 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>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20140724/3f266edb/attachment.sig>


More information about the dovecot mailing list