Hi,
Am 01.08.2012 19:24, schrieb Timo Sirainen:
On 1.8.2012, at 9.09, Matthias Rieber wrote:
I've upgraded from dovecot 2.0 to 2.1. When I perform a header search in a virtual folder dovecot crashes.
Here's the stacktrace:
Looks like fts-squat isn't currently compatible with virtual folders. I'd suggest moving to fts-lucene. But I guess this also fixes it: http://hg.dovecot.org/dovecot-2.1/rev/8d59874e02ad
here are the crashes with fts_solr:
Configuration
# 2.1.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.26-2-vserver-amd64 x86_64 Debian 5.0.10 auth_master_user_separator = * disable_plaintext_auth = no listen = * mail_location = maildir:~/Maildir mail_plugins = virtual fts fts_solr zlib acl 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 namespace { hidden = yes inbox = no list = no location = prefix = mail separator = type = private } namespace { hidden = no inbox = yes location = prefix = separator = . type = private } namespace { hidden = yes inbox = no list = no location = prefix = INBOX. separator = . type = private } namespace { location = maildir:/home/sharedbox/Maildir prefix = shared. separator = . type = public } namespace { list = yes location = maildir:/home/%%n/Maildir prefix = common.%%u. separator = . subscriptions = no type = shared } namespace { hidden = no list = yes location = virtual:~/Maildir/virtual prefix = virtual. separator = . subscriptions = yes type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } passdb { args = /etc/dovecot/passwd.masterusers driver = passwd-file master = yes } plugin { acl = vfile:/etc/dovecot/acls:cache_secs=7200 acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes.db fts = solr fts_solr = url=http://localhost:8983/solr/ sieve_dir = ~/Maildir/sieve } protocols = imap pop3 sieve service imap { executable = imap vsz_limit = 1 G } service managesieve-login { inet_listener sieve { port = 4190 } } ssl_cert = </etc/dovecot/imap.scheff32.de.pem ssl_key = </etc/dovecot/imap.scheff32.de.key userdb { driver = passwd override_fields = system_groups_user=%u blocking=yes } protocol lda { mail_plugins = fts fts_solr zlib acl virtual sieve } protocol imap { mail_max_userip_connections = 32 mail_plugins = virtual fts fts_solr zlib acl imap_acl imap_zlib } protocol sieve { mail_plugins = virtual fts fts_solr zlib acl sieve }
Crash 1
What I did:
a LOGIN matthias XXXX a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE SEARCH=FUZZY COMPRESS=DEFLATE ACL RIGHTS=texk] Logged in a SELECT virtual.all
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk LearnedAsNonJunk $has_cal $MDNSent 2TDB 3TBD $Forwarded $label1 $DONE $WEB $Label4 $MAILING $PBS $WAA $CHRISTOPH receipt-handled $PART foo redirected Junk LearnedAsJunk 1done test)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk LearnedAsNonJunk $has_cal $MDNSent 2TDB 3TBD $Forwarded $label1 $DONE $WEB $Label4 $MAILING $PBS $WAA $CHRISTOPH receipt-handled $PART foo redirected Junk LearnedAsJunk 1done test \*)] Flags permitted.
- 365142 EXISTS
- 1 RECENT
- OK [UNSEEN 1270] First unseen.
- OK [UIDVALIDITY 1312063141] UIDs valid
- OK [UIDNEXT 799982] Predicted next UID
- OK [HIGHESTMODSEQ 249937] Highest a OK [READ-WRITE] Select completed. a SEARCH HEADER FROM foobar (server disconects)
Log:
Aug 1 21:04:01 smtp dovecot: imap-login: Login: user=<matthias>, method=PLAIN, rip=10.0.1.3, lip=10.0.1.3, mpid=18561, TLS, session=<O8w+9TjGCAAKAAED> Aug 1 21:05:37 smtp dovecot: imap(matthias): Disconnected: Logged out in=689 out=239091 Aug 1 21:05:40 smtp dovecot: imap(matthias): Error: fts_solr: Lookup failed: 413 FULL head Aug 1 21:05:45 smtp dovecot: imap(matthias): Panic: Leaked t_pop() call Aug 1 21:05:45 smtp dovecot: imap(matthias): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0 [0xf7636d71] -> /usr/local/lib/dovecot/libdovecot.so.0 [0xf7636def] -> /usr/local/lib/dovecot/libdovecot.so.0(i_error+0) [0xf76370c4] -> /usr/local/lib/dov] Aug 1 21:05:45 smtp dovecot: imap(matthias): Fatal: master: service(imap): child 18507 killed with signal 6 (core dumped)
Backtrace:
Core was generated by `dovecot/imap'. Program terminated with signal 6, Aborted. [New process 18507] #0 0xf74d6556 in raise () from /lib/libc.so.6 #0 0xf74d6556 in raise () from /lib/libc.so.6 No symbol table info available. #1 0xf74d7d78 in abort () from /lib/libc.so.6 No symbol table info available. #2 0xf7636d85 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:191 backtrace = 0x961f2b0 "/usr/local/lib/dovecot/libdovecot.so.0 [0xf7636d71] -> /usr/local/lib/dovecot/libdovecot.so.0 [0xf7636def] -> /usr/local/lib/dovecot/libdovecot.so.0(i_error+0) [0xf76370c4] -> /usr/local/lib/dovecot/l"... #3 0xf7636def in i_internal_fatal_handler (ctx=0xffb97268, format=0xf76620b1 "Leaked t_pop() call", args=0xffb97284 "\024") at failures.c:649 status = 0 #4 0xf76370c4 in i_panic (format=0xf76620b1 "Leaked t_pop() call") at failures.c:263 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0} #5 0xf76348e1 in t_pop_check (id=0xffb972c8) at data-stack.c:271 No locals. #6 0x08056c6a in client_handle_input (client=0x9670768) at imap-client.c:787 _data_stack_cur_id = 3 ret = true remove_io = <value optimized out> handled_commands = false __FUNCTION__ = "client_handle_input" #7 0x0805765f in client_input (client=0x9670768) at imap-client.c:825 cmd = <value optimized out> output = (struct ostream *) 0x9671094 bytes = <value optimized out> __FUNCTION__ = "client_input" #8 0xf7644f12 in io_loop_call_io (io=0x96710f8) at ioloop.c:379 ioloop = (struct ioloop *) 0x96273f8 t_id = 2 #9 0xf76460d0 in io_loop_handler_run (ioloop=0x96273f8) at ioloop-epoll.c:213 ctx = (struct ioloop_handler_context *) 0x96275e0 event = (const struct epoll_event *) 0x9627620 list = (struct io_list *) 0x9671128 io = (struct io_file *) 0x6 tv = {tv_sec = 1799, tv_usec = 998952} msecs = <value optimized out> ret = 1 i = 0 j = 0 call = false #10 0xf7644ea0 in io_loop_run (ioloop=0x96273f8) at ioloop.c:398 No locals. #11 0xf762d87d in master_service_run (service=0x9627328, callback=0x80607c0 <client_connected>) at master-service.c:543 No locals. #12 0x08060684 in main (argc=1329791025, argv=0x4749464e) at main.c:389 login_set = {auth_socket_path = 0x961f068 "/usr/local/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x8060960 <login_client_connected>, failure_callback = 0x8060900 <login_client_failed>} service_flags = <value optimized out> storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT username = 0x0 c = <value optimized out> set_roots = {0x8063340, 0x0}
Crash 2
What I did:
- OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready. a LOGIN matthias XXXX a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE SEARCH=FUZZY COMPRESS=DEFLATE ACL RIGHTS=texk] Logged in a SELECT virtual.spam.disagree.spamassassin
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
- 198 EXISTS
- 6 RECENT
- OK [UNSEEN 1] First unseen.
- OK [UIDVALIDITY 1343840294] UIDs valid
- OK [UIDNEXT 417] Predicted next UID
- OK [NOMODSEQ] No permanent modsequences a OK [READ-WRITE] Select completed. a SEARCH OR HEADER FROM foobar HEADER SUBJECT barfoos (server disconnects)
Log:
Aug 1 21:10:01 smtp dovecot: imap-login: Login: user=<matthias>, method=PLAIN, rip=10.0.1.3, lip=10.0.1.3, mpid=20709, TLS, session=<JP+1CjnGdgAKAAED> Aug 1 21:10:15 smtp dovecot: imap(matthias): Fatal: master: service(imap): child 20642 killed with signal 11 (core dumped)
Backtrace:
Core was generated by `dovecot/imap'. Program terminated with signal 11, Segmentation fault. [New process 20642] #0 fts_search_lookup_level (fctx=0x897cfc8, args=0x8995590, and_args=true) at fts-search.c:125 125 for (i = 0; result->box_results[i].box != NULL; i++) { #0 fts_search_lookup_level (fctx=0x897cfc8, args=0x8995590, and_args=true) at fts-search.c:125 _data_stack_cur_id = 4 #1 0xf734447b in fts_search_lookup (fctx=0x897cfc8) at fts-search.c:350 last_uid = 409 seq1 = 192 seq2 = 198 __FUNCTION__ = "fts_search_lookup" #2 0xf7345dc7 in fts_mailbox_search_init (t=0x897d910, args=0x8995518, sort_program=0x0, wanted_fields=0, wanted_headers=0x0) at fts-storage.c:199 flist = (struct fts_mailbox_list *) 0x8949898 ctx = (struct mail_search_context *) 0x8953068 fctx = (struct fts_search_context *) 0x897cfc8 #3 0xf776cf47 in mailbox_search_init (t=0x897d910, args=0x8995518, sort_program=0x0, wanted_fields=0, wanted_headers=0x0) at mail-storage.c:1402 No locals. #4 0x0805d741 in imap_search_start (ctx=0x894c238, sargs=0x8995518, sort_program=0x0) at imap-search.c:550 cmd = (struct client_command_context *) 0x894c180 #5 0x08053ac6 in cmd_search (cmd=0x894c180) at cmd-search.c:45 ctx = <value optimized out> sargs = (struct mail_search_args *) 0x8995518 args = (const struct imap_arg *) 0x894ea88 charset = 0x8061738 "UTF-8" ret = <value optimized out> #6 0x08057b03 in command_exec (cmd=0x894c180) at imap-commands.c:148 hook = (const struct command_hook *) 0x8903260 ret = false #7 0x08056a3f in client_command_input (cmd=0x894c180) at imap-client.c:682 client = (struct client *) 0x894b768 command = <value optimized out> __FUNCTION__ = "client_command_input" #8 0x08056ae1 in client_command_input (cmd=0x894c180) at imap-client.c:733 client = (struct client *) 0x894b768 command = (struct command *) 0x0 __FUNCTION__ = "client_command_input" #9 0x08056c5d in client_handle_input (client=0x894b768) at imap-client.c:774 _data_stack_cur_id = 3 ret = false remove_io = <value optimized out> handled_commands = false __FUNCTION__ = "client_handle_input" #10 0x0805765f in client_input (client=0x894b768) at imap-client.c:825 cmd = <value optimized out> output = (struct ostream *) 0x894c094 bytes = <value optimized out> __FUNCTION__ = "client_input" #11 0xf76c7f12 in io_loop_call_io (io=0x894c0f8) at ioloop.c:379 ioloop = (struct ioloop *) 0x89023f8 t_id = 2 #12 0xf76c90d0 in io_loop_handler_run (ioloop=0x89023f8) at ioloop-epoll.c:213 ctx = (struct ioloop_handler_context *) 0x89025e0 event = (const struct epoll_event *) 0x8902620 list = (struct io_list *) 0x894c128 io = (struct io_file *) 0x0 tv = {tv_sec = 1789, tv_usec = 618880} msecs = <value optimized out> ret = 1 i = 0 j = 0 call = 16 #13 0xf76c7ea0 in io_loop_run (ioloop=0x89023f8) at ioloop.c:398 No locals. #14 0xf76b087d in master_service_run (service=0x8902328, callback=0x80607c0 <client_connected>) at master-service.c:543 No locals. #15 0x08060684 in main (argc=1329791025, argv=0x4749464e) at main.c:389 login_set = {auth_socket_path = 0x88fa068 "/usr/local/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x8060960 <login_client_connected>, failure_callback = 0x8060900 <login_client_failed>} service_flags = <value optimized out> storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT username = 0x0 c = <value optimized out> set_roots = {0x8063340, 0x0}
Regards, Matthias