[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: 2.4.44 + ITS 8432 patch segfault in modify_add_values
- To: Quanah Gibson-Mount <quanah@symas.com>
- Subject: Re: 2.4.44 + ITS 8432 patch segfault in modify_add_values
- From: "Paul B. Henson" <henson@acm.org>
- Date: Fri, 17 Feb 2017 14:44:58 -0800
- Cc: openldap-technical@openldap.org
- Content-disposition: inline
- In-reply-to: <C13A6C3818E82CDAC97C15C8@[192.168.1.30]>
- References: <20170215012451.GB3387@bender.cpp.edu> <WM!998e77758b9bacc372fee590f734f256c3b1a8d55c137b3042ea7ef07e8e0953759c895cedf550b0b49eaaa837a80654!@mailstronghold-2.zmailcloud.com> <2B06780B8EE0354C70ECA60D@[192.168.1.30]> <20170215201531.GC3387@bender.cpp.edu> <WM!05e3245ecda5a40b6520e18c632ff0cbb60899aeee96d9a7ad736e6bc7f4637321949a16ffdfc0736a39bd7aec93ea0e!@mailstronghold-2.zmailcloud.com> <242E3F60A5A0A27989E6CFF7@[192.168.1.30]> <20170216023621.GD3387@bender.cpp.edu> <WM!e64825a13370ecd2c574348ad0bf9b821e2d7f6ba4aa1a03a74dd380d3fb666877db370e8004a85aaa48bc5aec9efdeb!@mailstronghold-2.zmailcloud.com> <C13A6C3818E82CDAC97C15C8@[192.168.1.30]>
- User-agent: Mutt/1.5.24 (2015-08-30)
On Thu, Feb 16, 2017 at 03:53:40PM -0800, Quanah Gibson-Mount wrote:
> It appears to be crashing while writing the change to the accesslog
> database. It's odd that the value for the attribute is NULL. Do we know
> for sure what the client doing the write op to the server is sending?
The code is in perl, and looks like this:
$entry->replace(eduPersonAffiliation => \@eduPersonAffiliation);
In this case, the array @eduPersonAffiliation is empty, effectively
deleting the attribute. I'm not 100% sure what this generates on the
wire, I'd have to debug it. I can say it's the same code that's been
running for a decade or so with no issues.
> Yeah, so this is the operation that actually failed... It'd be interesting
> to know if it succeeded in the primary DB, but failed when writing to the
> accesslog DB
I already reran that operation to fix the expiration, but the next time
it crashes I'll take a look at the primary and secondaries first to see
if they're out of sync.
> Hm, so I guess my question would be is it doing the op like this:
Hmm, the expiration code when removing an expiration looks like:
$entry->delete('cppEduPersonExpiration');
So it should be a delete on the wire for removing the attribute. You
think it crashed on the expiration operating, even though the backtrace
shows the segfault having the eduPersonAffiliation accesslog reqStart
id?
> dn: ...
> changetype: modify
> replace: csupomonaEduPersonExpiration
> csupomonaEduPersonExpiration:
>
> Or is it doing it like this:
>
> dn: ...
> changetype: modify
> delete: csupomonaEduPersonExpiration
>
> Because the NULL value seems to imply the former.