#634 Deadlock in DNA plug-in
Closed: wontfix None Opened 11 years ago by nkinder.

The ipa-ldap-updater seems to hang during upgrade from IPA2.2->IPA3.0 which subsequently causes dirsrv not to start.

Steps to Reproduce:
1. Install IPA 2.2
2. Upgrade to IPA 3.0
3. ipa-ldap-updater should hang

A stack trace (to be attached) shows that there is a deadlock in the DNA plug-in.


Bug description: Fix for Ticket #576 -
DNA: use event queue for config update only at the start up
(commit 7c11ed1)
modified the timing of updating the shared config in the
database. The write operation was no need to be in the DNA
write lock, but it was located in it, which caused the dead-
lock.

Fix description: This patch releases the dna write lock before
updating the shared config in the database.

In this section, you shouldn't need the "arg" variable. You can just pass a NULL safely to dna_update_config_event().


@@ -692,14 +695,13 @@ dna_load_plugin_config(int use_eventq)
time(&now);
slapi_eq_once(dna_update_config_event, NULL, now + 30);
} else {
- int nolock = 1; / no need to lock since dna write lock is held. /
- dna_update_config_event(0, &nolock);
+ int arg = 0; / not used. /
+ dna_update_config_event(0, &arg);
}


Aside from that, the patch looks good.

Thank you, Nathan!!
I've replaced the patch with the new one with the fix you suggested.

Reviewed by Nathan (Thank you!!)

Pushed to master: commit 712c596
Pushed to 389-ds-base-1.3.0 branch: commit f865988
Pushed to 389-ds-base-1.2.11 branch: commit 8bd3a0d

Metadata Update from @nkinder:
- Issue assigned to nhosoi
- Issue set to the milestone: 1.2.11.20

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/634

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