On Fri, Dec 04, 2015 at 05:18:53PM +0100, Pavel Reichl wrote: > > > On 12/04/2015 03:37 PM, Jakub Hrozek wrote: > >On Thu, Dec 03, 2015 at 03:29:22PM +0100, Pavel Reichl wrote: > >> > >>On 12/03/2015 02:06 PM, Jakub Hrozek wrote: > >>>On Mon, Nov 30, 2015 at 06:45:00PM +0100, Pavel Reichl wrote: > >>>> > >>>> > >>>>On 11/30/2015 06:02 PM, Jakub Hrozek wrote: > >>>>>>> > >>>>>>>Wouldn't it then be better to see if another same object is already in > >>>>>>>the hashtable and free it before replacing? > >>>>>> > >>>>>>I agree it would be best. I tried that before and failed because I > >>>>>>could not decipher out the relation of talloc contexts. > >>>>>> > >>>>>>I tried that again. Seems that leaks are gone. Segfaults were not > >>>>>>happening during my testing. > >>>>> > >>>>>>Code got even messier :-( > >>>>> > >>>>>I think the code would look nice if it was placed in the else branch of > >>>>>create_negcache_netgr() :-) > >>>> > >>>>Done, thanks for hint. > >>>> > >>>>> > >>>>>I also don't think we need the tmp_ctx change.. > >>>> > >>>>I dare to disagree here. With prev. versions of patch I was experiencing > >>>>segfaults. IIRC step_context is being allocated on context of the netgroup > >>>>that is freed. I also think that it's not a good idea to allocate local > >>>>data > >>>>on context that does not hold any reference to that data. But it might be > >>>>matter of personal taste. > >>> > >>>What kind of segfaults, what was the backtrace? I think it might be good to > >>>add talloc_zfree() instead of talloc_free() or explicitly NULL the pointer, > >>>that should solve the issue without adding a new context... > >>> > >>>Since it's per-domain, I wonder if step_ctx->dctx might be better > >>>candidate than step_ctx either way. > >>> > >> > >>Hello Jakub, I amended the patch as you proposed. You can now experience > >>the segfault yourself - just query a non-existing netgroup. > >>I attached the backtrace as well. > >> > >>I can investiage and use talloc reporting if you wish. But still using > >>tmp_ctx seems as way of the least effort... > > > >I think you are right, the step_ctx hierarchy is tricky, so the > >temporary context looks like the easiest solution. Please do one more > >change in the patch: > > OK, please see attached patch. > > > > >> From 0160ee92c4d9a9542abfd3e918686526a52e367d Mon Sep 17 00:00:00 2001 > >>From: Pavel Reichl <prei...@redhat.com> > >>Date: Fri, 27 Nov 2015 07:53:00 -0500 > >>Subject: [PATCH] NSS: Fix memory leak netgroup > > > >[...] > > > >>@@ -461,6 +469,11 @@ static errno_t create_negcache_netgr(struct > >>setent_step_ctx *step_ctx) > >> } > >> > >> done: > >>+ /* Free netgroup after step_ctx is not needed. */ > >>+ if (netgr_to_be_freed) { > >>+ talloc_zfree(netgr_to_be_freed); > >>+ } > > > >Since talloc_free(NULL) is a noop, we should drop the if completely. > > OK, done. >
While testing the patches I found that sometimes (not always, thought) I see this valgrind error when a non-existing netgroup is requested: Mon Dec 7 14:53:15 2015) [sssd[nss]] [accept_fd_handler] (0x0400): Client connected! (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Received client version [1]. (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Offered version [1]. (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_parse_name_for_domains] (0x0200): name 'ngr' matched without domain, user is ngr (Mon Dec 7 14:53:15 2015) [sssd[nss]] [setnetgrent_send] (0x0100): Requesting info for netgroup [ngr] from [<ALL>] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for [n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0040): No results for netgroup ngr (domain ipa.test) (Mon Dec 7 14:53:15 2015) [sssd[nss]] [get_dp_name_and_id] (0x0400): Not a LOCAL view, continuing with provided values. (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_issue_request] (0x0400): Issuing request for [0x428c3b:4:n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_get_account_msg] (0x0400): Creating request for [ipa.test][0x1004][FAST BE_REQ_NETGROUP][1][name=ngr] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_internal_get_send] (0x0400): Entering request [0x428c3b:4:n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_get_reply] (0x1000): Got reply from Data Provider - DP error code: 0 errno: 0 error message: Success (Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for [n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0400): Returning info for netgroup [n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_req_destructor] (0x0400): Deleting request: [0x428c3b:4:n...@ipa.test] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent] (0x0100): Requesting netgroup data (Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent] (0x0400): Returning results for [ngr] (Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent_process] (0x0200): No entries found (Mon Dec 7 14:53:15 2015) [sssd[nss]] [client_recv] (0x0200): Client disconnected! (Mon Dec 7 14:53:20 2015) [sssd[nss]] [accept_fd_handler] (0x0400): Client connected! (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Received client version [1]. (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Offered version [1]. (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_parse_name_for_domains] (0x0200): name 'ngr2' matched without domain, user is ngr2 (Mon Dec 7 14:53:20 2015) [sssd[nss]] [setnetgrent_send] (0x0100): Requesting info for netgroup [ngr2] from [<ALL>] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for [n...@ipa.test] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0040): No results for netgroup ngr2 (domain ipa.test) (Mon Dec 7 14:53:20 2015) [sssd[nss]] [get_dp_name_and_id] (0x0400): Not a LOCAL view, continuing with provided values. (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_issue_request] (0x0400): Issuing request for [0x428c3b:4:n...@ipa.test] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_get_account_msg] (0x0400): Creating request for [ipa.test][0x1004][FAST BE_REQ_NETGROUP][1][name=ngr2] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_internal_get_send] (0x0400): Entering request [0x428c3b:4:n...@ipa.test] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_get_reply] (0x1000): Got reply from Data Provider - DP error code: 0 errno: 0 error message: Success (Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for [n...@ipa.test] (Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0080): No matching domain found for [ngr2], fail! (Mon Dec 7 14:53:20 2015) [sssd[nss]] [netgr_hash_remove] (0x1000): netgroup [ngr2] was already removed ==6830== Invalid read of size 8 ==6830== at 0x42469E: setent_notify (responder_cmd.c:218) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== Invalid read of size 8 ==6830== at 0x42442B: setent_remove_ref (responder_cmd.c:188) ==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722) ==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x42462E: setent_notify (responder_cmd.c:225) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== Invalid write of size 8 ==6830== at 0x424444: setent_remove_ref (responder_cmd.c:188) ==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722) ==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x42462E: setent_notify (responder_cmd.c:225) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== ==6830== Invalid read of size 8 ==6830== at 0x42444F: setent_remove_ref (responder_cmd.c:188) ==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722) ==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x42462E: setent_notify (responder_cmd.c:225) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== ==6830== Invalid read of size 8 ==6830== at 0x4244B1: setent_remove_ref (responder_cmd.c:188) ==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722) ==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x42462E: setent_notify (responder_cmd.c:225) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== Invalid read of size 8 ==6830== at 0x424633: setent_notify (responder_cmd.c:228) ==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94) ==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd ==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472) ==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632) ==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672) ==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885) ==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802) ==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6) ==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96) ==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== Block was alloc'd at ==6830== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3) ==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320) ==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248) ==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129) ==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161) ==6830== by 0x42527A: client_cmd_execute (responder_common.c:249) ==6830== by 0x42547C: client_recv (responder_common.c:283) ==6830== by 0x4256B9: client_fd_handler (responder_common.c:335) ==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25) ==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25) ==6830== (Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_req_destructor] (0x0400): Deleting request: [0x428c3b:4:ng (Mon Dec 7 14:53:20 2015) [sssd[nss]] [client_recv] (0x0200): Client disconnected! _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org