On Monday 18 May 2009 00:58:40 Timo Sirainen wrote: > On Wed, 2009-05-06 at 13:16 +0200, Stefan Roese wrote: > > I'm experiencing a problem with some mails in deliver. Here the logged > > error message: > > > > deliver(ste...@roese.nl): 2009-05-06 11:57:36 Panic: file > > index-mail-headers.c: line 141 (index_mail_parse_header_finish): > > assertion failed: ((match[match_idx] & HEADER_MATCH_FLAG_FOUND) == 0) > > Hmm. Interesting. That code has existed a long time and used also by > IMAP, so I'd think it should have been bugfree..
I upgraded to 1.1.14 a few days ago and the error still occurs. > > [0xb7fdf98f] -> /usr/lib/dovecot/deliver(mail_get_headers_utf8+0x25) > > [0xb7fe7315] -> /usr/lib/dovecot/modules/lda/lib90_cmusieve_plugin.so > > You have a Sieve script that does something with headers. What does it > look like? Please find it attached. > Can you reproduce this? For example does it always crash with some > specific mail? If so, I'd like to get a copy of that mail. It happens on some mails from the Linux mailing lists (xxx.vger.kernel.org). I already created a wrapper script to deliver so that those mails don't bounce. Unfortunately I didn't extract such failing mails till now. I'll try to provide one in the next few days. Thanks. Best regards, Stefan
require ["reject", "fileinto", "relational"]; #if address :is "To" "t...@roese.nl" { # fileinto "INBOX.testfolder"; # stop; #} #if address :is "From" "s...@denx.de" { # fileinto "INBOX.testfolder2"; # stop; #} #if address :is "Return-Path" "<linux-kernel>" { # fileinto "INBOX.Lists.linux-kernel"; # stop; #} ############################################ # Root stuff... ## Move spam to spam folder ## removed for now, since SPAM was not detected correctly from mnet (s...@denx.de), 2008-07-04 #if anyof(header :is "X-DSPAM-Result" "Spam", # header :is "X-Spam-Flag" "YES") { # fileinto "INBOX.SPAM"; # stop; #} if header :is "Return-Path" "<r...@server>" { fileinto "INBOX.root"; stop; } if header :is "To" "fr...@roese.nl" { fileinto "INBOX.FritzBox"; stop; } ################################################## # DENX stuff... if header :is "Return-Path" "<w...@denx.de>" { fileinto "INBOX.Denx"; stop; } ################################################### # Mailing lists... if anyof(header :contains "List-Id" "<u-boot-users.lists.sourceforge.net>", header :contains "List-Id" "<u-boot.lists.denx.de>") { fileinto "INBOX.Lists.U-Boot"; stop; } if anyof(header :contains "Return-Path" "linuxppc-dev", header :contains "Return-Path" "linuxppc-embedded") { fileinto "INBOX.Lists.linuxppc-dev"; stop; } #if header :contains "Return-Path" "linuxppc-embedded" { # fileinto "INBOX.Lists.linuxppc-embedded"; # stop; #} if header :contains "Return-Path" "devicetree-discuss" { fileinto "INBOX.Lists.devicetree-discuss"; stop; } if header :contains "Return-Path" "uclinux-dev" { fileinto "INBOX.Lists.uClinux-dev"; stop; } if header :is "List-ID" "Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>" { fileinto "INBOX.Lists.linux-mtd"; stop; } if header :is "List-ID" "Linux MTD CVS commit list <linux-mtd-cvs.lists.infradead.org>" { fileinto "INBOX.Lists.linux-mtd-cvs"; stop; } if header :is "List-ID" "<skigeek.lists.infradead.org>" { fileinto "INBOX.Lists.Skigeek"; stop; } if header :is "Return-Path" "<owner-jffs-...@axis.com>" { fileinto "INBOX.Lists.jffs-dev"; stop; } if header :contains "List-Id" "<spi-devel-general.lists.sourceforge.net>" { fileinto "INBOX.Lists.linux-spi-devel"; stop; } if header :contains "Return-Path" "linux-mips" { fileinto "INBOX.Lists.linux-mips"; stop; } if header :is "To" "git-comm...@linux-mips.org" { fileinto "INBOX.Lists.linux-mips-git"; stop; } if anyof(header :contains "Return-Path" "linux-arm-kernel", header :contains "Return-Path" "<mailman-boun...@lists.arm.linux.org.uk>") { fileinto "INBOX.Lists.linux-arm-kernel"; stop; } if header :contains "Return-Path" "linux-arm-toolchain" { fileinto "INBOX.Lists.linux-arm-toolchain"; stop; } if anyof(header :contains "List-Id" "Linux OMAP Open Source Mailing List Archive", header :is "Return-Path" "<linux-omap-ow...@vger.kernel.org>") { fileinto "INBOX.Lists.linux-omap"; stop; } if header :is "List-ID" "Dovecot Mailing List <dovecot.dovecot.org>" { fileinto "INBOX.Lists.dovecot"; stop; } if header :contains "Return-Path" "<etux" { fileinto "INBOX.Lists.embeddedtux"; stop; } if header :contains "List-Id" "<rtnet-users.lists.sourceforge.net>" { fileinto "INBOX.Lists.RTnet"; stop; } if anyof(header :contains "List-Id" "RTAI discussion <rtai.rtai.org>", header :contains "List-Id" "<rtai.liste.cilea.it>", header :contains "List-Id" "<rtai.rtai.org>") { fileinto "INBOX.Lists.RTAI"; stop; } if anyof(header :contains "Return-Path" "<yaffs-boun...@stoneboat.aleph1.co.uk>", header :contains "Return-Path" "<yaffs-boun...@lists.aleph1.co.uk>") { fileinto "INBOX.Lists.YAFFS"; stop; } if header :contains "List-Id" "CE Linux Developers List <celinux-dev.tree.celinuxforum.org>" { fileinto "INBOX.Lists.celinux-dev"; stop; } if header :contains "List-Id" "Open test lab mailing list <opentestlab.tree.celinuxforum.org>" { fileinto "INBOX.Lists.celinux-opentestlab"; stop; } if header :contains "Return-Path" "<elinos-users-boun...@lists.sysgo.com>" { fileinto "INBOX.Lists.elinos-users"; stop; } if header :contains "Return-Path" "<linux-c-programming-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-c-programming"; stop; } if header :contains "List-Id" "lm-sensors discussion list <lm-sensors.lm-sensors.org>" { fileinto "INBOX.Lists.lm-sensors"; stop; } if header :contains "List-Id" "linux i2c discussion list <i2c.lm-sensors.org>" { fileinto "INBOX.Lists.lm-sensors-i2c"; stop; } if header :contains "List-Id" "For discussion about KDE PIM applications <kdepim-users.kde.org>" { fileinto "INBOX.Lists.kdepim-users"; stop; } if anyof(header :contains "To" "ecos-devel", header :contains "Return-Path" "ecos-devel") { fileinto "INBOX.Lists.ecos-devel"; stop; } if header :contains "Return-Path" "xenomai-" { fileinto "INBOX.Lists.Xenomai"; stop; } if anyof(header :contains "Return-Path" "<ag-automation-boun...@lists.osadl.org>", header :contains "Return-Path" "<ag-automation-boun...@www.osadl.org>", header :contains "List-Id" "OSADL Initial Mailinglist <osadl.lists.osadl.org>") { fileinto "INBOX.Lists.OSADL"; stop; } if anyof(header :contains "List-Id" "<socketcan-core.lists.berlios.de>", header :contains "List-Id" "<socketcan-users.lists.berlios.de>") { fileinto "INBOX.Lists.socketcan"; stop; } if header :contains "Return-Path" "<linux-serial-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-serial"; stop; } if header :contains "Return-Path" "<linux-crypto-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-crypto"; stop; } if header :contains "Return-Path" "<linux-pci-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-pci"; stop; } if header :contains "Return-Path" "<linux-embedded-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-embedded"; stop; } if header :contains "Sender" "rtc-li...@googlegroups.com" { fileinto "INBOX.Lists.rtc-linux"; stop; } if header :contains "Sender" "kvm-ppc-devel-boun...@lists.sourceforge.net" { fileinto "INBOX.Lists.kvm-ppc-devel"; stop; } if header :contains "" "" { fileinto "INBOX.Lists."; stop; } if header :contains "Delivered-To" "mailing list pa...@power.org" { fileinto "INBOX.Lists.power-org"; stop; } if anyof(header :contains "List-Post" "<mailto:openmoko-de...@lists.openmoko.org>", header :contains "List-Post" "<mailto:de...@lists.openmoko.org>") { fileinto "INBOX.Lists.openmoko-devel"; stop; } if header :contains "Return-Path" "<eldk-boun...@lists.denx.de>" { fileinto "INBOX.Lists.ELDK"; stop; } ################################################################## # Private stuff... if anyof(header :contains "To" "<GeorgeRRMartin", header :contains "List-Id" "<George-r-r-martin.yahoogroups.com>", header :contains "Mailing-List" "list georgerrmar...@yahoogroups.com", header :contains "Mailing-List" "list georgerrmar...@yahoogroups.com; contact georgerrmartin-ow...@yahoogroups.com", header :contains "Mailing-List" "list georgerrmar...@yahoogroups.com; contact georgerrmartin-ow...@yahoogroups.com") { fileinto "INBOX.Lists.George-R-R-Martin"; stop; } ############################################################### # Newsletter... if header :contains "Return-Path" "<productnotificat...@amcc.com>" { fileinto "INBOX.Newsletter.AMCC"; stop; } if header :contains "Return-Path" "<i...@isource.ibm.com>" { fileinto "INBOX.Newsletter.IBM"; stop; } if header :contains "Return-Path" "<tomshardw...@emv3.com>" { fileinto "INBOX.Newsletter.Toms-Hardware-Guide"; stop; } if header :contains "Return-Path" "<newslett...@ebay.de>" { fileinto "INBOX.eBay"; stop; } ################################################################ # big lists with multiple subscription here: # git, lkml etc. at last please if header :contains "Return-Path" "<linux-raid-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-raid"; stop; } if header :contains "Return-Path" "<git-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.git"; stop; } if anyof(header :is "List-ID" "<linux-usb.vger.kernel.org>", header :is "List-ID" "<linux-usb-devel.lists.sourceforge.net>") { fileinto "INBOX.Lists.linux-usb-devel"; stop; } #if header :is "List-ID" "<linux-usb-devel.lists.sourceforge.net>" { # fileinto "INBOX.Lists.linux-usb-devel"; # stop; #} if header :contains "Return-Path" "<netdev-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.netdev"; stop; } if header :contains "Return-Path" "<linux-ide-ow...@vger.kernel.org>" { fileinto "INBOX.Lists.linux-ide"; stop; } if header :is "List-ID" "<linux-kernel.vger.kernel.org>" { fileinto "INBOX.Lists.linux-kernel"; stop; }