Fatal: master: service(imap): child 28145 killed with signal 11 (core dumped) -- started happening after upgrade last night

Ben Johnson ben at indietorrent.org
Thu Aug 28 13:21:33 UTC 2014


On 8/20/2014 5:37 AM, Timo Sirainen wrote:
> On 18 Aug 2014, at 17:30, Ben Johnson <ben at indietorrent.org> wrote:
> 
>> Ironically, the very reason for which I replaced my distro's source
>> repos with
>>
>> deb http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main
>> deb-src http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main
> 
> These are just nightly builds and there's a good chance they break randomly. Maybe the problem in your case is that the antispam plugin just wasn't recompiled after some changes that required recompiling. I'm not sure. In any case a better working repository is here: http://shop.dovecot.fi/home/8-dovecot-ee-repository-access.html (It's free even though it still says $99 in the main page. Everyone's too busy to bother changing the web.)
> 

Thank you for the clarification, Timo.

I was able to get the repository access squared-away via the Dovecot
store. The price does in fact reflect $0, so, somebody took the
initiative to correct that recently. :)

When I start dovecot, there is a mismatch between ABI versions when the
plugin is loaded:

Aug 27 09:22:11 local dovecot: imap: Error: Module is for different ABI
version 2.2.ABIv13.2(2.2.13) (we have 2.2.ABIv13(2.2.13.8)):
/usr/lib/dovecot/modules/lib90_antispam_plugin.so
Aug 27 09:22:11 local dovecot: imap: Fatal: Couldn't load required plugins

In retrospect, this is probably what has been happening all along (with
dovecot-deliver exiting with code 134); previously, I failed to notice
the message about the ABI mismatch immediately after Dovecot is started.

Does this mean that the plugin source code has not been updated to
function with dovecot-2.2.13.8? If so, would I need to downgrade the
dovecot version to 2.2.13 for the plugin to work? Or should this message
be interpreted in some other way?

For the sake of thoroughness, and to ensure that I didn't botch the
procedure in any way, I have included at the bottom of this message the
exact steps that I took.

Thank you for any help,

-Ben



1.) Added to /etc/apt/sources.list:

deb https://user:pass@apt.dovecot.fi/ubuntu/precise/2.2 precise main

2.) Installed dovecot from EE package repository:

# apt-get remove dovecot

# apt-get update

# apt-get install dovecot-ee-core dovecot-ee-imapd dovecot-ee-pop3d
dovecot-ee-sieve dovecot-ee-managesieved dovecot-ee-mysql dovecot-ee-dbg
dovecot-ee-dev

3.) Checked-out latest Antispam plugin source:

# hg clone http://hg.dovecot.org/dovecot-antispam-plugin

4.) Built and installed plugin:

# cd dovecot-antispam-plugin

# sh ./autogen.sh
*info* running aclocal (-I m4)
*info* running autoheader
*info* running autoconf

# ./configure --with-dovecot=/usr/lib/dovecot
checking for tput... /usr/bin/tput
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether we need an implib... no
checking for shared library system... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for "/usr/lib/dovecot/dovecot-config"...
/usr/lib/dovecot/dovecot-config
checking whether OS supports plugin dependencies... yes
checking for dovecot tree type... installed
configure: touching .deps files
configure: creating ./config.status
config.status: creating buildsys.mk
config.status: creating extra.mk
config.status: creating config.h

# make
Entering directory src.
Successfully compiled antispam-plugin.c (plugin).
Successfully compiled aux.c (plugin).
Successfully compiled backends.c (plugin).
crm114.c: In function ‘call_reaver’:
crm114.c:73:7: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result [-Wunused-result]
  write(pipes[1], signature_hdr, strlen(signature_hdr));
       ^
crm114.c:74:7: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result [-Wunused-result]
  write(pipes[1], ": ", 2);
       ^
crm114.c:75:7: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result [-Wunused-result]
  write(pipes[1], signature, strlen(signature));
       ^
crm114.c:76:7: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result [-Wunused-result]
  write(pipes[1], "\r\n\r\n", 4);
       ^
Successfully compiled crm114.c (plugin).
Successfully compiled dspam.c (plugin).
Successfully compiled mailbox.c (plugin).
Successfully compiled mailtrain.c (plugin).
Successfully compiled signature-log.c (plugin).
Successfully compiled signature.c (plugin).
Successfully compiled spool2dir.c (plugin).
Successfully compiled user.c (plugin).
Successfully linked lib90_antispam_plugin.so.
Leaving directory src.
Entering directory doc.
Successfully compiled dovecot-antispam.7.txt.
Leaving directory doc.

# make install
Entering directory src.
Leaving directory src.
Entering directory doc.
Leaving directory doc.
Entering directory src.
Successfully installed lib90_antispam_plugin.so.
Leaving directory src.
Entering directory doc.
Successfully installed dovecot-antispam.7.
Leaving directory doc.

# service dovecot restart

# tail -f -n 50 /var/log/mail.log
Aug 27 09:22:11 localhost dovecot: imap: Error: Module is for different
ABI version 2.2.ABIv13.2(2.2.13) (we have 2.2.ABIv13(2.2.13.8)):
/usr/lib/dovecot/modules/lib90_antispam_plugin.so
Aug 27 09:22:11 localhost dovecot: imap: Fatal: Couldn't load required
plugins


More information about the dovecot mailing list