[Dovecot] [Bug] dovecot deliver v1.2.1 segfaults

Nikita Koshikov koshikov at gmail.com
Mon Jul 20 22:05:57 EEST 2009


Thanks for your respond, Stephan.
Here is information, that maybe will be usefull for debugging.

On Mon, 20 Jul 2009 18:53:15 +0200
Stephan Bosch <stephan at rename-it.nl> wrote:

> Since it fails hereafter it would not surprise me when this is a Sieve 
> problem. Could you provide:
> 
> 1) The Sieve scripts involved in the problem (anonymized if you care):
> 
> /etc/dovecot/sieve/default.sieve 
> /data/mail/domain.com/koshikov.n/.dovecot.sieve

/etc/dovecot/sieve/default.sieve

require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
  fileinto "Spam";
} 

/data/mail/domain.com/koshikov.n/.dovecot.sieve

require ["fileinto","envelope"];
# rule:[Cron]
if anyof (header :contains "Subject" "Cron")
{
	fileinto "INBOX.Cron";
}
# rule:[Logwatch]
elsif anyof (header :contains "Subject" "Logwatch for")
{
	fileinto "INBOX.Logwatch";
}
# rule:[Postmaster errors]
elsif anyof (address :contains "From" "MAILER-DAEMON")
{
	fileinto "INBOX.Postmaster";
}
# rule:[Exim statistic]
elsif anyof (header :contains "Subject" "Exim statistic")
{
	fileinto "INBOX.Mailstat";
}
# rule:[Arpwatch]
elsif anyof (envelope :contains "From" "arpwatch at guard.domain.com")
{
	fileinto "INBOX.Arpwatch";
}
# rule:[backup]
elsif anyof (header :contains "Subject" "backup report")
{
	fileinto "INBOX.Backup";
}

> 
> 2) An e-mail message that is known to trigger this failure
>
In attachment you can find exim -Mvh and exim -Mvb format message.

> > deliver[9476]: segfault at 0 ip b7e16713 sp bfa0ba2c error 4 in libc-2.9.so[b7da4000+13d000]
> > deliver[11572]: segfault at 0 ip b7f41713 sp bfb38b4c error 4 in libc-2.9.so[b7ecf000+13d000]
> > deliver[12433]: segfault at 0 ip b7e7e713 sp bfb73b8c error 4 in libc-2.9.so[b7e0c000+13d000]
> 
> If your Dovecot is compiled with debugging symbols enabled you can 
> obtain a useful trace by executing deliver in gdb:
> 
> gdb --args /usr/lib/dovecot/deliver -p mail.eml
> 
> Type 'r' and press enter and wait until it crashes. Type 'bt' to obtain 
> the back trace.
Here is a problem with sending parameters to deliver

 gdb --args /usr/libexec/dovecot/deliver -p /home/admin/message.eml 
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)
(gdb) r
Starting program: /usr/libexec/dovecot/deliver -p /home/admin/message.eml
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Fatal: destination user parameter (-d user) not given

If I add -d "koshikov.n at domain.com" 
(gdb) r
Starting program: /usr/libexec/dovecot/deliver -d koshikov.n at domain.com -p /root/mail.eml
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Warning: Growing pool 'Plugin strings' with: 1024
Warning: Growing pool 'Plugin strings' with: 2048
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program exited with code 0113.
(gdb) bt
No stack.

Here is mine configure options
./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --localstatedir=/var --sysconfdir=/etc/dovecot --enable-header-install --with-ioloop=best --with-libcap --with-db --enable-devel-checks --without-gssapi --with-ldap --without-mysql --with-pam --without-pgsql --with-sqlite --without-vpopmail --with-ssl=openssl


> 
> Alternatively, you can obtain a core dump, but I must say that I have 
> little experience with producing one. Other people on this list can help 
> you with this. Basic information is available at:
> 
> http://www.dovecot.org/bugreport.html
> 
I have tried to get it, but nothing appear in user's home directory

> > plugin:
> [...]
> >   sieve: ~/.dovecot.sieve
> >   sieve_dir: ~/sieve
> >   sieve_extensions: +imapflags +notify
> I see that you have enabled deprecated notify support. What version are 
> you using? The notify support provided by the last release (0.1.8) is 
> not compatible with CMUSieve and it is therefore not (yet) useful to 
> enable this.

This two plugins was enbled for testing purposes only. I disabled them, but the problem is still here.
I'm using sieve-0.1.8 version now.

Also, I just have seen two more messages in exim's queue, that exited with segmentation faults, so problem not in system filter. If you need this two mail-examples please tell. They also exited after sieve section in logs.


> 
> Regards,
> 
> -- 
> Stephan Bosch
> stephan at rename-it.nl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: message.eml
Type: application/octet-stream
Size: 2091 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20090720/6d101e30/attachment.obj 


More information about the dovecot mailing list