Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On Tue, 2013-04-16 at 19:28 +0200, Pascal Volk wrote: > On 04/15/2013 11:33 PM Pascal Volk wrote: > > OK, applied that patch. Lets see what will happen. > > > > Looks good. No crash in the last 20 hours. OK. Committed the patch a little bit differently: http://hg.dovecot.org/dovecot-2.2/rev/8a07a5f6fd54
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On 04/15/2013 11:33 PM Pascal Volk wrote: > OK, applied that patch. Lets see what will happen. > Looks good. No crash in the last 20 hours. Regards, Pascal -- The trapper recommends today: cafefeed.1310...@localdomain.org
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On 04/15/2013 06:55 PM Timo Sirainen wrote: > On Mon, 2013-04-15 at 19:53 +0300, Timo Sirainen wrote: >> Uh, wrong directory. This patch. :) > > Once more, with some error checks :) OK, applied that patch. Lets see what will happen. Regards, Pascal -- The trapper recommends today: defaced.1310...@localdomain.org
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On Mon, 2013-04-15 at 19:53 +0300, Timo Sirainen wrote: > On Mon, 2013-04-15 at 19:50 +0300, Timo Sirainen wrote: > > On Mon, 2013-04-15 at 16:37 +0200, Pascal Volk wrote: > > > > > some imap processes seems to have some problems. > > > > I still can't reproduce .. but I wonder if the attached patch makes a > > difference. > > Uh, wrong directory. This patch. :) Once more, with some error checks :) diff -r b38d5ebacf25 src/imap/cmd-append.c --- a/src/imap/cmd-append.c Mon Apr 15 17:22:06 2013 +0300 +++ b/src/imap/cmd-append.c Mon Apr 15 19:54:49 2013 +0300 @@ -777,6 +777,11 @@ if (ctx->litinput->eof || client->input->closed) { bool all_written = ctx->litinput->v_offset == ctx->literal_size; + if (all_written && ctx->save_ctx != NULL && !ctx->failed) { + if (mailbox_save_continue(ctx->save_ctx) < 0) +ctx->failed = TRUE; + } + /* finished - do one more read, to make sure istream-chain unreferences its stream, which is needed for litinput's unreferencing to seek the client->input to correct
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On Mon, 2013-04-15 at 19:50 +0300, Timo Sirainen wrote: > On Mon, 2013-04-15 at 16:37 +0200, Pascal Volk wrote: > > > some imap processes seems to have some problems. > > I still can't reproduce .. but I wonder if the attached patch makes a > difference. Uh, wrong directory. This patch. :) diff -r b38d5ebacf25 src/imap/cmd-append.c --- a/src/imap/cmd-append.c Mon Apr 15 17:22:06 2013 +0300 +++ b/src/imap/cmd-append.c Mon Apr 15 19:48:40 2013 +0300 @@ -777,6 +777,11 @@ if (ctx->litinput->eof || client->input->closed) { bool all_written = ctx->litinput->v_offset == ctx->literal_size; + if (all_written) { + if (mailbox_save_continue(ctx->save_ctx) < 0) +ctx->failed = TRUE; + } + /* finished - do one more read, to make sure istream-chain unreferences its stream, which is needed for litinput's unreferencing to seek the client->input to correct
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On Mon, 2013-04-15 at 16:37 +0200, Pascal Volk wrote: > some imap processes seems to have some problems. I still can't reproduce .. but I wonder if the attached patch makes a difference. Also in the gdb these would be useful to know: p *attach.input.real_stream.parent.real_stream p *attach.input.real_stream.parent.real_stream.parent.real_stream p *attach.input.real_stream.parent.real_stream.parent.real_stream.parent.real_stream (not sure how many parents it has) diff -r 613258f9f541 src/lib-sieve/edit-mail.c --- a/src/lib-sieve/edit-mail.c Mon Oct 29 22:42:34 2012 +0100 +++ b/src/lib-sieve/edit-mail.c Sat Jan 05 01:34:21 2013 +0200 @@ -1078,6 +1078,13 @@ return edmail->wrapped->v.get_modseq(&edmail->wrapped->mail); } +static uint64_t edit_mail_get_pvt_modseq(struct mail *mail) +{ + struct edit_mail *edmail = (struct edit_mail *)mail; + + return edmail->wrapped->v.get_pvt_modseq(&edmail->wrapped->mail); +} + static int edit_mail_get_parts (struct mail *mail, struct message_part **parts_r) { @@ -1397,6 +1404,13 @@ edmail->wrapped->v.update_modseq(&edmail->wrapped->mail, min_modseq); } +static void edit_mail_update_pvt_modseq(struct mail *mail, uint64_t min_pvt_modseq) +{ + struct edit_mail *edmail = (struct edit_mail *)mail; + + edmail->wrapped->v.update_pvt_modseq(&edmail->wrapped->mail, min_pvt_modseq); +} + static void edit_mail_update_pop3_uidl(struct mail *mail, const char *uidl) { struct edit_mail *edmail = (struct edit_mail *)mail; @@ -1431,6 +1445,7 @@ edit_mail_get_keywords, edit_mail_get_keyword_indexes, edit_mail_get_modseq, + edit_mail_get_pvt_modseq, edit_mail_get_parts, edit_mail_get_date, edit_mail_get_received_date, @@ -1447,6 +1462,7 @@ edit_mail_update_flags, edit_mail_update_keywords, edit_mail_update_modseq, + edit_mail_update_pvt_modseq, edit_mail_update_pop3_uidl, edit_mail_expunge, edit_mail_set_cache_corrupted,
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On 04/15/2013 04:51 PM, Timo Sirainen wrote: > Can you reproduce it? What client was that with? I wonder if it was > using CATENATE extension. Three users where able to crash their imap service. All three users are using Thunderbird 17.0.5@Windows. I'm not sure what they've done exactly. Nobody complained about it - so far. Regards, Pascal
Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)
On Mon, 2013-04-15 at 16:37 +0200, Pascal Volk wrote: > some imap processes seems to have some problems. Can you reproduce it? What client was that with? I wonder if it was using CATENATE extension.