You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2020/09/15 08:51:00 UTC

svn commit: r1881735 - in /httpd/httpd/branches/2.4.x: ./ .travis.yml test/travis_run_linux.sh

Author: jorton
Date: Tue Sep 15 08:50:59 2020
New Revision: 1881735

URL: http://svn.apache.org/viewvc?rev=1881735&view=rev
Log:
Merge r1880602, r1881396 from trunk: [under CTR for Travis changes]

Fail for more abort() errors in error_log.
Fail if a core dump is produced, and dump the backtrace if so.
(e.g. during parent or child process shutdown, core dumps will
not show up as test case failures so would not otherwise be caught)

Catch assert() failures.


Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/.travis.yml
    httpd/httpd/branches/2.4.x/test/travis_run_linux.sh

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1880602,1881396

Modified: httpd/httpd/branches/2.4.x/.travis.yml
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/.travis.yml?rev=1881735&r1=1881734&r2=1881735&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/.travis.yml (original)
+++ httpd/httpd/branches/2.4.x/.travis.yml Tue Sep 15 08:50:59 2020
@@ -28,6 +28,7 @@ addons:
       - libpcre2-dev
       - libldap2-dev
       - ldap-utils
+      - gdb
 env:
   global:
     - MFLAGS=-j2

Modified: httpd/httpd/branches/2.4.x/test/travis_run_linux.sh
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/test/travis_run_linux.sh?rev=1881735&r1=1881734&r2=1881735&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/test/travis_run_linux.sh (original)
+++ httpd/httpd/branches/2.4.x/test/travis_run_linux.sh Tue Sep 15 08:50:59 2020
@@ -100,21 +100,31 @@ if ! test -v SKIP_TESTING; then
         popd
     fi
 
-    if grep -q 'Segmentation fault' test/perl-framework/t/logs/error_log; then
-        grep --color=always -C5 'Segmentation fault' test/perl-framework/t/logs/error_log
-        RV=2
-    fi
+    # Catch cases where abort()s get logged to stderr by libraries but
+    # only cause child processes to terminate e.g. during shutdown,
+    # which may not otherwise trigger test failures.
+
+    # "glibc detected": printed with LIBC_FATAL_STDERR_/MALLOC_CHECK_
+    # glibc will abort when malloc errors are detected.  This will get
+    # caught by the segfault grep as well.
+
+    # "pool concurrency check": printed by APR built with
+    # --enable-thread-debug when an APR pool concurrency check aborts
+
+    for phrase in 'Segmentation fault' 'glibc detected' 'pool concurrency check:' 'Assertion.*failed'; do
+        if grep -q "$phrase" test/perl-framework/t/logs/error_log; then
+            grep --color=always -C5 "$phrase" test/perl-framework/t/logs/error_log
+            RV=2
+        fi
+    done
 
     if test -v TEST_UBSAN && ls ubsan.log.* &> /dev/null; then
         cat ubsan.log.*
         RV=3
     fi
 
-    # With LIBC_FATAL_STDERR_/MALLOC_CHECK_ glibc will abort when
-    # malloc errors are detected.  This should get caught by the
-    # segfault grep above, but in case it is not, catch it here too:
-    if grep 'glibc detected' test/perl-framework/t/logs/error_log; then
-        grep --color=always -C20 'glibc detected' test/perl-framework/t/logs/error_log
+    if test -f test/perl-framework/t/core; then
+        gdb -ex 'thread apply all backtrace' -batch ./httpd test/perl-framework/t/core
         RV=4
     fi