[Dovecot] imap crash with fts squat enabled.
Hi Timo,
Here is the backtrace for your reference. I have already applied dovecot-97702c9c4111 changes to my 1.1 beta10 code base.
I am running dovecot on FC7, gcc 4.1.2, mailbox is on NFS. Whenever I did
UID SEARCH body "xxxx"
imap crashes.
Program terminated with signal 6, Aborted. #0 0x00110402 in __kernel_vsyscall () (gdb) bt full #0 0x00110402 in __kernel_vsyscall () No symbol table info available. #1 0x00790fa0 in raise () from /lib/libc.so.6 No symbol table info available. #2 0x007928b1 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x080ca029 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x80ebb5c "Leaked a t_pop() call in timeout handler %p", args=0xbf8538b4 "\005\b\226\225~") at failures.c:424 backtrace = 0xa0e1168 "imap [0x80ca020] -> imap [0x80c9f2c] -> imap(io_loop_handle_timeouts+0x1b7) [0x80d0bc7] -> imap(io_loop_handler_run+0x69) [0x80d1309] -> imap(io_loop_run+0x28) [0x80d09f8] -> imap(main+0x4ac) [0x8066c"... #4 0x080c9f2c in i_panic (format=0x80ebb5c "Leaked a t_pop() call in timeout handler %p") at failures.c:197 args = 0xbf8538b4 "\005\b\226\225~" #5 0x080d0bc7 in io_loop_handle_timeouts (ioloop=0xa0e99b0, update_run_now=true) at ioloop.c:268 diff = <value optimized out> called_timeouts = (struct timeout *) 0x0 tv = {tv_sec = 8579595, tv_usec = 323093} t_id = 2 #6 0x080d1309 in io_loop_handler_run (ioloop=0xa0e99b0) at ioloop-poll.c:159 ctx = (struct ioloop_handler_context *) 0xa0e99f0 pollfd = <value optimized out> tv = {tv_sec = 0, tv_usec = 0} io = <value optimized out> t_id = <value optimized out> msecs = <value optimized out> ret = 0 call = <value optimized out> #7 0x080d09f8 in io_loop_run (ioloop=0xa0e99b0) at ioloop.c:305 No locals. #8 0x08066c2c in main (argc=Cannot access memory at address 0x5dd2 ) at main.c:293
--
And dovecot.conf:
# 1.1.beta10: /usr/local/etc/dovecot.conf log_path: /var/log/dovecot-1.1.log info_log_path: /var/log/dovecot-1.1.log protocols: imap ssl_disable: yes login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login login_user: nobody verbose_proctitle: yes mail_location: maildir:~/Maildir mail_debug: yes mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes mail_drop_priv_before_exec: yes mail_plugins: fts fts_squat mail_log_max_lines_per_sec: 100 auth default: user: mdrop username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@: username_translation: @: verbose: yes debug: yes debug_passwords: yes passdb: driver: sql args: /usr/local/etc/dovecot-sql.conf userdb: driver: sql args: /usr/local/etc/dovecot-sql.conf plugin: fts: squat
On Thu, 2007-12-06 at 12:13 +0800, Joe Wong wrote:
Here is the backtrace for your reference. I have already applied dovecot-97702c9c4111 changes to my 1.1 beta10 code base.
I am running dovecot on FC7, gcc 4.1.2, mailbox is on NFS. Whenever I did
UID SEARCH body "xxxx"
imap crashes. .. #4 0x080c9f2c in i_panic (format=0x80ebb5c "Leaked a t_pop() call in timeout handler %p") at failures.c:197
Try http://dovecot.org/nightly/dovecot-latest.tar.gz. I've rewritten t_push/t_pop handling there so that this should never happen anymore.
Hi Timo,
Just tested with the latest build, no crash but also no fts result. I found the following in the log:
dovecot: Dec 07 10:45:06 Info: IMAP(joewong99:joew.outblaze.com): maildir++: root=/mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir, index=, control=, inbox=/mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir dovecot: Dec 07 10:45:12 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:22 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:27 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:39 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:44 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:49 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:53 Info: IMAP(joewong99:joew.outblaze.com): Disconnected: Logged out bytes=159/3278
What else do I missed? Mailbox and indexes are on NFS, is this the cause of the problem?
Regards,
- Joe
On Thu, 6 Dec 2007, Timo Sirainen wrote:
On Thu, 2007-12-06 at 12:13 +0800, Joe Wong wrote:
Here is the backtrace for your reference. I have already applied dovecot-97702c9c4111 changes to my 1.1 beta10 code base.
I am running dovecot on FC7, gcc 4.1.2, mailbox is on NFS. Whenever I did
UID SEARCH body "xxxx"
imap crashes. .. #4 0x080c9f2c in i_panic (format=0x80ebb5c "Leaked a t_pop() call in timeout handler %p") at failures.c:197
Try http://dovecot.org/nightly/dovecot-latest.tar.gz. I've rewritten t_push/t_pop handling there so that this should never happen anymore.
--
On 7.12.2007, at 4.52, Joe Wong wrote:
Just tested with the latest build, no crash but also no fts result. I found the following in the log: .. Corrupted squat uidlist file /mailfs/4/22/3/joewong99:joew.outblaze.com@joew_outblaze_com/ Maildir/dovecot.index.search.uids: Broken uidlists dovecot: Dec 07 10:45:22 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file .. What else do I missed? Mailbox and indexes are on NFS, is this the
cause of the problem?
What OS do you use? Squat currently uses mmap(), which doesn't work
very well if multiple servers are accessing the same squat indexes.
But if there's just one server, I think it should have worked.
On Fri, 2007-12-07 at 11:05 +0200, Timo Sirainen wrote:
dovecot: Dec 07 10:45:22 Error: IMAP(joewong99:joew.outblaze.com): Corrupted squat uidlist file .. What else do I missed? Mailbox and indexes are on NFS, is this the
cause of the problem?What OS do you use? Squat currently uses mmap(), which doesn't work
very well if multiple servers are accessing the same squat indexes.
But if there's just one server, I think it should have worked.
http://hg.dovecot.org/dovecot/rev/66b3e894041b adds support for mmap_disable=yes
participants (2)
-
Joe Wong
-
Timo Sirainen