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 7c11ed17796ba8b17afa5758fcfdf1c937b54ef4) 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 712c59690a9caf120a631da1fb8c886efd422229 Pushed to 389-ds-base-1.3.0 branch: commit f865988cf5900a4fc447e94ab05338da6c0329d2 Pushed to 389-ds-base-1.2.11 branch: commit 8bd3a0db0eee06130575bded6938480cc6509dc0
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)