[Dovecot] Dovecot 2.0beta3: Crash with mail_log plugin enabled
Latest from Mercurial. Dovecot crashes with 'mail_log' and 'notify' plugins enabled when deleting a message:
[08:22] root spectre:~# gdb /usr/lib/dovecot/imap /tmp/core 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 /usr/lib/dovecot/libdovecot-storage.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot-storage.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /usr/lib/dovecot/libdovecot.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot.so.0 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/lib/dovecot/modules/lib01_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib01_acl_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib01_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib02_imap_acl_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib10_quota_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib10_quota_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib10_quota_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib11_imap_quota_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib15_notify_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib15_notify_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib15_notify_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib20_mail_log_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib20_mail_log_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib20_mail_log_plugin.so Reading symbols from /lib/libgcc_s.so.1...done. Loaded symbols for /lib/libgcc_s.so.1 Core was generated by `dovecot/imap'. Program terminated with signal 6, Aborted. [New process 2151] #0 0x00007f5c79480ed5 in raise () from /lib/libc.so.6 #0 0x00007f5c79480ed5 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007f5c794823f3 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007f5c79be62c5 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:164 backtrace = 0x61f660 "/usr/lib/dovecot/libdovecot.so.0 [0x7f5c79be62b2] -> /usr/lib/dovecot/libdovecot.so.0 [0x7f5c79be631a] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f5c79be66c3] -> /usr/lib/dovecot/libdovecot-st"... #3 0x00007f5c79be631a in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=<value optimized out>, args=<value optimized out>) at failures.c:592 No locals. #4 0x00007f5c79be66c3 in i_panic (format=<value optimized out>) at failures.c:230 args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffffffd370, reg_save_area = 0x7fffffffd2b0}} #5 0x00007f5c79e72748 in view_lookup_uid (view=0x6614c0, seq=0, uid_r=0x7fffffffd39c) at mail-index-view.c:210 __PRETTY_FUNCTION__ = "view_lookup_uid" #6 0x00007f5c79e589c6 in mail_cache_decision_state_update (view=0x661800, seq=2151, field=12) at mail-cache-decisions.c:82 cache = (struct mail_cache *) 0x65e790 hdr = <value optimized out> uid = <value optimized out> __PRETTY_FUNCTION__ = "mail_cache_decision_state_update" #7 0x00007f5c79e5a4b0 in mail_cache_lookup_headers (view=0x661800, dest=0x67be28, seq=0, field_idxs=0x7fffffffd56c, fields_count=1) at mail-cache-lookup.c:484 _data_stack_cur_id = 5 ret = <value optimized out> #8 0x00007f5c79e88d22 in index_mail_get_raw_headers (mail=0x67b618, field=0x7f5c78608dc7 "Message-ID", value_r=0x7fffffffd5c8) at index-mail-headers.c:614 headers = {0x67b618 "\230?e", 0x7f5c79bfda98 "H\201??"} value = <value optimized out> headers_ctx = <value optimized out> data = <value optimized out> field_idx = 12 dest = (string_t *) 0x67be28 i = <value optimized out> len = <value optimized out> ret = <value optimized out> header_values = {arr = {buffer = 0x661ec8, element_size = 6692576}, v = 0x661ec8, v_modifiable = 0x661ec8} __PRETTY_FUNCTION__ = "index_mail_get_raw_headers" #9 0x00007f5c79e892bf in index_mail_get_first_header (_mail=0x67b618, field=0x7f5c78608dc7 "Message-ID", decode_to_utf8=false, value_r=0x7fffffffd620) at index-mail-headers.c:771 list = (const char * const *) 0x80 ret = 8 i = 0 #10 0x00007f5c786085cc in mail_log_append_mail_header (str=0x61f4d8, mail=0x867, name=0x7f5c78608dd2 "msgid", header=0xffffffffffffffff
) at mail-log-plugin.c:174 value = 0x8 #11 0x00007f5c786087be in mail_log_append_mail_message (ctx=0x661ec8, mail=0x67b618, event=MAIL_LOG_EVENT_SAVE, desc=0x61f4b0 "copy from INBOX") at mail-log-plugin.c:219 _data_stack_cur_id = 4 #12 0x00007f5c7880ba57 in notify_contexts_mail_copy (src=0x6636f8, dst=0x67b618) at notify-plugin.c:69 ctx = (struct notify_context *) 0x642310 mail_txn = (struct notify_mail_txn *) 0x0 #13 0x00007f5c7880c1e3 in notify_copy (ctx=0x667ed0, mail=0x6636f8) at notify-storage.c:113 ret = <value optimized out> #14 0x00007f5c79e4e29a in mailbox_copy (_ctx=0x7fffffffd7a0, mail=0x6636f8) at mail-storage.c:1330 ctx = (struct mail_save_context *) 0x667ed0 box = (struct mailbox *) 0x65cc98 keywords = (struct mail_keywords *) 0x67b300 ret = <value optimized out> #15 0x0000000000409631 in cmd_copy (cmd=0x650f38) at cmd-copy.c:66 client = (struct client *) 0x6507d8 dest_ns = <value optimized out> dest_storage = <value optimized out> destbox = (struct mailbox *) 0x65cc98 t = (struct mailbox_transaction_context *) 0x661080 search_args = (struct mail_search_args *) 0x65bc88 messageset = 0x652888 "4891" mailbox = 0x652890 "Trash" src_uidset = <value optimized out> sync_flags = <value optimized out> imap_flags = <value optimized out> changes = {pool = 0x0, uid_validity = 9, saved_uids = {arr = {buffer = 0x7f5c795563a0, element_size = 0}, v = 0x7f5c795563a0, v_modifiable = 0x7f5c795563a0}, ignored_uid_changes = 6418664, ignored_modseq_changes = 0} copy_count = 1 msg = <value optimized out> ret = 1 __PRETTY_FUNCTION__ = "cmd_copy" #16 0x000000000040f9dc in client_command_input (cmd=0x650f38) at imap-client.c:647 client = (struct client *) 0x6507d8 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #17 0x000000000040fa8d in client_command_input (cmd=0x650f38) at imap-client.c:697 client = (struct client *) 0x6507d8 command = (struct command *) 0x6 __PRETTY_FUNCTION__ = "client_command_input" #18 0x000000000040fc05 in client_handle_input (client=0x6507d8) at imap-client.c:738 _data_stack_cur_id = 3 ret = 25 remove_io = <value optimized out> handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #19 0x0000000000410642 in client_input (client=0x6507d8) at imap-client.c:789 cmd = <value optimized out> output = (struct ostream *) 0x650db8 bytes = <value optimized out> __PRETTY_FUNCTION__ = "client_input" #20 0x00007f5c79bf0feb in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:208 ctx = (struct ioloop_handler_context *) 0x6277d0 event = (const struct epoll_event *) 0x627840 list = (struct io_list *) 0x650e90 io = (struct io_file *) 0x65b820 tv = {tv_sec = 1799, tv_usec = 999883} t_id = 2 msecs = <value optimized out> ret = 1 call = <value optimized out> #21 0x00007f5c79bf0168 in io_loop_run (ioloop=0x6275c0) at ioloop.c:350 No locals. #22 0x00007f5c79be0143 in master_service_run (service=0x627490, callback=0x867) at master-service.c:478 No locals. #23 0x0000000000418681 in main (argc=1, argv=0x627370) at main.c:313 service_flags = <value optimized out> storage_service_flags = <value optimized out> postlogin_socket_path = 0x0 set_roots = {0x41b980, 0x0}On Sun, 2010-03-14 at 08:26 +0100, Thomas Leuxner wrote:
Latest from Mercurial. Dovecot crashes with 'mail_log' and 'notify' plugins enabled when deleting a message:
Actually it happens when copying a message (which is what your client does when deleting). Can you easily reproduce this? I can't.. What mailbox format are you using? Also the backtrace has some wrong values because of gcc optimizations, it might help more if you compiled without -O2 (CFLAGS=-g ./configure).
Am 16.03.2010 um 13:48 schrieb Timo Sirainen:
Actually it happens when copying a message (which is what your client does when deleting). Can you easily reproduce this? I can't.. What mailbox format are you using? Also the backtrace has some wrong values because of gcc optimizations, it might help more if you compiled without -O2 (CFLAGS=-g ./configure).
mail_location = mdbox:~/mdbox
I can reproduce at will, but have trouble overriding the O2 optimization with 'dpkg-buildpackage'.
Thomas
On 03/16/2010 08:27 PM Thomas Leuxner wrote:
I can reproduce at will, but have trouble overriding the O2 optimization with 'dpkg-buildpackage'.
try: DEB_BUILD_OPTIONS="nostrip debug" dpkg-buildpackage
The CFLAGS env variable is also honored. e.g.: CFLAGS="-g3 -O0" DEB_BUILD_OPTIONS="nostrip debug" dpkg-buildpackage
Regards, Pascal
The trapper recommends today: face1e55.1007520@localdomain.org
Am 16.03.2010 um 20:35 schrieb Pascal Volk:
The CFLAGS env variable is also honored. e.g.: CFLAGS="-g3 -O0" DEB_BUILD_OPTIONS="nostrip debug" dpkg-buildpackage
Thanks Pascal, that did the trick. Core dump attached:
[20:52] root spectre:/tmp# gdb /usr/lib/dovecot/imap /tmp/core 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 /usr/lib/dovecot/libdovecot-storage.so.0...done. Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /usr/lib/dovecot/libdovecot.so.0...done. Loaded symbols for /usr/lib/dovecot/libdovecot.so.0 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/lib/dovecot/modules/lib01_acl_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib01_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib10_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib10_quota_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib15_notify_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib15_notify_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/lib20_mail_log_plugin.so Reading symbols from /lib/libgcc_s.so.1...done. Loaded symbols for /lib/libgcc_s.so.1 Core was generated by `dovecot/imap'. Program terminated with signal 6, Aborted. [New process 31462]
#0 0x00007feb99a2fed5 in raise () from /lib/libc.so.6#0 0x00007feb99a2fed5 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007feb99a313f3 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007feb9a19efca in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:164 backtrace = 0x628660 "/usr/lib/dovecot/libdovecot.so.0 [0x7feb9a19efa6] -> /usr/lib/dovecot/libdovecot.so.0 [0x7feb9a1a02eb] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7feb9a19f31a] -> /usr/lib/dovecot/libdovecot-st"... #3 0x00007feb9a1a02eb in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x7feb9a4b9f18 "file %s: line %d (%s): assertion failed: (%s)", args=0x7fffffffba90) at failures.c:592 No locals. #4 0x00007feb9a19f31a in i_panic (format=0x7feb9a4b9f18 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:230 args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffffffbb70, reg_save_area = 0x7fffffffbab0}} #5 0x00007feb9a44c531 in view_lookup_uid (view=0x66a950, seq=0, uid_r=0x7fffffffbc2c) at mail-index-view.c:210 __PRETTY_FUNCTION__ = "view_lookup_uid" #6 0x00007feb9a43fb82 in tview_lookup_uid (view=0x66a950, seq=0, uid_r=0x7fffffffbc2c) at mail-index-transaction-view.c:163 tview = (struct mail_index_view_transaction *) 0x66a950 #7 0x00007feb9a44ce6e in mail_index_lookup_uid (view=0x66a950, seq=0, uid_r=0x7fffffffbc2c) at mail-index-view.c:474 No locals. #8 0x00007feb9a428180 in mail_cache_decision_state_update (view=0x66ac70, seq=0, field=12) at mail-cache-decisions.c:82 cache = (struct mail_cache *) 0x668090 hdr = (const struct mail_index_header *) 0x7feb9a901548 uid = 0 __PRETTY_FUNCTION__ = "mail_cache_decision_state_update" #9 0x00007feb9a42adcf in mail_cache_lookup_headers_real (view=0x66ac70, dest=0x685278, seq=0, field_idxs=0x7fffffffbdfc, fields_count=1) at mail-cache-lookup.c:484 cache = (struct mail_cache *) 0x668090 iter = {view = 0x7feb9a3f8760, remap_counter = 2593133896, seq = 32747, rec = 0x80, pos = 4294967295, rec_size = 0, offset = 4294950208, stop = 1, failed = 1, appends_checked = 1} field = {field_idx = 4294950128, data = 0x80, size = 6836816} ctx = {view = 0x669b10, lines = {arr = {buffer = 0x6692c0, element_size = 1011198389976563728}, v = 0x6692c0, v_modifiable = 0x6692c0}} lines = (struct header_lookup_line *) 0x7fffffffc570 p = (const unsigned char *) 0x0 start = (const unsigned char *) 0x0 end = (const unsigned char *) 0x7feb9a3eb000
field_state = (uint8_t *) 0x7f009a6f51da i = 0 count = 32747 max_field = 0 hdr_size = 140649879426561 want = 1 '\001' buf = (buffer_t *) 0x7fffffffbd60 ret = 5 #10 0x00007feb9a42b22e in mail_cache_lookup_headers (view=0x66ac70, dest=0x685278, seq=0, field_idxs=0x7fffffffbdfc, fields_count=1) at mail-cache-lookup.c:560 _data_stack_cur_id = 5 ret = 32747 #11 0x00007feb9a46b6f7 in index_mail_get_raw_headers (mail=0x684a68, field=0x7feb98bb1024 "Message-ID", value_r=0x7fffffffbe88) at index-mail-headers.c:614 headers = {0x7feb98bb101c "uid=", 0x6284d8 "\020\205b"} value = 0x7feb9a1c0c8c "H\211? ???H\215\2050????" headers_ctx = (struct mailbox_header_lookup_ctx *) 0x7fffffffbe50 data = (unsigned char *) 0x3000000010 field_idx = 12 dest = (string_t *) 0x685278 i = 140737488338496 len = 140737488338672 ret = 0 header_values = {arr = {buffer = 0x1c, element_size = 140647294042116}, v = 0x1c, v_modifiable = 0x1c} __PRETTY_FUNCTION__ = "index_mail_get_raw_headers" #12 0x00007feb9a46bd82 in index_mail_get_first_header (_mail=0x684a68, field=0x7feb98bb1024 "Message-ID", decode_to_utf8=false, value_r=0x7fffffffbf18) at index-mail-headers.c:771 mail = (struct index_mail *) 0x684a68 list = (const char * const *) 0x2 ret = -1709586105 i = 0 #13 0x00007feb9a41390f in mail_get_first_header (mail=0x684a68, field=0x7feb98bb1024 "Message-ID", value_r=0x7fffffffbf18) at mail.c:122 p = (struct mail_private *) 0x684a68 #14 0x00007feb98bb0653 in mail_log_append_mail_header (str=0x6284d8, mail=0x684a68, name=0x7feb98bb0f28 "msgid", header=0x7feb98bb1024 "Message-ID") at mail-log-plugin.c:174 value = 0x6284d8 "\020\205b" #15 0x00007feb98bb0815 in mail_log_append_mail_message_real (ctx=0x66b318, mail=0x684a68, event=MAIL_LOG_EVENT_SAVE, desc=0x6284b0 "copy from INBOX") at mail-log-plugin.c:219 msg = (struct mail_log_message *) 0x66b330 text = (string_t *) 0x6284d8 size = 64 #16 0x00007feb98bb0a77 in mail_log_append_mail_message (ctx=0x66b318, mail=0x684a68, event=MAIL_LOG_EVENT_SAVE, desc=0x6284b0 "copy from INBOX") at mail-log-plugin.c:270 _data_stack_cur_id = 4 #17 0x00007feb98bb0b64 in mail_log_mail_copy (txn=0x66b318, src=0x66cb48, dst=0x684a68) at mail-log-plugin.c:303 ctx = (struct mail_log_mail_txn_context *) 0x66b318 desc = 0x6284b0 "copy from INBOX" #18 0x00007feb98db3602 in notify_contexts_mail_copy (src=0x66cb48, dst=0x684a68) at notify-plugin.c:69 ctx = (struct notify_context *) 0x64b310 mail_txn = (struct notify_mail_txn *) 0x66b2a0 #19 0x00007feb98db40a7 in notify_copy (ctx=0x671320, mail=0x66cb48) at notify-storage.c:113 lt = (struct notify_transaction_context *) 0x66b280 lbox = (union mailbox_module_context *) 0x666998 ret = 0 #20 0x00007feb9a41c6d5 in mailbox_copy (_ctx=0x7fffffffc130, mail=0x66cb48) at mail-storage.c:1330 ctx = (struct mail_save_context *) 0x671320 box = (struct mailbox *) 0x666048 keywords = (struct mail_keywords *) 0x6847e0 ret = 32747 #21 0x0000000000409dab in fetch_and_copy (client=0x6597d8, t=0x66a510, search_args=0x665038, src_uidset_r=0x7fffffffc1c8, copy_count_r=0x7fffffffc18c) at cmd-copy.c:66 search_ctx = (struct mail_search_context *) 0x66c940 src_trans = (struct mailbox_transaction_context *) 0x66b6e0 save_ctx = (struct mail_save_context *) 0x0 mail = (struct mail *) 0x66cb48 copy_count = 1 srcset_ctx = {str = 0x628378, first_uid = 0, last_uid = 4294967295} src_uidset = (string_t *) 0x628378 ret = 1 #22 0x000000000040a06a in cmd_copy (cmd=0x659f38) at cmd-copy.c:151 client = (struct client *) 0x6597d8 dest_ns = (struct mail_namespace *) 0x64a0d0 dest_storage = (struct mail_storage *) 0x7fffffffc230 destbox = (struct mailbox *) 0x666048 t = (struct mailbox_transaction_context *) 0x66a510 search_args = (struct mail_search_args *) 0x665038 messageset = 0x65b888 "4914" mailbox = 0x65b890 "Trash" storage_name = 0x65b890 "Trash" src_uidset = 0x7feb9a19b32b "??\220\220\220UH\211?H\203?0H\211}?H\213\005E?$" status = MAILBOX_NAME_EXISTS_MAILBOX sync_flags = 0 imap_flags = 0 changes = {pool = 0x0, uid_validity = 9, saved_uids = {arr = {buffer = 0x7feb99b053a0, element_size = 0}, v = 0x7feb99b053a0, v_modifiable = 0x7feb99b053a0}, ignored_uid_changes = 4294952304, ignored_modseq_changes = 32767} copy_count = 0 msg = (string_t *) 0x633f65 ret = 1 __PRETTY_FUNCTION__ = "cmd_copy" #23 0x000000000041101b in cmd_uid (cmd=0x659f38) at cmd-uid.c:27 command = (struct command *) 0x6317a0 cmd_name = 0x65b880 "COPY" #24 0x0000000000412a2d in client_command_input (cmd=0x659f38) at imap-client.c:647 client = (struct client *) 0x6597d8 command = (struct command *) 0x0 __PRETTY_FUNCTION__ = "client_command_input" #25 0x0000000000412c5d in client_command_input (cmd=0x659f38) at imap-client.c:697 client = (struct client *) 0x6597d8 command = (struct command *) 0x631788 __PRETTY_FUNCTION__ = "client_command_input" #26 0x0000000000412d7f in client_handle_next_command (client=0x6597d8, remove_io_r=0x7fffffffc34d) at imap-client.c:738 size = 26 #27 0x0000000000412e00 in client_handle_input (client=0x6597d8) at imap-client.c:750 _data_stack_cur_id = 3 ret = false remove_io = false handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #28 0x0000000000412f5f in client_input (client=0x6597d8) at imap-client.c:789 cmd = (struct client_command_context *) 0xffffc3bc output = (struct ostream *) 0x659db8 bytes = 26 __PRETTY_FUNCTION__ = "client_input" #29 0x00007feb9a1af88a in io_loop_handler_run (ioloop=0x6305c0) at ioloop-epoll.c:208 ctx = (struct ioloop_handler_context *) 0x6307d0 events = (struct epoll_event *) 0x630840 event = (const struct epoll_event *) 0x630840 list = (struct io_list *) 0x659e90 io = (struct io_file *) 0x664c10 tv = {tv_sec = 1799, tv_usec = 999774} events_count = 5 t_id = 2 msecs = 1800000 ret = 1 i = 0 j = 0 call = true #30 0x00007feb9a1ae693 in io_loop_run (ioloop=0x6305c0) at ioloop.c:350 No locals. #31 0x00007feb9a1982ad in master_service_run (service=0x630490, callback=0x41e0a7Right, looks like it was crashing with mdbox. I thought I tested that but I guess I didn't. Fixed now.
Am 16.03.2010 um 21:29 schrieb Timo Sirainen:
Right, looks like it was crashing with mdbox. I thought I tested that but I guess I didn't. Fixed now.
It does not crash anymore, but it looks like the fix has a bad side effect. Client can not see INBOX any more, tested with Mail.app and Mutt. Rolling back to an previous build without these restores functionality:
- mdbox: Don't crash when accessing a copied mail that hasn't been committed yet.
- acl: Don't crash if opening dovecot-acl fails with EACCES.
Regards Thomas
On 03/16/2010 10:53 PM Thomas Leuxner wrote:
… It does not crash anymore, but it looks like the fix has a bad side effect. Client can not see INBOX any more, tested with Mail.app and Mutt. Rolling back to an previous build without these restores functionality:
What is your setup? doveconf -n?
Works here, with mdbox (hg rev b7c66370b0f7): 1 LIST "" *
- LIST (\HasNoChildren) "/" "Trash"
- LIST (\HasNoChildren) "/" "INBOX" 1 OK List completed. 2 SELECT INBOX
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted.
- 8 EXISTS
- 0 RECENT
- OK [UIDVALIDITY 1096038620] UIDs valid
- OK [UIDNEXT 9] Predicted next UID
- OK [HIGHESTMODSEQ 1] Highest 2 OK [READ-WRITE] Select completed
Regards, Pascal
The trapper recommends today: face1e55.1007522@localdomain.org
Am 16.03.2010 um 23:03 schrieb Pascal Volk:
2 LIST "" * […]
- LIST (\Unmarked) "/" "INBOX"
- LIST (\Noselect \HasChildren) "/" "Public" 2 OK List completed. 3 SELECT INBOX 3 NO Mailbox doesn't exist: INBOX
2.0.beta3: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-amd64 x86_64 Debian 5.0.4 auth_verbose = yes mail_location = mdbox:~/mdbox namespace { hidden = no inbox = yes location = prefix = separator = / type = private } namespace { list = yes location = maildir:/var/vmail/public:LAYOUT=fs:CONTROL=~/public:INDEX=~/public prefix = Public/ separator = / subscriptions = no type = public } passdb { args = username_format=%u /var/vmail/conf.d/%d/passwd driver = passwd-file } plugin { acl = vfile:/var/vmail/conf.d/%d/acls:cache_secs=300 mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename quota = dict:user::file:%h/mdbox/dovecot-quota quota_rule = *:storage=1GB quota_rule2 = Trash:storage=10%% sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/conf.d/%d/sieve } postmaster_address = postmaster@mydomain.tld protocols = imap lmtp service auth-worker { user = doveauth } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } user = doveauth } service imap-login { inet_listener imap { address = 1.2.3.4 port = 143 } inet_listener imaps { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } ssl_cert =
On 16.3.2010, at 23.53, Thomas Leuxner wrote:
Am 16.03.2010 um 21:29 schrieb Timo Sirainen:
Right, looks like it was crashing with mdbox. I thought I tested that but I guess I didn't. Fixed now.
It does not crash anymore, but it looks like the fix has a bad side effect. Client can not see INBOX any more, tested with Mail.app and Mutt. Rolling back to an previous build without these restores functionality:
- mdbox: Don't crash when accessing a copied mail that hasn't been committed yet.
That affects only saving/copying mails.
- acl: Don't crash if opening dovecot-acl fails with EACCES.
That affects only if you have dovecot-acl files that the process can't open because it doesn't have permission. Do you have such files somewhere?
Am 16.03.2010 um 23:40 schrieb Timo Sirainen:
That affects only if you have dovecot-acl files that the process can't open because it doesn't have permission. Do you have such files somewhere?
Tough one. Caused by the 'doveauth' service permission changes added to my config before. Actually it was the global INBOX ACL owned by the wrong user, triggered by:
plugin { acl = vfile:/var/vmail/conf.d/%d/acls:cache_secs=300 }
Thanks for pointing me in the right direction.
Regards Thomas
participants (3)
-
Pascal Volk
-
Thomas Leuxner
-
Timo Sirainen