On Jun 19 2007, [EMAIL PROTECTED] wrote:
On May 13 2007, Timo Sirainen wrote:
On Mon, 2007-04-23 at 13:40 -0500, [EMAIL PROTECTED] wrote:
Apr 23 13:22:41 server.umn.edu dovecot: [ID 107833 local6.error]
[9073]
IMAP(USER): mbox /var/mail/user: seq=1 uid=8808 uid_broken=0 originally
needed 10 bytes, now needs 23 bytes
Anything else than Dovecot accessing these mboxes (besides MDA)?
Nope. Dovecot IMAP and deliver.
Do you have a core file from that crash? It would show a bit more
information. If not, see http://dovecot.org/bugreport.html
So, I'm including a backtrace for this. Sorry if you replied earlier and I
missed it! Please let me know what else you might need. We're seeing this
on about three dozen inboxes (which is a very small percentage, but a large
enough number to hear about it :) ).
(dbx) where
[1] 0xff1c16e8(0x6, 0x0, 0xff1a4d28, 0xffffffff, 0xff1e8298, 0x6), at
0xff1c16e8
[2] _getutxline(0x9d8b0, 0x1, 0xb00e0, 0xa8244, 0xff1eb298, 0x0), at
0xff140158 =>[3] i_internal_panic_handler(fmt = 0x93b88 "mbox %s: seq=%u
uid=%u uid_broken=%d originally needed %llu bytes, now needs %u bytes",
args = 0xffbfe7d0), line 403 in "failures.c"
[4] i_panic(format = 0x93b88 "mbox %s: seq=%u uid=%u uid_broken=%d
originally needed %llu bytes, now needs %u bytes", ...), line 183 in
"failures.c"
[5] mbox_sync_rewrite(sync_ctx = 0xffbfefd0, mail_ctx = (nil), end_offset
= 4448ULL, move_diff = 30LL, extra_space = 4294971774ULL, first_seq = 1U,
last_seq = 163U), line 422 in "mbox-sync-rewrite.c"
[6] mbox_sync_do(sync_ctx = 0xffbfefd0, flags = -4198952), line 920 in
"mbox-sync.c"
[7] mbox_sync(mbox = 0xc99e0, flags = MBOX_SYNC_UNDIRTY), line 1873 in
"mbox-sync.c"
[8] mbox_storage_sync_init(box = 0xc99e0, flags =
MAILBOX_SYNC_FLAG_FULL_READ), line 1957 in "mbox-sync.c"
[9] mailbox_sync_init(box = 0xc99e0, flags =
MAILBOX_SYNC_FLAG_FULL_READ), line 406 in "mail-storage.c"
[10] imap_sync_nonselected(box = 0xc99e0, flags =
MAILBOX_SYNC_FLAG_FULL_READ), line 196 in "imap-sync.c"
[11] _cmd_select_full(cmd = 0xc39e4, readonly = 0), line 39 in
"cmd-select.c"
[12] cmd_select(cmd = 0xc39e4), line 92 in "cmd-select.c"
[13] client_handle_input(cmd = 0xc39e4), line 335 in "client.c"
[14] client_handle_input(cmd = 0xc39e4), line 389 in "client.c"
[15] _client_input(context = 0xc39a0), line 432 in "client.c"
[16] io_loop_handler_run(ioloop = 0xb9f08), line 199 in "ioloop-poll.c"
[17] io_loop_run(ioloop = 0xb9f08), line 326 in "ioloop.c"
[18] main(argc = -4195453, argv = 0xb0800, envp = 0xb1be4), line 290 in
"main.c"
And in case it helps, a dump from frame [5] which is the last bit before
the crash:
(dbx) frame 5
Current function is mbox_sync_rewrite
422 i_panic("mbox %s: seq=%u uid=%u uid_broken=%d " (dbx) dump
first_nonexpunged = 255U
move_diff = 30LL
ret = 0
mails = 0xcd810
idx = 0
padding_per_mail = 20U
first_nonexpunged_idx = 0
expunged_space = 0
sync_ctx = 0xffbfefd0
extra_space = 4294971774ULL
mail_ctx = (nil)
dest_offset = 0
count = 2U
last_seq = 163U
orig_prev_msg_uid = 1359U
next_move_diff = 10ULL
end_offset = 4448ULL
__PRETTY_FUNCTION__ = "mbox_sync_rewrite"
start_offset = 0
offset = 4294971774ULL
first_seq = 1U
next_end_offset = 52ULL
If these happen frequently, I could also send a debug patch that writes
the broken mbox headers to some temp file. That with the core file would
provide enough information to figure out what exactly is the problem.
This is still an option, if it would help.
-Brian Hayden
Internet Services
University of MN