[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: assertion fails on modify

At 12:08 PM 2001-10-02, John Madden wrote:
>> Running v2.0.14, using Net::LDAP to modify a dn, I get the following
>> everytime:
>> schema_check.c:45: failed assertion `a->a_vals[0] != NULL'

This implies a logic error in the code.  You should report a
bug using the Issue Tracking System.  In your report, be sure
to include relevant details.  In particular, a stack trace
back, LDIF representing the entry prior to the operation, and
LDIF representing the operation itself would be quite useful.

>> which causes slapd to exit.  Obviously not an acceptable solution -
>> what do I do?
>> It's odd, because I've been able to modify records before using the
>> same application.  The only thing that's changed that I know of is the
>> syslog'ing I've been discussing yesterday and earlier today.
>Sorry to reply to my own message, but I left out an important component of
>of it: the problem here is that slapd's doing some schema checking, as
>it should, but it's using assert() instead of a more logical means of saying
>"look, you can't leave stuff blank".

>Schema checking is all nice and lovely, but if it's going to cause stupendously ridiculous LDAP outages, it's even less fruitful than
>not doing any checking at all.

That intent of the assert was not to catch schema errors,
but to catch logic errors in the code.  Though one can
compile OpenLDAP with NDEBUG (or --without-debug) to remove
the assert() checks... compiling with NDEBUG won't remove
the logic error.