If the retrocl plugin has defined nsslapd-attribute (attr:<attr alias>) the server can crash at shutdown
389-ds-base-1.3.6, but it appears it would affect all versions.
valgrind output
==5364== Thread 1: ==5364== Invalid read of size 8 ==5364== at 0x529B6D1: charray_free (charray.c:204) ==5364== by 0x171CFDFF: retrocl_stop (retrocl.c:583) ==5364== by 0x52ECA8A: plugin_call_func (plugin.c:2072) ==5364== by 0x52F0128: plugin_call_one (plugin.c:2020) ==5364== by 0x52F0128: plugin_dependency_closeall (plugin.c:1936) ==5364== by 0x129E0F: slapd_daemon (daemon.c:1362) ==5364== by 0x11A834: main (main.c:1152) ==5364== Address 0x18527328 is 0 bytes after a block of size 8 alloc'd ==5364== at 0x4C2A975: calloc (vg_replace_malloc.c:711) ==5364== by 0x529C253: slapi_ch_calloc (ch_malloc.c:183) ==5364== by 0x171D05B5: retrocl_start (retrocl.c:473) ==5364== by 0x52ECA8A: plugin_call_func (plugin.c:2072) ==5364== by 0x52ED13B: plugin_call_one (plugin.c:2020) ==5364== by 0x52ED13B: plugin_dependency_startall.isra.9.constprop.11 (plugin.c:1791) ==5364== by 0x11A797: main (main.c:1089) ==5364== ==5364== Invalid read of size 8 ==5364== at 0x529B6D1: charray_free (charray.c:204) ==5364== by 0x171CFE15: retrocl_stop (retrocl.c:585) ==5364== by 0x52ECA8A: plugin_call_func (plugin.c:2072) ==5364== by 0x52F0128: plugin_call_one (plugin.c:2020) ==5364== by 0x52F0128: plugin_dependency_closeall (plugin.c:1936) ==5364== by 0x129E0F: slapd_daemon (daemon.c:1362) ==5364== by 0x11A834: main (main.c:1152) ==5364== Address 0x18527378 is 0 bytes after a block of size 8 alloc'd ==5364== at 0x4C2A975: calloc (vg_replace_malloc.c:711) ==5364== by 0x529C253: slapi_ch_calloc (ch_malloc.c:183) ==5364== by 0x171D05CD: retrocl_start (retrocl.c:474) ==5364== by 0x52ECA8A: plugin_call_func (plugin.c:2072) ==5364== by 0x52ED13B: plugin_call_one (plugin.c:2020) ==5364== by 0x52ED13B: plugin_dependency_startall.isra.9.constprop.11 (plugin.c:1791) ==5364== by 0x11A797: main (main.c:1089)
We need to calloc one additional element so it can be freed correctly. The free function loop expects a NULL element so it knows when to stop freeing.
Metadata Update from @mreynolds: - Issue assigned to mreynolds
Metadata Update from @mreynolds: - Custom field origin adjusted to IPA - Custom field reviewstatus adjusted to new - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1433996 - Custom field type adjusted to defect - Issue set to the milestone: 1.3.6.0
080f009..b2f76ab master -> master
ea2adf3..7fa3391 389-ds-base-1.3.5 -> 389-ds-base-1.3.5
ceb7331..636b0f4 389-ds-base-1.3.4 -> 389-ds-base-1.3.4
Metadata Update from @mreynolds: - Custom field component adjusted to Plugins - Custom field reviewstatus adjusted to ack (was: new) - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
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/2247
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.