#47577 1.2.11.29 crash when removing entries from cache
Closed: wontfix None Opened 10 years ago by rmeggins.

Steps:
1) setup up 2 way MMR
2) make sure the entry cache is full, so that search requests must evict old entries from the cache to make room for new entries
3) generate an ADD load against one of the masters
4) repeatedly search for (objectclass=nsTombstone) from the base suffix


Make sure there are a lot of tombstone entries that are not reaped.

Looks like problem is not related to tombston searches. Customer had two more crashes, the pattern is one search thread trying to add an entry to the cache, and another thread having performed an add and waiting to return the parent entry to the cache

Analysis of the core files showed the same pattern for three crashes,

the conditions for the crash seem to be:
- one thread adding an entry in parallel to a search thread which needs to remove entries from the cache
- the entry added and the entry to be removed from the cache are in the same slot of the dn hashtable
- the entry added has a "different" parent part in the dn than the dn of teh parententry in the cache eg ou=mmo vs ou=MMO and will be replaced

Replacing the sdn calls slapi_done_sdn() before setting the new sdn, so there is a small interval where getting the dn returns NULL

no crash seen with patch

a572cb2..85a99e9 389-ds-base-1.2.11 -> 389-ds-base-1.2.11
commit 85a99e9
Author: Ludwig Krispenz lkrispen@redhat.com
Date: Tue Nov 5 16:58:44 2013 +0100
9d7fab3..ecc210f 389-ds-base-1.3.0 -> 389-ds-base-1.3.0
commit ecc210f
Author: Ludwig Krispenz lkrispen@redhat.com
Date: Tue Nov 5 16:58:44 2013 +0100
05950d0..00b19f3 389-ds-base-1.3.1 -> 389-ds-base-1.3.1
commit 00b19f3
Author: Ludwig Krispenz lkrispen@redhat.com
Date: Tue Nov 5 16:58:44 2013 +0100
144869f..1056a62 389-ds-base-1.3.2 -> 389-ds-base-1.3.2
commit 1056a62
Author: Ludwig Krispenz lkrispen@redhat.com
Date: Tue Nov 5 16:58:44 2013 +0100
8d398a5..7272dbd master -> master
commit 7272dbd
Author: Ludwig Krispenz lkrispen@redhat.com
Date: Tue Nov 5 16:58:44 2013 +0100

Metadata Update from @lkrispen:
- Issue assigned to lkrispen
- Issue set to the milestone: 1.2.11.25

7 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/914

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Fixed)

3 years ago

Login to comment on this ticket.

Metadata