[Dovecot] pre-1.0.rc27: Index and mbox fixes
Dan Price
dp at eng.sun.com
Tue Mar 13 20:32:50 EET 2007
On Sun 11 Mar 2007 at 02:32PM, Dan Price wrote:
> On Sun 11 Mar 2007 at 11:04PM, Timo Sirainen wrote:
> > On Sun, 2007-03-11 at 20:54 +0000, Chris Wakelin wrote:
> > >
> > > Timo Sirainen wrote:
> > > > On Sun, 2007-03-11 at 17:23 +0000, Chris Wakelin wrote:
> > > >> It crashes at login (using PAM via pam_ldap to Active Directory). And
> > > >> no, it was the wrong core file <sheepish grin>. Here's the proper
> > > >> backtrace (with "password" instead of what I actually used ;) )
> > > >
> > > > Well, this one is also broken. Some things that point to an invalid
> > > > backtrace:
> > >
> > > <sheepish grin^2> OK this one's actually the right core file *and* the
> > > right binary (the other was from dovecot-1.0-beta7.)
> >
> > Yes, this one was correct :) This should fix it:
> > http://dovecot.org/list/dovecot-cvs/2007-March/008096.html
> >
> > I'll build also a new snapshot. I guess I'll delay rc27 until tomorrow
> > anyway.
>
> I've put up the pre-rc27 onto our box and so far things are looking
> good. However, it's the weekend, and we don't have many users busy,
> and no new migrations. If you can wait until Tuesday afternoon (Pacific
> time) I can let you know how it survives Monday's abuse, and the
> migration of some more users on Monday night (which should hopefully
> validate the endianness bugfix). I'll go remove the index and cache
> removal stuff from our migration script.
Timo,
Since deploying pre-rc27 over the weekend we've had one core dump (just
one!), this morning. Here is the message and backtrace. Thanks for
working so hard on the IMAP stability.
-dp
dovecot: Mar 13 07:14:34 Error: IMAP(foobar): file mail-cache.c: line 411 (mai
l_cache_lock): assertion failed: (!cache->locked)
dovecot: Mar 13 07:14:34 Error: IMAP(foobar): Raw backtrace: 0x80b9467 -> 0x80
98220 -> 0x809af69 -> 0x809b016 -> 0x80a3982 -> 0x80a4314 -> 0x80a2c31 -> 0x8085
3fd -> 0x807dd19 -> 0x80adc7e -> 0x806cb85 -> 0x8067df4 -> 0x806bb66 -> 0x806baf
a -> 0x806bcb4 -> 0x80beb09 -> 0x80be541 -> 0x8072aec -> 0x806710c
dovecot: Mar 13 07:14:34 Error: child 440461 (imap) killed with signal 6
---
(gdb) bt full
#0 0xfee505a7 in _lwp_kill () from /lib/libc.so.1
No symbol table info available.
#1 0xfee4d71b in thr_kill () from /lib/libc.so.1
No symbol table info available.
#2 0xfee06502 in raise () from /lib/libc.so.1
No symbol table info available.
#3 0xfede4b8d in abort () from /lib/libc.so.1
No symbol table info available.
#4 0x080b9920 in i_internal_panic_handler (fmt=0x0,
args=0x8047564 "bÛ\f\b\233\001") at failures.c:403
backtrace = 0x80eabd0 "0x80b9467 -> 0x8098220 -> 0x809af69 -> 0x809b016
-> 0x80a3982 -> 0x80a4314 -> 0x80a2c31 -> 0x80853fd -> 0x807dd19 -> 0x80adc7e ->
0x806cb85 -> 0x8067df4 -> 0x806bb66 -> 0x806bafa -> 0x806bcb4 -> 0x80b"...
#5 0x080b9467 in i_panic (
format=0x80d4234 "file %s: line %d (%s): assertion failed: (%s)")
at failures.c:183
No locals.
#6 0x08098220 in mail_cache_lock (cache=0xfee9b000) at mail-cache.c:469
view = (struct mail_index_view *) 0x0
ext = (const struct mail_index_ext *) 0x4
i = 134510040
ret = 135174244
__PRETTY_FUNCTION__ = "mail_cache_lock"
#7 0x0809af69 in mail_cache_handler_init (ctx_r=0x80475d8, cache=0x8101238)
at mail-cache-sync-update.c:40
ctx = (struct mail_cache_sync_context *) 0x80fd1f8
ret = 0
#8 0x0809b016 in mail_cache_expunge_handler (sync_ctx=0xfee505a7, seq=413,
data=0x8118128, context=0x80f6964) at mail-cache-sync-update.c:85
view = (struct mail_index_view *) 0x810c228
ctx = (struct mail_cache_sync_context *) 0x80fd1f8
cache = (struct mail_cache *) 0x8101238
cache_file_seq = 135318000
ret = 0
#9 0x080a3982 in mail_index_sync_record (ctx=0x8047730, hdr=0x810ee54,
data=0xfed36f08) at mail-index-sync-update.c:306
rec = (const struct mail_transaction_expunge *) 0xfed36f08
end = (const struct mail_transaction_expunge *) 0xfed36f10
ret = 135312872
__PRETTY_FUNCTION__ = "mail_index_sync_record"
#10 0x080a4314 in mail_index_sync_update_index (sync_ctx=0x810c228,
sync_only_external=false) at mail-index-sync-update.c:895
rec = (const struct mail_index_record *) 0x0
index = (struct mail_index *) 0x8107c28
view = (struct mail_index_view *) 0x810c228
map = (struct mail_index_map *) 0x81010e0
sync_map_ctx = {view = 0x810c228, cur_ext_id = 2,
ext_intro_seq = 33554433, ext_intro_offset = 24308, ext_intro_size = 40,
expunge_handlers = {buffer = 0x811b658, element_size = 12},
extra_contexts = {buffer = 0x81117f0, element_size = 4},
type = MAIL_INDEX_SYNC_HANDLER_FILE, sync_handlers_initialized = 0,
expunge_handlers_set = 1, expunge_handlers_used = 1, cur_ext_ignore = 0,
unreliable_flags = 0, sync_only_external = 0}
thdr = (const struct mail_transaction_header *) 0x810ee54
data = (const void *) 0xfed36f08
old_lock_id = 1
i = 0
first_append_uid = 66571
ret = 1
had_dirty = false
skipped = false
check_ext_offsets = false
__PRETTY_FUNCTION__ = "mail_index_sync_update_index"
#11 0x080a2c31 in mail_index_sync_commit (_ctx=0x8047804)
at mail-index-sync.c:669
ctx = (struct mail_index_sync_ctx *) 0x80fd068
index = (struct mail_index *) 0x8107c28
hdr = (const struct mail_index_header *) 0x810823c
seq = 33554433
offset = 28448
ret = 0
#12 0x080853fd in mbox_sync (mbox=0x8100bf0, flags=25) at mbox-sync.c:1816
expunged = false
index_sync_ctx = (struct mail_index_sync_ctx *) 0x80fd068
sync_view = (struct mail_index_view *) 0x810c228
sync_ctx = {mbox = 0x8100bf0, flags = 25, input = 0x8100a44,
file_input = 0x810c544, write_fd = 7, orig_mtime = 1173795269,
orig_size = 22378926, index_sync_ctx = 0x80fd068, sync_view = 0x810c228,
t = 0x0, hdr = 0x810c26c, header = 0x8111f98, from_line = 0x811b680,
base_uid_validity = 1173290687, base_uid_last = 66570,
base_uid_last_offset = 252, mails = {buffer = 0x8111ac0, element_size = 52},
syncs = {buffer = 0x8111868, element_size = 20}, sync_rec = {uid1 = 0,
uid2 = 0, type = 0, add_flags = 0 '\0', remove_flags = 0 '\0',
keyword_idx = 0}, mail_keyword_pool = 0x80fcee0,
saved_keywords_pool = 0x8101500, prev_msg_uid = 66773, next_uid = 66774,
idx_next_uid = 66571, seq = 1458, idx_seq = 1661, need_space_seq = 0,
expunged_space = 0, space_diff = 0, dest_first_mail = 0,
first_mail_crlf_expunged = 0, delay_writes = 0, renumber_uids = 0,
moved_offsets = 0}
seq = 33554433
offset = 28448
lock_id = 79
ret = 0
changed = 1
__PRETTY_FUNCTION__ = "mbox_sync"
#13 0x0807dd19 in mbox_transaction_commit (_t=0x8103490, flags=3)
at mbox-transaction.c:59
mbox_sync_flags = 0
t = (struct mbox_transaction_context *) 0x8103490
mbox = (struct mbox_mailbox *) 0x8100bf0
lock_id = 0
mbox_modified = false
ret = 0
#14 0x080adc7e in mailbox_transaction_commit (_t=0x0, flags=3)
at mail-storage.c:506
t = (struct mailbox_transaction_context *) 0x0
#15 0x0806cb85 in imap_expunge (box=0x8100bf0, next_search_arg=0x0)
at imap-expunge.c:46
ctx = (struct mail_search_context *) 0x0
t = (struct mailbox_transaction_context *) 0x0
mail = (struct mail *) 0x0
search_arg = {next = 0x0, type = SEARCH_DELETED, value = {
subargs = 0x0, seqset = 0x0, str = 0x0}, context = 0x0,
hdr_field_name = 0x0, not = 0, match_always = 0, result = -1}
failed = false
#16 0x08067df4 in cmd_close (cmd=0x80f784c) at cmd-close.c:19
client = (struct client *) 0x80f7808
mailbox = (struct mailbox *) 0x8100bf0
storage = (struct mail_storage *) 0x80f7520
#17 0x0806bb66 in client_handle_input (cmd=0x80f784c) at client.c:332
client = (struct client *) 0x80f7808
__PRETTY_FUNCTION__ = "client_handle_input"
#18 0x0806bafa in client_handle_input (cmd=0x80f784c) at client.c:389
client = (struct client *) 0x80f7808
__PRETTY_FUNCTION__ = "client_handle_input"
#19 0x0806bcb4 in _client_input (context=0x80f7808) at client.c:432
client = (struct client *) 0x80f7808
cmd = (struct client_command_context *) 0x80f784c
ret = 2
__PRETTY_FUNCTION__ = "_client_input"
#20 0x080beb09 in io_loop_handler_run (ioloop=0x80f5000) at ioloop-poll.c:199
ctx = (struct ioloop_handler_context *) 0x80f5038
pollfd = (struct pollfd *) 0x2
tv = {tv_sec = 0, tv_usec = 999973}
io = (struct io *) 0x80f6418
t_id = 2
msecs = 0
ret = 0
call = true
#21 0x080be541 in io_loop_run (ioloop=0x80f5000) at ioloop.c:323
No locals.
#22 0x08072aec in main (argc=1, argv=0x8047afc, envp=0x8047b04) at main.c:287
No locals.
--
Daniel Price - Solaris Kernel Engineering - dp at eng.sun.com - blogs.sun.com/dp
More information about the dovecot
mailing list