[SCM] Samba Shared Repository - branch master updated

Tim Beale timbeale at samba.org
Thu Nov 15 07:16:04 UTC 2018

The branch, master has been updated
       via  c1dd6382e32 ctdb-tests: Make the debug hung script test cope with unreadable stacks
      from  e3b6402b8b6 third_party: Update socket_wrapper to version 1.2.1


- Log -----------------------------------------------------------------
commit c1dd6382e3211792e313f7d559b943f55c9cb0e1
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Nov 14 14:09:42 2018 +1100

    ctdb-tests: Make the debug hung script test cope with unreadable stacks
    Ideally this would just involve using "test -r".  However, operating
    system security features may mean that kernel stacks are not readable
    even though they appear to be.
    Instead, try reading that stack of a process on the test node.  If
    that succeeds then so should reading the stack of the "stuck" sleep
    process in the test.
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13684
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Tim Beale <timbeale at catalyst.net.nz>
    Autobuild-User(master): Tim Beale <timbeale at samba.org>
    Autobuild-Date(master): Thu Nov 15 08:15:32 CET 2018 on sn-devel-144


Summary of changes:
 ctdb/tests/simple/90_debug_hung_script.sh | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

Changeset truncated at 500 lines:

diff --git a/ctdb/tests/simple/90_debug_hung_script.sh b/ctdb/tests/simple/90_debug_hung_script.sh
index 40f3f47480d..9e2072c98b6 100755
--- a/ctdb/tests/simple/90_debug_hung_script.sh
+++ b/ctdb/tests/simple/90_debug_hung_script.sh
@@ -58,9 +58,21 @@ wait_until 60 onnode $test_node test -s "$debug_output"
 echo "Checking output of hung script debugging..."
 try_command_on_node -v $test_node cat "$debug_output"
+# Can we actually read kernel stacks
+if try_command_on_node $test_node "cat /proc/$$/stack >/dev/null 2>&1" ; then
+	stackpat='
+---- Stack trace of interesting process [0-9]*\\[sleep\\] ----
+[<[0-9a-f]*>] .*sleep+.*
+	stackpat=''
 while IFS="" read pattern ; do
-    if grep -- "^${pattern}\$" <<<"$out" >/dev/null ; then
+    [ -n "$pattern" ] || continue
+    if grep -- "^${pattern}\$" <<<"$hung_script_output" >/dev/null ; then
 	printf 'GOOD: output contains "%s"\n' "$pattern"
 	printf 'BAD: output does not contain "%s"\n' "$pattern"
@@ -72,8 +84,7 @@ done <<EOF
 pstree -p -a .*:
----- Stack trace of interesting process [0-9]*\\\\[sleep\\\\] ----
-[<[0-9a-f]*>] .*sleep+.*
 ---- ctdb scriptstatus monitor: ----
 00\\.test *TIMEDOUT.*
  *OUTPUT: Sleeping for [0-9]* seconds\\\\.\\\\.\\\\.

Samba Shared Repository

More information about the samba-cvs mailing list