https://bugzilla.redhat.com/show_bug.cgi?id=698770
The directory server crashes if it is shutdown before a long running task can complete https://bugzilla.redhat.com/show_bug.cgi?id=698421 the reason is that a plugin postop function is being called after the plugin close function has been called. Once the server calls the plugin close function, the plugin should be removed from the list of active plugins, and plugin_free should be called on that plugin.
attachment 0001-Ticket-50-server-should-not-call-a-plugin-after-the-.patch
Added a new flag to plugin struct to mark when the plugin is closed. This flag is checked when we attempt to call a plugin function. We also now check if the plugin is closed before issuing a plugin task.
Sending fix out for review...
Mark
Looks good to me.
Fix is pushed to master:
[mareynol@mareynol plugins]$ git merge ticket50 Updating 403078e..81737b9 Fast-forward ldap/servers/plugins/linkedattrs/fixup_task.c | 15 +++++++++++++++ ldap/servers/plugins/linkedattrs/linked_attrs.c | 5 +++++ ldap/servers/plugins/linkedattrs/linked_attrs.h | 5 +++++ ldap/servers/plugins/memberof/memberof.c | 9 +++++++++ ldap/servers/plugins/usn/usn.c | 9 +++++++++ ldap/servers/plugins/usn/usn.h | 1 + ldap/servers/plugins/usn/usn_cleanup.c | 8 ++++++++ ldap/servers/slapd/plugin.c | 5 ++++- ldap/servers/slapd/slap.h | 3 ++- 9 files changed, 58 insertions(+), 2 deletions(-) [mareynol@mareynol plugins]$ git push Counting objects: 42, done. Delta compression using up to 4 threads. Compressing objects: 100% (25/25), done. Writing objects: 100% (25/25), 2.83 KiB, done. Total 25 (delta 17), reused 0 (delta 0) To ssh://mreynolds@git.fedorahosted.org/git/389/ds.git 403078e..81737b9 master -> master
Added initial screened field value.
Metadata Update from @nhosoi: - Issue assigned to mreynolds - Issue set to the milestone: 1.2.10.a7
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/50
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.