If you have multiple clients, each adding and deleting users the server will deadlock. I created 5 ldif files. Each ldif file added and then deleted 200 entries. Using 5 separate ldapmodify's the server will deadlock within a minute or so.
Appears to be an issue with an entry cache lock not being unlocked:
Thread 29 (Thread 0x7f7d16bfd700 (LWP 8337)):
Thread 27 (Thread 0x7f7d157fb700 (LWP 8339)):
Thread 15 (Thread 0x7f7d09bf5700 (LWP 8351)):
---> this thread is causing the deadlock
at ../ds/ldap/servers/slapd/back-ldbm/findentry.c:155
at ../ds/ldap/servers/slapd/back-ldbm/findentry.c:293
at ../ds/ldap/servers/slapd/back-ldbm/findentry.c:324
Version: 1.3.0 Is this version info correct? (I guess it could be 1.3.2/master?)
Replying to [comment:2 nhosoi]:
Yes this is with 1.3.2(master).
In ldbm_back_delete() I also forced the setting of the error code in case any future code shuffling occurs.
in ldbm_delete - in the first 3 cases, retval = -1 already - it is not necessary to set it, except perhaps to make the assumptions more clear
in ldbm_modrdn - would rather not make a change that is only formatting
revision 0001-Ticket-47449-deadlock-after-adding-and-deleting-entr.patch
Replying to [comment:6 rmeggins]:
Right, I was under the assumption that this bug might have happened from code being shuffled around. So I hard set it to avoid future mistakes. But this "mistake" is present in all versions of 389(at least 1.2.11 and up). Anyway I just remove it.
in ldbm_modrdn - would rather not make a change that is only formatting.
No problem, it was only formatting.
New patch attached.
git merge ticket47449 Updating aa55789..6bd78b3 Fast-forward ldap/servers/slapd/back-ldbm/ldbm_delete.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
git push origin master To ssh://git.fedorahosted.org/git/389/ds.git aa55789..6bd78b3 master -> master
commit 6bd78b323a7d6ddaefc2cb8245e4356fd02e97e1
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=988559
1.3.1
024abee..8ea067b 389-ds-base-1.3.1 -> 389-ds-base-1.3.1
1.3.0
3f75400..93bde65 389-ds-base-1.3.0 -> 389-ds-base-1.3.0
1.2.11
c1dcfc6..66fbebc 389-ds-base-1.2.11 -> 389-ds-base-1.2.11 commit 66fbebc7d4c6552fcbbea7351dea5527d88195a1
Metadata Update from @nkinder: - Issue assigned to mreynolds - Issue set to the milestone: 1.2.11.22
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/786
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)