Am 17.01.2019 um 19:49 schrieb Daniel Ruggeri:
Hi, all;
    Please find below the proposed release tarball and signatures:
https://dist.apache.org/repos/dist/dev/httpd/

I would like to call a VOTE over the next few days to release this candidate tarball as 2.4.38:
[X] +1: It's not just good, it's good enough!
[ ] +0: Let's have a talk.
[ ] -1: There's trouble in paradise. Here's what's wrong.

+1 to release and thanks a bunch for RM!

Summary: all OK except for

- some shutdown crashes on Solaris with MPM event when statically linked (already observed in 2.4.37)

Detailed report:

- Sigs and hashes OK
- contents of tarballs identical
- contents of tag and tarballs identical
  except for expected deltas

Built on

- Solaris 10 Sparc as 32 Bit Binaries
- SLES 11+12 (64 Bits)
- RHEL 6+7 (64 Bits)

For all platforms built

- with default (shared) and static modules
- with module set reallyall
- using --enable-load-all-modules
- against external APR/APU 1.6.5/1.6.1

- using external libraries
  - expat 2.2.6
  - pcre 8.42
  - lua 5.3.5 (compiled with LUA_COMPAT_MODULE)
  - distcache 1.5.1
  - libxml2 2.9.9
  - libnghttp2 1.35.1
  - brotli 1.0.7
  - curl 7.63.0
  - jansson 2.12
and
  - openssl 0.9.8zh, 1.0.2q, 1.0.2, 1.0.1e, 1.0.1i, 1.1.1, 1.1.1a

- Tool chain:
    - platform gcc except on Solaris
      (gcc 8.2.0 Solaris 10)
    - CFLAGS: -O2 -g -Wall -fno-strict-aliasing
      - on Solaris additionally -mpcu=v9, -D_XOPEN_SOURCE,
        -D_XOPEN_SOURCE_EXTENDED=1, -D__EXTENSIONS__
        and -D_XPG6

All of the 126 builds succeeded.

- compiler warnings: none

Tested for

- Solaris 10, SLES 11+12, RHEL 6+7
- MPMs prefork, worker, event
  - prefork skipped on Solaris due to the accept lock problem that
    leads to timeouts and thus excessive testing times in the proxy
- default and static module builds
- log level trace8
- module set reallyall
  - for "reallyall" 128 modules plus MPMs
- Perl client bundle build against OpenSSL 1.1.1, 1.1.0i, 1.0.2p and 0.9.8zh
- OpenSSL once linked statically and once as shared library

Every OpenSSL version in the client tested with every version in the server, not just the same version.

The total number of test suite runs was 1318 (plus some of them still running, the whole suite hasn't finished yet, but enough to come up with a clear expectation).

The following test failures were seen:

a Crashes only on Solaris and only with event MPM and static builds.
  The crash seems to happen only at the end of a process, likely due
  to double cleanup of OpenSSL.

b Test 59 of t/modules/include.t only and always on
  Solaris.
  Not a regression
  Old analysis was:
  This is due to a bug in the test, which uses strftime()
  with a "%s" pattern that is not supported on Solaris.
  Until recently the server and the test client both returned
  verbatim "%s" and the test succeeded. After updating some
  Perl modules for the http2 tests, the perl client even
  on Solaris now supports "%s" in strftime and the test starts
  to fail. It seems we have to fix the test.

c Various tests in t/apache/expr_string.t
  Not a regression.
  Test numbers : 6, 11, 14, 17, 20, 23, 26, 29
  Happens for 39 out of about 1300 runs
  (twice on SLES 11, 3 times on Solaris 10, otherwise always on RHEL6).
  The failure is always on line 87, where the error_log contents
  are checked. Could be due to logs written to NFS.

d Test 5 in t/modules/dav.t:
  Not a regression.
  4 times, once Solaris, twice RHEL 6 and once RHEL 7
  Creation, modified and now times not in the correct order.
  This seems to be a system issue, all tests done on NFS,
  many tested on virtualized guests.

e Test 54 in t/modules/cgi.t line 232:
  Twice once Solaris
  Test checks log contents. Could be false positive due to
  logs written to NFS.

f I expect prefork on Solaris still to observe timeouts during
  proxy tests like reported for previous versions, but didn't test
  it this time due to the long test runs when the problem happens.
  I will start these runs after the other ones will have finished
  just to be able to report, whether the old problem is still
  there or has changed.

g t/modules/http2.t fails for client using OpenSSL 0.9.8(zh)
  False positive.
  Calculation for number of tests was wrong in this case,
  so test complained about 52 tests expected but 56 tests run.
  Fixed now in svn.

So apart from the shutdown crashes on Solaris no real problems. I think the Solaris shutdown problem is not critical, because only for event plus static build (plus probably APU crypto enabled). Already observed for 2.4.37.

gdb bt:

#0  do_rand_init_ossl_ () at crypto/rand/rand_lib.c:313
#1  0xfe8b92dc in pthread_once () from /lib/libc.so.1
#2 0xfd9800b4 in CRYPTO_THREAD_run_once (once=0xfdb32088 <rand_init>, init=0xfd9738cc <do_rand_init_ossl_>) at crypto/threads_pthread.c:113 #3 0xfd974148 in RAND_set_rand_method (meth=0x0) at crypto/rand/rand_lib.c:664
#4  0xfd974220 in rand_cleanup_int () at crypto/rand/rand_lib.c:355
#5  0xfd95f8c4 in OPENSSL_cleanup () at crypto/init.c:558
#6  0xfe84237c in _exithandle () from /lib/libc.so.1
#7  0xfe830798 in exit () from /lib/libc.so.1
#8 0xfe1353c0 in clean_child_exit (code=0) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:738 #9 0xfe13610c in child_main (child_num_arg=0, child_bucket=<optimized out>) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:2499 #10 0xfe136a08 in make_child (s=0x5404c8, slot=0, bucket=0) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:2691 #11 0xfe136ad0 in startup_children (number_to_start=3) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:2711 #12 0xfe137898 in event_run (_pconf=0x50c708, plog=0x564188, s=0x5404c8) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:3070 #13 0x0008a090 in ap_run_mpm (pconf=0x50c708, plog=0x564188, s=0x5404c8) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm_common.c:94 #14 0x003f5d30 in main (argc=<optimized out>, argv=<optimized out>) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/main.c:819

gdb bt full:

#0  do_rand_init_ossl_ () at crypto/rand/rand_lib.c:313
No locals.
#1  0xfe8b92dc in pthread_once () from /lib/libc.so.1
No symbol table info available.
#2 0xfd9800b4 in CRYPTO_THREAD_run_once (once=0xfdb32088 <rand_init>, init=0xfd9738cc <do_rand_init_ossl_>) at crypto/threads_pthread.c:113
No locals.
#3 0xfd974148 in RAND_set_rand_method (meth=0x0) at crypto/rand/rand_lib.c:664
No locals.
#4  0xfd974220 in rand_cleanup_int () at crypto/rand/rand_lib.c:355
        meth = <optimized out>
#5  0xfd95f8c4 in OPENSSL_cleanup () at crypto/init.c:558
        currhandler = <optimized out>
        lasthandler = <optimized out>
        key = 9
#6  0xfe84237c in _exithandle () from /lib/libc.so.1
No symbol table info available.
#7  0xfe830798 in exit () from /lib/libc.so.1
No symbol table info available.
#8 0xfe1353c0 in clean_child_exit (code=0) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:738
No locals.
#9 0xfe13610c in child_main (child_num_arg=0, child_bucket=<optimized out>) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:2499
        threads = <optimized out>
        rv = <optimized out>
        ts = <optimized out>
        thread_attr = 0x59fd00
        start_thread_id = 0x59fd18
        i = <optimized out>
#10 0xfe136a08 in make_child (s=0x5404c8, slot=0, bucket=0) at /shared/build/dev/httpd/sources/httpd/2.4.x/2.4.38/httpd-2.4.38/server/mpm/event/event.c:2691
        pid = <optimized out>
...

Regards,

Rainer

Reply via email to