[Dovecot] 1.1.3: imap crashes with SIGSEGV
2 backtraces:
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 "i486-linux-gnu"... Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.7.so...done. done. Loaded symbols for /lib/i686/cmov/libdl.so.2 Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.7.so...done. done. Loaded symbols for /lib/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.7.so...done. done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/local/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_trash_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_trash_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_fts_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_fts_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so Reading symbols from /usr/lib/gconv/ISO8859-1.so...Reading symbols from /usr/lib/debug/usr/lib/gconv/ISO8859-1.so...done. done. Loaded symbols for /usr/lib/gconv/ISO8859-1.so Core was generated by `/usr/local/libexec/dovecot/imap'. Program terminated with signal 11, Segmentation fault. [New process 11830] #0 array_idx_modifiable_i (array=0x87e34b4, idx=0) at array.c:11 11 if (pos >= array->buffer->used) { #0 array_idx_modifiable_i (array=0x87e34b4, idx=0) at array.c:11 pos = 0 #1 0x080c4c28 in mail_index_sync_ext_reset (ctx=0xbfe14740, u=0xbfe146b0) at mail-index-sync-ext.c:518 map = (struct mail_index_map *) 0x87e3428 ext_hdr = <value optimized out> ext = <value optimized out> #2 0x080b6a69 in mail_index_sync_record (ctx=0xbfe14740, hdr=0x87e2f70, data=0x87e3a60) at mail-index-sync-update.c:546 rec = {new_reset_id = 1166087195, preserve_data = 0 '\0', unused_padding = "\000\000"} ret = <value optimized out> #3 0x080b705f in mail_index_sync_map (_map=0x87b30d0, type=MAIL_INDEX_SYNC_HANDLER_HEAD, force=true) at mail-index-sync-update.c:828 _data_stack_cur_id = 5 map = <value optimized out> index = (struct mail_index *) 0x87b3098 view = (struct mail_index_view *) 0x87e2e50 sync_map_ctx = {view = 0x87e2e50, cur_ext_map_idx = 0, ext_intro_seq = 4, ext_intro_offset = 29272, ext_intro_end_offset = 29300, expunge_handlers = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, extra_contexts = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, unknown_extensions = 0x87e2fd0, type = MAIL_INDEX_SYNC_HANDLER_HEAD, sync_handlers_initialized = 0, expunge_handlers_set = 0, expunge_handlers_used = 0, cur_ext_ignore = 1, internal_update = 0, errors = 1} thdr = (const struct mail_transaction_header *) 0x87e2f70 tdata = (const void *) 0x87e3a60 prev_seq = 4 start_offset = <value optimized out> prev_offset = 29300 ret = 1 had_dirty = false reset = false __PRETTY_FUNCTION__ = "mail_index_sync_map" #4 0x080b078f in mail_index_map (index=0x87b3098, type=MAIL_INDEX_SYNC_HANDLER_HEAD) at mail-index-map.c:953 ret = <value optimized out> __PRETTY_FUNCTION__ = "mail_index_map" #5 0x080ad1d3 in mail_index_try_open (index=0x87b3098) at mail-index.c:290 ret = 0 __PRETTY_FUNCTION__ = "mail_index_try_open" #6 0x080ad52f in mail_index_open (index=0x87b3098, flags=49, lock_method=FILE_LOCK_METHOD_FCNTL) at mail-index.c:354 ret = <value optimized out> __PRETTY_FUNCTION__ = "mail_index_open" #7 0x080a14dc in index_storage_mailbox_open (ibox=0x87c6248) at index-storage.c:383 storage = (struct mail_storage *) 0x87aacc0 index_flags = 49 ret = <value optimized out> __PRETTY_FUNCTION__ = "index_storage_mailbox_open" #8 0x08070bbb in maildir_open (storage=0x87aacc0, name=0x87af6ee "Drafts", flags=0) at maildir-storage.c:448 mbox = (struct maildir_mailbox *) 0x87c6248 index = <value optimized out> path = 0x879f120 "/home/n/i/nivanov/Maildir/.Drafts" st = {st_dev = 13257686650873676099, __pad1 = 65024, __st_ino = 0, st_mode = 0, st_nlink = 6076788, st_uid = 16832, st_gid = 2, st_rdev = 429496771878, __pad2 = 0, st_size = 0, st_blksize = 12288, st_blocks = 17592186044416, st_atim = {tv_sec = 24, tv_nsec = 0}, st_mtim = { tv_sec = 1219648514, tv_nsec = 0}, st_ctim = {tv_sec = 1219648514, tv_nsec = 0}, st_ino = 1220756980} pool = <value optimized out> #9 0x08070d24 in maildir_mailbox_open (_storage=0x87aacc0, name=0x87af6ee "Drafts", input=0x0, flags=0) at maildir-storage.c:512 path = 0x879f0d0 "/home/n/i/nivanov/Maildir/.Drafts" st = {st_dev = 4294967296, __pad1 = 31232, __st_ino = 3219212984, st_mode = 135152563, st_nlink = 142300336, st_uid = 3086801588, st_gid = 3086808264, st_rdev = 13257686356386956228, __pad2 = 25160, st_size = 284128058446176, st_blksize = 2, st_blocks = -5188549690060539440, st_atim = {tv_sec = 0, tv_nsec = 142257428}, st_mtim = {tv_sec = 0, tv_nsec = -1075754280}, st_ctim = {tv_sec = 135086614, tv_nsec = 142257536}, st_ino = 17179869184} ret = <value optimized out> #10 0xb7e7b1ca in mail_log_mailbox_open (storage=0x87aacc0, name=0x87af6ee "Drafts", input=0x0, flags=0) at mail-log-plugin.c:450 box = (struct mailbox *) 0xbfe14b18 #11 0xb7e8c67a in quota_mailbox_open (storage=0x87aacc0, name=0x87af6ee "Drafts", input=0x0, flags=0) at quota-storage.c:366 box = (struct mailbox *) 0x0 #12 0x080a5599 in mailbox_open (storage=0x87aacc0, name=0x87af6ee "Drafts", input=0x0, flags=0) at mail-storage.c:459 _data_stack_cur_id = 4 box = <value optimized out> #13 0x08060d4c in cmd_select_full (cmd=0x87ab5f0, readonly=false) at cmd-select.c:32 client = (struct client *) 0x87ab3a8 storage = (struct mail_storage *) 0x87aacc0 box = (struct mailbox *) 0x0 status = {messages = 3219213272, recent = 6, unseen = 0, uidvalidity = 8054608, uidnext = 0, first_unseen_seq = 142253680, keywords = 0x14} mailbox = 0x87af6ee "Drafts" #14 0x08060f39 in cmd_select (cmd=0x87ab5f0) at cmd-select.c:88 No locals. #15 0x080627dc in client_command_input (cmd=0x87ab5f0) at client.c:580 client = (struct client *) 0x87ab3a8 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #16 0x0806286f in client_command_input (cmd=0x87ab5f0) at client.c:629 client = (struct client *) 0x87ab3a8 command = (struct command *) 0x0 __PRETTY_FUNCTION__ = "client_command_input" #17 0x08062e6d in client_handle_input (client=<value optimized out>) at client.c:670 _data_stack_cur_id = 3 ret = <value optimized out> remove_io = <value optimized out> handled_commands = false #18 0x0806337e in client_input (client=0x87ab3a8) at client.c:725 cmd = <value optimized out> output = (struct ostream *) 0x87ab52c bytes = <value optimized out> __PRETTY_FUNCTION__ = "client_input" #19 0x080dde90 in io_loop_handler_run (ioloop=0x87a79b0) at ioloop-epoll.c:203 ctx = (struct ioloop_handler_context *) 0x87a7aa8 event = (const struct epoll_event *) 0x87a7ae8 list = (struct io_list *) 0x87a85c0 io = (struct io_file *) 0x87ab588 tv = {tv_sec = 1799, tv_usec = 999646} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #20 0x080dd300 in io_loop_run (ioloop=0x87a79b0) at ioloop.c:320 No locals. #21 0x0806b4ea in main (argc=) at main.c:293 No locals.
AND:
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 "i486-linux-gnu"... Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.7.so...done. done. Loaded symbols for /lib/i686/cmov/libdl.so.2 Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.7.so...done. done. Loaded symbols for /lib/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.7.so...done. done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/local/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_trash_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_trash_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_fts_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_fts_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so Reading symbols from /usr/lib/gconv/ISO8859-1.so...Reading symbols from /usr/lib/debug/usr/lib/gconv/ISO8859-1.so...done. done. Loaded symbols for /usr/lib/gconv/ISO8859-1.so Core was generated by `/usr/local/libexec/dovecot/imap'. Program terminated with signal 11, Segmentation fault. [New process 12786] #0 array_idx_modifiable_i (array=0x8bb61b4, idx=0) at array.c:11 11 if (pos >= array->buffer->used) { #0 array_idx_modifiable_i (array=0x8bb61b4, idx=0) at array.c:11 pos = 0 #1 0x080c4c28 in mail_index_sync_ext_reset (ctx=0xbfcbcdf0, u=0xbfcbcd60) at mail-index-sync-ext.c:518 map = (struct mail_index_map *) 0x8bb6128 ext_hdr = <value optimized out> ext = <value optimized out> #2 0x080b6a69 in mail_index_sync_record (ctx=0xbfcbcdf0, hdr=0x8bb5b28, data=0x8bb6780) at mail-index-sync-update.c:546 rec = {new_reset_id = 1166087195, preserve_data = 0 '\0', unused_padding = "\000\000"} ret = <value optimized out> #3 0x080b705f in mail_index_sync_map (_map=0x8b8b6c8, type=MAIL_INDEX_SYNC_HANDLER_HEAD, force=true) at mail-index-sync-update.c:828 _data_stack_cur_id = 5 map = <value optimized out> index = (struct mail_index *) 0x8b8b690 view = (struct mail_index_view *) 0x8bb6058 sync_map_ctx = {view = 0x8bb6058, cur_ext_map_idx = 0, ext_intro_seq = 4, ext_intro_offset = 29272, ext_intro_end_offset = 29300, expunge_handlers = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, extra_contexts = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, unknown_extensions = 0x8bb60d8, type = MAIL_INDEX_SYNC_HANDLER_HEAD, sync_handlers_initialized = 0, expunge_handlers_set = 0, expunge_handlers_used = 0, cur_ext_ignore = 1, internal_update = 0, errors = 1} thdr = (const struct mail_transaction_header *) 0x8bb5b28 tdata = (const void *) 0x8bb6780 prev_seq = 4 start_offset = <value optimized out> prev_offset = 29300 ret = 1 had_dirty = false reset = false __PRETTY_FUNCTION__ = "mail_index_sync_map" #4 0x080b078f in mail_index_map (index=0x8b8b690, type=MAIL_INDEX_SYNC_HANDLER_HEAD) at mail-index-map.c:953 ret = <value optimized out> __PRETTY_FUNCTION__ = "mail_index_map" #5 0x080ad1d3 in mail_index_try_open (index=0x8b8b690) at mail-index.c:290 ret = 0 __PRETTY_FUNCTION__ = "mail_index_try_open" #6 0x080ad52f in mail_index_open (index=0x8b8b690, flags=49, lock_method=FILE_LOCK_METHOD_FCNTL) at mail-index.c:354 ret = <value optimized out> __PRETTY_FUNCTION__ = "mail_index_open" #7 0x080a14dc in index_storage_mailbox_open (ibox=0x8b87e50) at index-storage.c:383 storage = (struct mail_storage *) 0x8b80cc0 index_flags = 49 ret = <value optimized out> __PRETTY_FUNCTION__ = "index_storage_mailbox_open" #8 0x08070bbb in maildir_open (storage=0x8b80cc0, name=0x8b856ee "Drafts", flags=0) at maildir-storage.c:448 mbox = (struct maildir_mailbox *) 0x8b87e50 index = <value optimized out> path = 0x8b75120 "/home/n/i/nivanov/Maildir/.Drafts" st = {st_dev = 7512772768, __pad1 = 65024, __st_ino = 0, st_mode = 0, st_nlink = 6076788, st_uid = 16832, st_gid = 2, st_rdev = 429496771878, __pad2 = 0, st_size = 0, st_blksize = 12288, st_blocks = 17592186044416, st_atim = {tv_sec = 24, tv_nsec = 0}, st_mtim = {tv_sec = 1220901763, tv_nsec = 0}, st_ctim = {tv_sec = 1220901763, tv_nsec = 0}, st_ino = 1220901763} pool = <value optimized out> #9 0x08070d24 in maildir_mailbox_open (_storage=0x8b80cc0, name=0x8b856ee "Drafts", input=0x0, flags=0) at maildir-storage.c:512 path = 0x8b750d0 "/home/n/i/nivanov/Maildir/.Drafts" st = {st_dev = 4294967296, __pad1 = 55808, __st_ino = 3217805672, st_mode = 135152563, st_nlink = 146323360, st_uid = 146281896, st_gid = 3217805716, st_rdev = 628210232224025924, __pad2 = 55340, st_size = 580206198801443584, st_blksize = -1, st_blocks = 577828187078914036, st_atim = {tv_sec = 0, tv_nsec = 146279700}, st_mtim = {tv_sec = 0, tv_nsec = -1077161592}, st_ctim = { tv_sec = 135086614, tv_nsec = 146279808}, st_ino = 17179869184} ret = <value optimized out> #10 0xb7f231ca in mail_log_mailbox_open (storage=0x8b80cc0, name=0x8b856ee "Drafts", input=0x0, flags=0) at mail-log-plugin.c:450 box = (struct mailbox *) 0xbfcbd1c8 #11 0xb7f3467a in quota_mailbox_open (storage=0x8b80cc0, name=0x8b856ee "Drafts", input=0x0, flags=0) at quota-storage.c:366 box = (struct mailbox *) 0x0 #12 0x080a5599 in mailbox_open (storage=0x8b80cc0, name=0x8b856ee "Drafts", input=0x0, flags=0) at mail-storage.c:459 _data_stack_cur_id = 4 box = <value optimized out> #13 0x08060d4c in cmd_select_full (cmd=0x8b815f0, readonly=false) at cmd-select.c:32 client = (struct client *) 0x8b813a8 storage = (struct mail_storage *) 0x8b80cc0 box = (struct mailbox *) 0x0 status = {messages = 3217805960, recent = 6, unseen = 0, uidvalidity = 12076592, uidnext = 0, first_unseen_seq = 146275952, keywords = 0x14} mailbox = 0x8b856ee "Drafts" #14 0x08060f39 in cmd_select (cmd=0x8b815f0) at cmd-select.c:88 No locals. #15 0x080627dc in client_command_input (cmd=0x8b815f0) at client.c:580 client = (struct client *) 0x8b813a8 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #16 0x0806286f in client_command_input (cmd=0x8b815f0) at client.c:629 client = (struct client *) 0x8b813a8 command = (struct command *) 0x0 __PRETTY_FUNCTION__ = "client_command_input" #17 0x08062e6d in client_handle_input (client=<value optimized out>) at client.c:670 _data_stack_cur_id = 3 ret = <value optimized out> remove_io = <value optimized out> handled_commands = false #18 0x0806337e in client_input (client=0x8b813a8) at client.c:725 cmd = <value optimized out> output = (struct ostream *) 0x8b8152c bytes = <value optimized out> __PRETTY_FUNCTION__ = "client_input" #19 0x080dde90 in io_loop_handler_run (ioloop=0x8b7d9b0) at ioloop-epoll.c:203 ctx = (struct ioloop_handler_context *) 0x8b7daa8 event = (const struct epoll_event *) 0x8b7dae8 list = (struct io_list *) 0x8b7e5c0 io = (struct io_file *) 0x8b81588 tv = {tv_sec = 1799, tv_usec = 999578} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #20 0x080dd300 in io_loop_run (ioloop=0x8b7d9b0) at ioloop.c:320 No locals. #21 0x0806b4ea in main (argc=) at main.c:293 No locals.
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job Of course I could put all this into Postfix 1.1 and call the result Postfix 1.1.14, but that would be cheating. -- Wietse
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
2 backtraces:
Corresponding logs: Sep 8 21:22:44 postamt dovecot: IMAP(nivanov): Log synchronization error at seq=4,offset=29196 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 1 Sep 8 21:22:44 postamt dovecot: IMAP(nivanov): Log synchronization error at seq=4,offset=29272 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 0 Sep 8 21:22:53 postamt dovecot:IMAP(nivanov): Log synchronization error at seq=4,offset=29196 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 1 Sep 8 21:22:53 postamt dovecot: IMAP(nivanov): Log synchronization error at seq=4,offset=29272 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 0
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job Send me a spam, I'll send you a LART. Send me 1353 spams, I'll send you 1353 LARTs.
On Tue, 2008-09-09 at 16:08 +0200, Ralf Hildebrandt wrote:
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
2 backtraces:
This fixes the crash: http://hg.dovecot.org/dovecot-1.1/rev/ad44228f3808
Corresponding logs: Sep 8 21:22:44 postamt dovecot: IMAP(nivanov): Log synchronization error at seq=4,offset=29196 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 1
But why are you getting these? Could you send me one of these .log files when these errors happen and the error message(s)? Then I could at least see if the problem is because the log file really is broken or if it could have something to do with Dovecot's internal state.
What kind of a setup are you using? Filesystem? OS?
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 16:08 +0200, Ralf Hildebrandt wrote:
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
2 backtraces:
This fixes the crash: http://hg.dovecot.org/dovecot-1.1/rev/ad44228f3808
Corresponding logs: Sep 8 21:22:44 postamt dovecot: IMAP(nivanov): Log synchronization error at seq=4,offset=29196 for /home/n/i/nivanov/Maildir/.Drafts/dovecot.index: Extension introduction for unknown id 1
But why are you getting these? Could you send me one of these .log files when these errors happen and the error message(s)? Then I could at least see if the problem is because the log file really is broken or if it could have something to do with Dovecot's internal state.
What kind of a setup are you using? Filesystem? OS?
Maildir mailboxes, ext3, linux (Debian/testing, custom kernel)
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job "All programmers are playwrights and all computers are lousy actors." -Anon.
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 18:13 +0200, Ralf Hildebrandt wrote:
What kind of a setup are you using? Filesystem? OS?
Maildir mailboxes, ext3, linux (Debian/testing, custom kernel)
What about CPU?
4 x Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job "As soon as we started programming, we found out to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs."-Maurice Wilkes
On Sep 9, 2008, at 11:29 PM, Ralf Hildebrandt wrote:
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 18:13 +0200, Ralf Hildebrandt wrote:
What kind of a setup are you using? Filesystem? OS?
Maildir mailboxes, ext3, linux (Debian/testing, custom kernel)
What about CPU?
4 x Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
Wonder if there are some race condition issues that don't show up with
Core 2 duo, but do show up with 4 core / 2 CPUs. I know there are some
things I should probably not be doing (or should maybe add some memory
barrier code).
How often do you see those errors? Does mmap_disable=yes change it?
- Timo Sirainen tss@iki.fi:
Wonder if there are some race condition issues that don't show up with
Core 2 duo, but do show up with 4 core / 2 CPUs. I know there are some
things I should probably not be doing (or should maybe add some memory
barrier code).How often do you see those errors?
Just once so far.
Does mmap_disable=yes change it?
What's the performance impact of that?
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job Quit trying to hurt (slow down) millions abusive IPs. It's a waste of time. Your MX is vastly outnumbered and is pissing into a hurricane.
On Tue, 2008-09-09 at 22:45 +0200, Ralf Hildebrandt wrote:
- Timo Sirainen tss@iki.fi:
Wonder if there are some race condition issues that don't show up with
Core 2 duo, but do show up with 4 core / 2 CPUs. I know there are some
things I should probably not be doing (or should maybe add some memory
barrier code).
Could you try running these on the server for a while:
http://dovecot.org/tmp/memory-concurrent-rw.c http://dovecot.org/tmp/memory-concurrent-rw-pread.c
I wrote them a while ago to test this memory behavior. They shouldn't print anything if they're running successfully.
How often do you see those errors?
Just once so far.
It's been more than once since I've seen you post the mail_index_sync_ext_reset backtrace at least 3 times. :) But I actually meant any errors (related to index files), not just this.
Does mmap_disable=yes change it?
What's the performance impact of that?
Shouldn't be much, although it could use somewhat more memory since it's trying to emulate mmap().
- Timo Sirainen tss@iki.fi:
http://dovecot.org/tmp/memory-concurrent-rw.c http://dovecot.org/tmp/memory-concurrent-rw-pread.c
How long should both run? I Started them at 10:00 today.
I wrote them a while ago to test this memory behavior. They shouldn't print anything if they're running successfully. :)
--
Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de
Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155
http://www.arschkrebs.de I'm looking for a job
When hitting yourself on the head with a hammer starts to give you
headaches, the solution is not to put padding on the hammer.
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 22:45 +0200, Ralf Hildebrandt wrote:
- Timo Sirainen tss@iki.fi:
Wonder if there are some race condition issues that don't show up with
Core 2 duo, but do show up with 4 core / 2 CPUs. I know there are some
things I should probably not be doing (or should maybe add some memory
barrier code).Could you try running these on the server for a while:
http://dovecot.org/tmp/memory-concurrent-rw.c http://dovecot.org/tmp/memory-concurrent-rw-pread.c
Are they to be run on the same file? They've been running for hours now, no output so far.
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job "Memory is like gasoline. You use it up when you are running. Of course you get it all back when you reboot..." -- Actual explanation obtained from the Micro$oft help desk.
On Wed, 2008-09-10 at 14:02 +0200, Ralf Hildebrandt wrote:
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 22:45 +0200, Ralf Hildebrandt wrote:
- Timo Sirainen tss@iki.fi:
Wonder if there are some race condition issues that don't show up with
Core 2 duo, but do show up with 4 core / 2 CPUs. I know there are some
things I should probably not be doing (or should maybe add some memory
barrier code).Could you try running these on the server for a while:
http://dovecot.org/tmp/memory-concurrent-rw.c http://dovecot.org/tmp/memory-concurrent-rw-pread.c
Are they to be run on the same file?
They're separate test programs. The file's initial contents don't matter.
They've been running for hours now, no output so far.
They're working fine then. I'll have to figure out something else.
- Timo Sirainen tss@iki.fi:
On Tue, 2008-09-09 at 16:08 +0200, Ralf Hildebrandt wrote:
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
2 backtraces:
This fixes the crash: http://hg.dovecot.org/dovecot-1.1/rev/ad44228f3808
I checked out today and got:
Sep 9 18:17:58 postamt dovecot: IMAP(jordan): Raw backtrace: /usr/local/libexec/dovecot/imap [0x80d65e1] -> /usr/local/libexec/dovecot/imap [0x80d6662] -> /usr/local/libexec/dovecot/imap [0x80d5ff9] -> /usr/local/libexec/dovecot/imap(mail_cache_lock+0x26a) [0x80a8a1a] -> /usr/local/libexec/dovecot/imap [0x80ab0c3] -> /usr/local/libexec/dovecot/imap(mail_cache_transaction_commit+0x2a) [0x80ac6aa] -> /usr/local/libexec/dovecot/imap [0x80b3c46] -> /usr/local/libexec/dovecot/imap(index_transaction_finish_commit+0x30) [0x80a3250] -> /usr/local/libexec/dovecot/imap [0x807480f] -> /usr/local/libexec/dovecot/imap(index_transaction_commit+0x4e) [0x80a30ee] -> /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so [0xb7e7a7e4] -> /usr/local/lib/dovecot/imap/lib10_quota_plugin.so [0xb7e8c60f] -> /usr/local/lib/dovecot/imap/lib20_fts_plugin.so [0xb7e7fe94] -> /usr/local/libexec/dovecot/imap [0x805cca2] -> /usr/local/libexec/dovecot/imap [0x805caab] -> /usr/local/libexec/dovecot/imap [0x805ceaa] -> /usr/local/libexec/dovecot Sep 9 18:17:58 postamt dovecot: IMAP(jordan): /local/libexec/dovecot/imap [0x80627dc] -> /usr/local/libexec/dovecot/imap [0x806286f] -> /usr/local/libexec/dovecot/imap [0x8062e6d] -> /usr/local/libexec/dovecot/imap(client_input+0x5e) [0x806337e] -> /usr/local/libexec/dovecot/imap(io_loop_handler_run+0xe0) [0x80de070] -> /usr/local/libexec/dovecot/imap(io_loop_run+0x20) [0x80dd4e0] -> /usr/local/libexec/dovecot/imap(main+0x46a) [0x806b4ea] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7ea6455] -> /usr/local/libexec/dovecot/imap [0x805c821] Sep 9 18:17:58 postamt dovecot: child 31267 (imap) killed with signal 6 Sep 9 18:17:59 postamt dovecot: IMAP(tlange): Broken file /home/t/l/tlange/Maildir/.Sent/dovecot-uidlist line 1520: UIDs not ordered (1888 > 1888) Sep 9 18:18:00 postamt dovecot: Panic: IMAP(alexy): file mail-cache.c: line 572 (mail_cache_lock): assertion failed: ((ret <= 0 && !cache->locked) || (ret > 0 && cache->locked)) Sep 9 18:18:00 postamt dovecot: IMAP(alexy): Raw backtrace: /usr/local/libexec/dovecot/imap [0x80d65e1] -> /usr/local/libexec/dovecot/imap [0x80d6662] -> /usr/local/libexec/dovecot/imap [0x80d5ff9] -> /usr/local/libexec/dovecot/imap(mail_cache_lock+0x26a) [0x80a8a1a] -> /usr/local/libexec/dovecot/imap(mail_cache_expunge_handler+0xa7) [0x80acbf7] -> /usr/local/libexec/dovecot/imap(mail_index_sync_record+0xa2c) [0x80b6d4c] -> /usr/local/libexec/dovecot/imap(mail_index_sync_map+0x26f) [0x80b70ff] -> /usr/local/libexec/dovecot/imap(mail_index_map+0x494) [0x80b0854] -> /usr/local/libexec/dovecot/imap(mail_index_sync_commit+0xc2) [0x80b4d12] -> /usr/local/libexec/dovecot/imap(maildir_sync_index_finish+0xe9) [0x8074419] -> /usr/local/libexec/dovecot/imap [0x8073141] -> /usr/local/libexec/dovecot/imap(maildir_storage_sync_init+0x58) [0x80732d8] -> /usr/local/libexec/dovecot/imap(imap_sync_init+0x49) [0x80697e9] -> /usr/local/libexec/dovecot/imap(cmd_sync_delayed+0x238) [0x8069ac8] -> /usr/local/libexec/dovecot/imap [0 Sep 9 18:18:00 postamt dovecot: IMAP(alexy): ap(client_input+0x5e) [0x806337e] -> /usr/local/libexec/dovecot/imap(io_loop_handler_run+0xe0) [0x80de070] -> /usr/local/libexec/dovecot/imap(io_loop_run+0x20) [0x80dd4e0] -> /usr/local/libexec/dovecot/imap(main+0x46a) [0x806b4ea] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7dcb455] -> /usr/local/libexec/dovecot/imap [0x805c821] Sep 9 18:18:00 postamt dovecot: child 29321 (imap) killed with signal 6
:(
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de I'm looking for a job Ist es eine Leitungsstoerung? Ist es ein Coredump? Nein, es ist sendmail.cf!
participants (2)
-
Ralf Hildebrandt
-
Timo Sirainen