[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Apr 5 13:54:02 UTC 2018


The branch, master has been updated
       via  d48b623 talloc: version 2.1.13
       via  03124c8 talloc: use atexit() again instead of a library destructor
      from  707af5b selftest: enable py3 for samba.tests.blackbox.ndrdump

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d48b62326a5256fabdcbdd97cc71c44527672527
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Apr 3 13:46:20 2018 +0200

    talloc: version 2.1.13
    
    * Use atexit() again instead of a library destructor
      (bug #13366)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Thu Apr  5 15:53:16 CEST 2018 on sn-devel-144

commit 03124c85f1141f1e57398e526f38798b6f1fa741
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Apr 3 13:13:01 2018 +0200

    talloc: use atexit() again instead of a library destructor
    
    The change for https://bugzilla.samba.org/show_bug.cgi?id=7587
    ("talloc_autofree_context() in shared libraries and plugins is a bad idea on FreeBSD")
    (ommit 41b6810ba01f44537f470c806adb8686e1a39c48)
    causes the following for sssd on Linux:
    
         Stack trace of thread 19667:
         #0  0x00007f2cab91ff6b __GI_raise (libc.so.6)
         #1  0x00007f2cab90a5c1 __GI_abort (libc.so.6)
         #2  0x00007f2cab90a491 __assert_fail_base (libc.so.6)
         #3  0x00007f2cab9186e2 __GI___assert_fail (libc.so.6)
         #4  0x00007f2cb10aaca5 k5_mutex_lock (libkrb5.so.3)
         #5  0x00007f2cb10ab790 k5_mutex_lock (libkrb5.so.3)
         #6  0x00007f2cb10ab8f5 profile_free_file (libkrb5.so.3)
         #7  0x00007f2cb10ab983 profile_close_file (libkrb5.so.3)
         #8  0x00007f2cb10af249 profile_release (libkrb5.so.3)
         #9  0x00007f2cb10a06c7 k5_os_free_context (libkrb5.so.3)
         #10 0x00007f2cb1075a9a krb5_free_context (libkrb5.so.3)
         #11 0x000055cea7cb2dd1 kcm_data_destructor (sssd_kcm)
         #12 0x00007f2cac153e96 _tc_free_internal (libtalloc.so.2)
         #13 0x00007f2cac1537b0 _tc_free_internal (libtalloc.so.2)
         #14 0x00007f2cac1537b0 _tc_free_internal (libtalloc.so.2)
         #15 0x00007f2cac1537b0 _tc_free_internal (libtalloc.so.2)
         #16 0x00007f2cac1537b0 _tc_free_internal (libtalloc.so.2)
         #17 0x00007f2cac14e648 _talloc_free (libtalloc.so.2)
         #18 0x00007f2cac14c480 talloc_lib_fini (libtalloc.so.2)
         #19 0x00007f2cb151da96 _dl_fini (ld-linux-x86-64.so.2)
         #20 0x00007f2cab9226bc __run_exit_handlers (libc.so.6)
         #21 0x00007f2cab9227ec __GI_exit (libc.so.6)
         #22 0x00007f2cb030dc61 orderly_shutdown (libsss_util.so)
         #23 0x00007f2cac365a46 tevent_common_check_signal (libtevent.so.0)
         #24 0x00007f2cac367975 epoll_event_loop_once (libtevent.so.0)
         #25 0x00007f2cac365dab std_event_loop_once (libtevent.so.0)
         #26 0x00007f2cac362098 _tevent_loop_once (libtevent.so.0)
         #27 0x00007f2cac3622eb tevent_common_loop_wait (libtevent.so.0)
         #28 0x00007f2cac365d3b std_event_loop_wait (libtevent.so.0)
         #29 0x00007f2cb030eb37 server_loop (libsss_util.so)
         #30 0x000055cea7cb29f4 main (sssd_kcm)
         #31 0x00007f2cab90c1eb __libc_start_main (libc.so.6)
         #32 0x000055cea7cb2c7a _start (sssd_kcm)
    
    We still only register one atexit handler instead of multiple ones
    like in talloc 2.1.11, but avoids using a library destructor.
    
    Bug #7587 seems to be fixed by not using talloc_autofree_context()
    within samba.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13366
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 .../{pytalloc-util-2.1.9.sigs => pytalloc-util-2.1.13.sigs}  |  0
 ...loc-util.py3-2.1.9.sigs => pytalloc-util.py3-2.1.13.sigs} |  0
 lib/talloc/ABI/{talloc-2.1.9.sigs => talloc-2.1.13.sigs}     |  0
 lib/talloc/talloc.c                                          | 12 ++----------
 lib/talloc/wscript                                           |  2 +-
 5 files changed, 3 insertions(+), 11 deletions(-)
 copy lib/talloc/ABI/{pytalloc-util-2.1.9.sigs => pytalloc-util-2.1.13.sigs} (100%)
 copy lib/talloc/ABI/{pytalloc-util.py3-2.1.9.sigs => pytalloc-util.py3-2.1.13.sigs} (100%)
 copy lib/talloc/ABI/{talloc-2.1.9.sigs => talloc-2.1.13.sigs} (100%)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/ABI/pytalloc-util-2.1.9.sigs b/lib/talloc/ABI/pytalloc-util-2.1.13.sigs
similarity index 100%
copy from lib/talloc/ABI/pytalloc-util-2.1.9.sigs
copy to lib/talloc/ABI/pytalloc-util-2.1.13.sigs
diff --git a/lib/talloc/ABI/pytalloc-util.py3-2.1.9.sigs b/lib/talloc/ABI/pytalloc-util.py3-2.1.13.sigs
similarity index 100%
copy from lib/talloc/ABI/pytalloc-util.py3-2.1.9.sigs
copy to lib/talloc/ABI/pytalloc-util.py3-2.1.13.sigs
diff --git a/lib/talloc/ABI/talloc-2.1.9.sigs b/lib/talloc/ABI/talloc-2.1.13.sigs
similarity index 100%
copy from lib/talloc/ABI/talloc-2.1.9.sigs
copy to lib/talloc/ABI/talloc-2.1.13.sigs
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c
index ce3bda4..54be634 100644
--- a/lib/talloc/talloc.c
+++ b/lib/talloc/talloc.c
@@ -430,12 +430,7 @@ void talloc_lib_init(void)
 #warning "No __attribute__((constructor)) support found on this platform, additional talloc security measures not available"
 #endif
 
-#ifdef HAVE_DESTRUCTOR_ATTRIBUTE
-void talloc_lib_fini(void) __attribute__((destructor));
-void talloc_lib_fini(void)
-#else /* ! HAVE_DESTRUCTOR_ATTRIBUTE */
-static void talloc_lib_fini(void)
-#endif /* ! HAVE_DESTRUCTOR_ATTRIBUTE */
+static void talloc_lib_atexit(void)
 {
 	TALLOC_FREE(autofree_context);
 
@@ -452,17 +447,14 @@ static void talloc_lib_fini(void)
 
 static void talloc_setup_atexit(void)
 {
-#ifndef HAVE_DESTRUCTOR_ATTRIBUTE
 	static bool done;
 
 	if (done) {
 		return;
 	}
 
-#warning "No __attribute__((destructor)) support found on this platform, using atexit"
-	atexit(talloc_lib_fini);
+	atexit(talloc_lib_atexit);
 	done = true;
-#endif /* ! HAVE_DESTRUCTOR_ATTRIBUTE */
 }
 
 static void talloc_log(const char *fmt, ...) PRINTF_ATTRIBUTE(1,2);
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
index 6320021..0834341 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 APPNAME = 'talloc'
-VERSION = '2.1.12'
+VERSION = '2.1.13'
 
 
 blddir = 'bin'


-- 
Samba Shared Repository



More information about the samba-cvs mailing list