Re: [exim] Exim 4.84 - segfault

Top Page
Delete this message
Reply to this message
Author: John Horne
Date:  
To: exim-users
Subject: Re: [exim] Exim 4.84 - segfault
On Fri, 2014-08-29 at 13:26 +0100, Jeremy Harris wrote:
> On 29/08/14 08:22, Warren Baker wrote:
> > On Thu, Aug 28, 2014 at 11:48 AM, John Horne <john.horne@???> wrote:
> >> We have just updated our mail servers to Exim 4.84, and we are now
> >> seeing segfault errors on two (of three) servers:
> [...]
> > Yeah likewise - I have debugging but not enough (so will dig deeper).
>
> We've not settled on this yet, but for people being bitten by this
> and not minding a recompile:
>
> src/mime.c about line 600:
>
> replace
> uschar *param_value = NULL;
> with
> uschar *param_value = string_copy(US"");
>

No idea if it's of any use to you but I finally got a core dump which
showed (without the above patch):

=================================
Core was generated by `/usr/sbin/exim -bd -q15m'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f5eff2f2d52 in mime_acl_check (acl=0x7f5eff675ba8 "acl_mime",
    f=0x7f5eff6c7270, context=0x7fffd118ab00,
user_msgptr=0x7fffd118b3d0,
    log_msgptr=0x7fffd118b3c8) at mime.c:623
623                   param_value[ptr++] = '\0';
Missing separate debuginfos, use: debuginfo-install
cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 db4-4.7.25-18.el6_4.x86_64
glibc-2.12-1.132.el6_5.3.x86_64 keyutils-libs-1.4-4.el6.x86_64
krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12-18.el6_5.1.x86_64
libselinux-2.0.94-5.3.el6_4.1.x86_64 libspf2-1.2.9-1.el6.rf.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64 nspr-4.10.6-1.el6_5.x86_64
nss-3.16.1-4.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64
nss-util-3.16.1-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64
openssl-1.0.1e-16.el6_5.15.x86_64 pcre-7.8-6.el6.x86_64
postgresql-libs-8.4.20-1.el6_5.x86_64 sqlite-3.6.20-1.el6.x86_64
zlib-1.2.3-29.el6.x86_64
(gdb) bt
#0  0x00007f5eff2f2d52 in mime_acl_check (acl=0x7f5eff675ba8 "acl_mime",
    f=0x7f5eff6c7270, context=0x7fffd118ab00,
user_msgptr=0x7fffd118b3d0,
    log_msgptr=0x7fffd118b3c8) at mime.c:623
#1  0x00007f5eff2f318f in mime_acl_check (acl=0x7f5eff675ba8 "acl_mime",
    f=0x7f5eff6c7270, context=0x0, user_msgptr=0x7fffd118b3d0,
    log_msgptr=0x7fffd118b3c8) at mime.c:685
#2  0x00007f5eff2bfac1 in run_mime_acl (acl=0x7f5eff675ba8 "acl_mime",
    smtp_yield_ptr=0x7fffd118c2a8, smtp_reply_ptr=0x7fffd118c278,
    blackholed_by_ptr=0x7fffd118c290) at receive.c:1226
#3  0x00007f5eff2c34dc in receive_msg (extract_recip=0) at
receive.c:3277
#4  0x00007f5eff27bb0d in handle_smtp_call () at daemon.c:513
#5  daemon_go () at daemon.c:2032
#6  0x00007f5eff290696 in main (argc=3, cargv=<value optimized out>)
    at exim.c:4670
=================================



Using the patch above, changing param_value, I started to get general
protection faults rather than segfaults.




John.

-- 
----------------------------------------------------
John Horne                   Tel: +44 (0)1752 587287
Plymouth University, UK