I get this assertion failure:
file maildir-save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0)
once a while when I APPEND messages to a folder. My plugin doesn't touch the ctx, especially not the internal maildir one, but I have no idea where to start looking. Any hints?
johannes
On Tue, 2007-10-02 at 10:45 +0200, Johannes Berg wrote:
I get this assertion failure:
file maildir-save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0)
once a while when I APPEND messages to a folder. My plugin doesn't touch the ctx, especially not the internal maildir one, but I have no idea where to start looking. Any hints?
It looks like it could be possible that this triggers only because the plugin forces dest_mail != NULL and the code doesn't expect that. But that should trigger with the quota plugin too then.
johannes
On Tue, 2007-10-02 at 10:45 +0200, Johannes Berg wrote:
I get this assertion failure:
file maildir-save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0)
once a while when I APPEND messages to a folder. My plugin doesn't touch the ctx, especially not the internal maildir one, but I have no idea where to start looking. Any hints?
First, thank you Johannes for your terrific work. I just love the antispam plugin and it's really worth the effort to get it installed.
But now to the point, unfortunately I ran into the same issue you mentioned in your mail:
Oct 9 11:54:35 server dovecot: IMAP(imap-user@imap-server): file maildir- save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0) Oct 9 11:54:35 server dovecot: IMAP(imap-user@imap-server): Raw backtrace: imap [0x80a8a4b] -> imap(i_info+0) [0x80a899a] -> imap(maildir_save_cancel+0) [0x806ca6d] -> /usr/lib/dovecot/imap/lib90_antispam_plugin.so [0xb7ef04c6] -> imap [0x8056097] -> imap [0x805688b] -> imap(io_loop_handler_run+0x105) [0x80ae3bf] -> imap(io_loop_run+0x1c) [0x80ad6e4] -> imap(main+0x4d0) [0x8062b0d] -> /lib/libc.so.6(__libc_start_main+0xdc) [0xb7dda824] -> imap [0x8055e51] Oct 9 11:54:35 server dovecot: child 27849 (imap) killed with signal 6
This is how I reproduce the problem:
- Start Outlook 2003
- Connect to Dovecot
- Create a new IMAP folder named "Sent Items"
- Open my old Outlook.pst data file
- Copy one message from the old "Sent Items" folder to the new IMAP folder (Outlook: "OK")
- Copy another message from the old folder to the new folder (Outlook: "Failure")
- Assertion fails and imap child gets killed
The problem disappears when I disable the antispam plugin.
This is my environment:
- Gentoo (stable)
- Dovecot 1.0.3
- Antispam plugin from git repository as of October 5 14:33 GMT
- Backend is crm114-exec (20060704a-BlameRobert)
- Client is Outlook 2003 on Windows XP (SP2)
Currently my best guess is that the problem might be related to the fact that the mails Outlook stores in the "Sent Items" folder are lacking headers.
Thanks again for sharing your wonderful work.
Best regards, Max
On Tue, 2007-10-09 at 14:02 +0200, Max wrote:
First, thank you Johannes for your terrific work. I just love the antispam plugin and it's really worth the effort to get it installed.
Thanks :)
But now to the point, unfortunately I ran into the same issue you mentioned in your mail:
Oct 9 11:54:35 server dovecot: IMAP(imap-user@imap-server): file maildir- save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0) Oct 9 11:54:35 server dovecot: IMAP(imap-user@imap-server): Raw backtrace: imap [0x80a8a4b] -> imap(i_info+0) [0x80a899a] -> imap(maildir_save_cancel+0) [0x806ca6d] -> /usr/lib/dovecot/imap/lib90_antispam_plugin.so [0xb7ef04c6] -> imap [0x8056097] -> imap [0x805688b] -> imap(io_loop_handler_run+0x105) [0x80ae3bf] -> imap(io_loop_run+0x1c) [0x80ad6e4] -> imap(main+0x4d0) [0x8062b0d] -> /lib/libc.so.6(__libc_start_main+0xdc) [0xb7dda824] -> imap [0x8055e51] Oct 9 11:54:35 server dovecot: child 27849 (imap) killed with signal 6
This is how I reproduce the problem:
- Start Outlook 2003
- Connect to Dovecot
- Create a new IMAP folder named "Sent Items"
- Open my old Outlook.pst data file
- Copy one message from the old "Sent Items" folder to the new IMAP folder (Outlook: "OK")
- Copy another message from the old folder to the new folder (Outlook: "Failure")
- Assertion fails and imap child gets killed
Right. Similar here when I have a "Sent" folder and send mail that is appended to it.
The problem disappears when I disable the antispam plugin.
Same here. Do you have a quota setup? I'm not entirely sure but I think that the quota plugin might have the same problem. If anyone has the quota plugin set up I'd appreciate a quick test like the one above.
Currently my best guess is that the problem might be related to the fact that the mails Outlook stores in the "Sent Items" folder are lacking headers.
I'm pretty sure the problem lies deeper than that since we hook into the storage code here.
johannes
On Tue, 2007-10-02 at 10:45 +0200, Johannes Berg wrote:
I get this assertion failure:
file maildir-save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0)
My mistake. The quota plugin doesn't have this bug because it overrides box->v.save_init and sets 'want_mail' to TRUE in all cases. This is what I've just implemented in my plugin as well. With this, the last remaining bug that I know of is fixed. Have fun :)
johannes
On Tue, 2007-10-15 at 15:01 +0200, Johannes Berg wrote:
I get this assertion failure:
file maildir-save.c: line 456 (maildir_save_finish): assertion failed: (ctx->seq != 0)
My mistake. The quota plugin doesn't have this bug because it overrides box->v.save_init and sets 'want_mail' to TRUE in all cases. This is what I've just implemented in my plugin as well. With this, the last remaining bug that I know of is fixed. Have fun :)
johannes
You are right. I just rebuilt the latest snapshot and the error disappeared. Thank you for fixing this so quickly.
Best regards, Max
participants (2)
-
Johannes Berg
-
Max