[Dovecot] virtual plugin - segfault body search
Hello list,
During full text search in a virtal folder ( virtual plugin ) the imap crashes with segfault
Version: 1.2.2 OS: Ubuntu 8.04.3 LTS x86_64
Coredump:
GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"...
warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_autocreate_plugin.so...done. Loaded symbols for /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_autocreate_plugin.so Reading symbols from /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_fts_plugin.so...done. Loaded symbols for /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_fts_plugin.so Reading symbols from /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_virtual_plugin.so...done. Loaded symbols for /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib20_virtual_plugin.so Reading symbols from /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib21_fts_squat_plugin.so...done. Loaded symbols for /usr/pack/dovecot-1.2.2-mo/amd64-linux-ubuntu8.04/lib/dovecot/imap/lib21_fts_squat_plugin.so Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Core was generated by `imap'. Program terminated with signal 11, Segmentation fault. [New process 10317] #0 0x0000000000000000 in ?? () No symbol table info available. #1 0x00007faa60c55bc8 in fts_backend_get_all_last_uids (backend=0x12a0be0, pool=0x1925800, last_uids=0x18c5628) at fts-api.c:86 No locals. #2 0x00007faa60c57b73 in fts_build_init_virtual (fctx=0x18c5580) at fts-storage.c:416 vctx = (struct fts_search_virtual_context *) 0x18c5608 last_uids = (struct fts_backend_uid_map *) 0x7fff69c06db0 mailboxes = {arr = {buffer = 0x74e350, element_size = 8}, v = 0x74e350, v_modifiable = 0x74e350} boxes = (struct mailbox * const *) 0x74e388 orig_boxes = (struct fts_orig_mailboxes *) 0x1925860 orig_box = {name = 0x13d0678 "INBOX", ns = 0x75b320, box = 0x13d0388} i = 7 box_count = 7 last_uid_count = 5 ret = 8 #3 0x00007faa60c57d76 in fts_build_init (fctx=0x18c5580) at fts-storage.c:445 status = {messages = 182, recent = 0, unseen = 106, uidvalidity = 1248796777, uidnext = 190, first_unseen_seq = 0, highest_modseq = 0, keywords = 0x0, sync_delayed_expunges = 0, nonpermanent_modseqs = 0} ret = 0 #4 0x00007faa60c584fa in fts_try_build_init (ctx=0x1a5bad0, fctx=0x18c5580) at fts-storage.c:580 No locals. #5 0x00007faa60c58683 in fts_mailbox_search_init (t=0xea2830, args=0x1dbc518, sort_program=0x0) at fts-storage.c:620 ft = (struct fts_transaction_context *) 0x1d96ef0 fbox = (struct fts_mailbox *) 0x13e38b0 ctx = (struct mail_search_context *) 0x1a5bad0 fctx = (struct fts_search_context *) 0x18c5580 #6 0x00000000004892ff in mailbox_search_init (t=0xea2830, args=0x1dbc518, sort_program=0x0) at mail-storage.c:735 No locals. #7 0x000000000042e8f5 in imap_search_start (ctx=0x75c7e0, sargs=0x1dbc518, sort_program=0x0) at imap-search.c:546 cmd = (struct client_command_context *) 0x75c6d8 wanted_fields = 0 wanted_headers = (struct mailbox_header_lookup_ctx *) 0x0 #8 0x000000000042207f in cmd_search (cmd=0x75c6d8) at cmd-search.c:50 ctx = (struct imap_search_context *) 0x75c7e0 sargs = (struct mail_search_args *) 0x1dbc518 args = (const struct imap_arg *) 0x7617d0 charset = 0x4f7bbc "UTF-8" ret = 1 #9 0x0000000000426519 in client_command_input (cmd=0x75c6d8) at client.c:611 client = (struct client *) 0x75c280 command = (struct command *) 0x75c6d8 __PRETTY_FUNCTION__ = "client_command_input" #10 0x0000000000426756 in client_command_input (cmd=0x75c6d8) at client.c:660 client = (struct client *) 0x75c280 command = (struct command *) 0x75aa20 __PRETTY_FUNCTION__ = "client_command_input" #11 0x0000000000426889 in client_handle_next_command (client=0x75c280, remove_io_r=0x7fff69c0702e) at client.c:701 size = 29 #12 0x000000000042690c in client_handle_input (client=0x75c280) at client.c:713 _data_stack_cur_id = 3 ret = false remove_io = false handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #13 0x0000000000426a6d in client_input (client=0x75c280) at client.c:752 cmd = (struct client_command_context *) 0x757248 output = (struct ostream *) 0x75c558 bytes = 29 __PRETTY_FUNCTION__ = "client_input" #14 0x00000000004e2f52 in io_loop_handler_run (ioloop=0x756580) at ioloop-epoll.c:208 #15 0x00000000004e206e in io_loop_run (ioloop=0x756580) at ioloop.c:338 No locals. #16 0x0000000000431c63 in main (argc=1, argv=0x7fff69c07228, envp=0x7fff69c07238) at main.c:327
-- Manuel
Hi List
I wounder way nobody is reacting on the crash issue? is there any information missing?
thanks Manuel
On Tue, 2009-08-04 at 13:07 -0400, Timo Sirainen wrote:
On Tue, 2009-08-04 at 11:37 +0200, Manuel Oetiker wrote:
Hi List
I wounder way nobody is reacting on the crash issue? is there any information missing?
It's caused by the fts plugin, which is kind of annoying to touch :) I'll try to get around to looking at the crash soon..
Well, it's simply missing code. fts_squat and virtual don't work together right not. There are two ways to fix this:
a) Build separate squat indexes for the virtual mailbox
b) Use existing squat indexes from the backend mailboxes.
b) would probably be better, but also requires more work. So for now I just implemented a): http://hg.dovecot.org/dovecot-1.2/rev/96b764649cbb
participants (3)
-
Manuel Oetiker
-
Manuel Oetiker
-
Timo Sirainen