PANIC: internal error when deleting users

Gianni L slowsin at gmail.com
Tue Nov 9 09:49:22 MST 2010


thanks Michael,
doing a little check after calling ldb_dn_get_rdn_val() solves the
crashing issue.
but I still think I f*cked up my tdb files yesterday when I tried to
delete the whole subtree from the directory.
the "net ads user -S altair -U administrator" gives me the whole list
of the users I imported yesterday.
but not everyone of that users "exists" anymore in the db.
fact is that if I try to delete a user where the information is still
consistent in the directory it makes no problem but if I tried to
delete another user the samba damon crashed.
is there a way to repair the db files?
if there's no way it's not a problem 'cause it's still a testserver :)
thanks
Gianni

On Tue, Nov 9, 2010 at 3:48 PM, Michael Wood <esiotrot at gmail.com> wrote:
> On 9 November 2010 15:11, Gianni L <slowsin at gmail.com> wrote:
>> yeah! I think I finally got it :)
>> here's now a more detailed backtrace of the crash..
>> sorry for my inexperience with debugging tools :)
>> hope the info helps a bit..
>
> OK, so val is NULL in ldb_msg_add_value().  It comes from this line
> insource4/dsdb/samdb/ldb_modules/repl_meta_data.c:
>
> ret = ldb_msg_add_value(msg, strlower_talloc(tmp_ctx, rdn_name),
> new_rdn_value, &el);
>
> i.e. new_rdn_value is NULL.
>
> new_rdn_value is set just above that:
>
>                /* work out what the new rdn value is, for updating the
>                   rDN and name fields */
>                new_rdn_value = ldb_dn_get_rdn_val(new_dn);
>
> and ldb_dn_get_rdn_val() does this:
>
> const struct ldb_val *ldb_dn_get_rdn_val(struct ldb_dn *dn)
> {
>        if ( ! ldb_dn_validate(dn)) {
>                return NULL;
>        }
>        if (dn->comp_num == 0) return NULL;
>        return &dn->components[0].value;
> }
>
> So it seems there should be a check after calling ldb_dn_get_rdn_val()
> to see if it returned NULL, or else the NULL value should be handled
> in ldb_msg_add_value().
>
>> On Tue, Nov 9, 2010 at 1:17 PM, Michael Wood <esiotrot at gmail.com> wrote:
>>
>>> Hi
>>>
>>> On 9 November 2010 13:29, Gianni L <slowsin at gmail.com> wrote:
>>> > Hi Mat,
>>> > sorry but I can't find any samba-segfault script, neither in the install
>>> > location of samba 4 neither in the sourcecode :(
>>> > tried even to search in the git sources of another computer and there's
>>> > anything.
>>> > if someone could provide me a copy of the script I would be happy to run
>>> > another test and provide the results :)
>>>
>>> I don't have a samba-segfault script either, but try running "bt full"
>>> in gdb when Samba crashes.  That will provide lots more useful
>>> information.
>>>
>>> I've just found "examples/scripts/debugging/linux/backtrace" which
>>> might be the script Matthieu is referring to.
>
> --
> Michael Wood <esiotrot at gmail.com>
>


More information about the samba-technical mailing list