Re: [Dovecot] imap Panic: file index-attachment.c: line 231 (index_attachment_save_finish): assertion failed: (attach->input->eof)

2013-04-17 Thread Timo Sirainen
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)

2013-04-16 Thread Pascal Volk
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)

2013-04-15 Thread Pascal Volk
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)

2013-04-15 Thread Timo Sirainen
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)

2013-04-15 Thread Timo Sirainen
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)

2013-04-15 Thread Timo Sirainen
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)

2013-04-15 Thread Pascal Volk
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)

2013-04-15 Thread Timo Sirainen
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.