On 12/07/2015 03:59 PM, Jakub Hrozek wrote:
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
Nice :-(.
Thanks for noticing. Shall we return to the first iteration of the patch?
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org