Re: [Exim] Exim 3.34 assertion failure--LDAP related [follow…

Top Page
Delete this message
Reply to this message
Author: Tommy Lacroix
Date:  
To: exim-users
Subject: Re: [Exim] Exim 3.34 assertion failure--LDAP related [followup]
C'est un message de format MIME en plusieurs parties.
--
> > exim: error.c:221: ldap_parse_result: Assertion `r != ((void *)0)'

failed.
> error.c must be part of LDAP; it isn't part of Exim. I guess somebody
> needs to read the LDAP code to see what function it is in. Exim doesn't
> call ldap_parse_result itself.
>
> I'm afraid I'm on vacation for a week from now, so this will have to
> wait for my attention. If you can find out any more while I'm away, that
> will be helpful.
>
> It is odd that it happens only some times.


I found out more. ldap_search is called on a cached connection that is down.
ldap_result reports error *without* a result (thus the result var is NULL).
ldap_result2error is called, which calls ldap_parse_result, which causes an
assertion failure because result is NULL.

The patch included - against 3.34 but should work on 3.35/36 since the
changelog reports no mods to the ldap lookups - is a new version of the
first one I sent since it didn't completely solve my problem: three
consecutive ldap lookups on the same connection just fails for some reason.
Upon LDAP_SERVER_DOWN failure on a cached connection, tidying ldap
connections and recalling perform_ldap_search works ok, althought I'm not
quite sure if it's a correct way of fixing this up.

I'll wait for some news. I wish you good vacations.

Regards,

__
Tommy Lacroix ( runtime@??? )
Linux/Unix System Administrator, CAM Internet
Web: http://www.cam.org
Tel: +1 514 529-3000 ext 247
Fax: +1 514 529-3300
--
[ exim-ldap.patch of type application/octet-stream deleted ]
--