The ipa-ldap-updater seems to hang during upgrade from IPA2.2->IPA3.0 which subsequently causes dirsrv not to start.
ipa-ldap-updater
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.
stack trace stack
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.
git patch file (master) 0001-Ticket-634-Deadlock-in-DNA-plug-in.patch
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
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.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.