On Fri, Nov 20, 2020 at 06:08:18PM +0100, Yann Ylavic wrote:
> I tried to reproduce this failure locally (debian buster) with multiple
> tries but couldn't.
> I think I'm using the same environment (apr-1.7.0, apr-util-1.6.1,
> APR_POOL_DEBUG, docker.io/redis:latest), and in the same way running:
>   $ (export SSL_SESSCACHE=redis:localhost:6379; ./t/TEST -sslproto TLSv1.2
> -defines TEST_SSL_SESSCACHE t/ssl)

There was a thread on this discussing whether apr_pool_find() was really safe...

I think that's the right setup, but it did not *reliably* fail just by 
running t/TEST alone.  IIRC it did reliably fail by starting the server 
as in your command above, and then running "ab" against the server:

  ab -qd -n 4000 -c 20 -f TLS1.2 https://localhost:8532/

and https://github.com/apache/httpd/pull/140 showed this failure was 
specific to pool-debug.  I could reliably reproduce it locally as well.

> Since session caching is not a failure point in mod_ssl, I also verified
> with redis up or down (and checked traffic with tcpdump), no luck either.
> Does it happen only with socache_redis?
> These seem to be the two threads racing:

I don't think it is specific to redis, there was a similar failure in: 
https://travis-ci.org/github/apache/httpd/jobs/723103332 which used 
memcache for example.

That said it's interesting and maybe significant if it doesn't fail with 
shmcb?

Regards, Joe


> 
> Thread 41 (Thread 0x7f59de0c7700 (LWP 32462)):
> #0  0x00007f5a19215b39 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
> #1  0x00007f5a1921ac27 in free () from /lib/x86_64-linux-gnu/libc.so.6
> #2  0x00007f5a197b5268 in pool_clear_debug (pool=pool@entry=0x55a892d7d9b0,
> file_line=<optimized out>) at memory/unix/apr_pools.c:1853
> #3  0x00007f5a197b4fee in pool_destroy_debug (pool=0x55a892d7d9b0,
> file_line=<optimized out>) at memory/unix/apr_pools.c:1915
> #4  0x00007f5a197b585c in apr_pool_destroy_debug (pool=<optimized out>,
> file_line=<optimized out>) at memory/unix/apr_pools.c:1957
> #5  0x000055a8929613c5 in eor_bucket_destroy (data=0x55a8931b87d8) at
> eor_bucket.c:108
> #6  0x000055a89296230b in send_brigade_nonblocking (c=0x55a892d84a20,
> ctx=0x55a8930b5a30, bb=0x55a892f72ac0, s=0x55a892d7d430) at
> core_filters.c:570
> #7  ap_core_output_filter (f=0x55a892f3d3c0, bb=0x55a892f72ac0) at
> core_filters.c:407
> #8  0x00007f5a03e76098 in bio_filter_out_pass
> (outctx=outctx@entry=0x55a892f747a0)
> at ssl_engine_io.c:139
> #9  0x00007f5a03e799e4 in ssl_io_filter_output (f=0x55a892f746e0,
> bb=0x55a892f711a0) at ssl_engine_io.c:1988
> #10 0x00007f5a03e767a8 in ssl_io_filter_coalesce (f=0x55a892f72c40,
> bb=0x55a892f711a0) at ssl_engine_io.c:1922
> #11 0x000055a89292dc6e in ap_process_request_after_handler (r=<optimized
> out>) at http_request.c:375
> #12 0x000055a89292b731 in ap_process_http_async_connection
> (c=0x55a892d84a20) at http_core.c:158
> #13 ap_process_http_connection (c=0x55a892d84a20) at http_core.c:252
> #14 0x000055a892944d30 in ap_run_process_connection (c=c@entry=0x55a892d84a20)
> at connection.c:42
> #15 0x00007f5a17b8c65d in process_socket (thd=0x55a89313fcc0, p=<optimized
> out>, sock=<optimized out>, cs=0x55a892d0d650, my_child_num=<optimized
> out>, my_thread_num=<optimized out>) at event.c:1094
> #16 0x00007f5a17b8cf8f in worker_thread (thd=0x55a89313fcc0,
> dummy=<optimized out>) at event.c:2383
> #17 0x00007f5a1957b6db in start_thread () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #18 0x00007f5a192a488f in clone () from /lib/x86_64-linux-gnu/libc.so.6
> 
> Thread 66 (Thread 0x7f59df0c9700 (LWP 32460)):
> #0  0x00007f5a191c2187 in kill () from /lib/x86_64-linux-gnu/libc.so.6
> #1  <signal handler called>
> #2  0x00007f5a191c1e97 in raise () from /lib/x86_64-linux-gnu/libc.so.6
> #3  0x00007f5a191c3801 in abort () from /lib/x86_64-linux-gnu/libc.so.6
> #4  0x00007f5a197adf62 in apr_table_mergen (t=0x55a89306dfb0,
> key=key@entry=0x55a8929870aa
> "Connection", val=val@entry=0x55a89297ff86 "close") at
> tables/apr_tables.c:750
> #5  0x000055a89292bfff in ap_set_keepalive (r=r@entry=0x55a892fd2540) at
> http_protocol.c:309
> #6  0x000055a892931435 in ap_http_header_filter (f=0x55a892f39c30,
> b=0x55a892f54ea0) at http_filters.c:1372
> #7  0x000055a89294f071 in ap_content_length_filter (f=0x55a892f38140,
> b=0x55a892f54ea0) at protocol.c:2040
> #8  0x000055a8929332a7 in ap_byterange_filter (f=0x55a892d22370,
> bb=0x55a892f54ea0) at byterange_filter.c:463
> #9  0x00007f5a04ab8e14 in session_output_filter (f=0x55a892f3d8b0,
> in=0x55a892f54ea0) at mod_session.c:501
> #10 0x00007f5a05efdc10 in ap_proxy_http_process_response
> (req=req@entry=0x55a892f46bf0)
> at mod_proxy_http.c:1997
> #11 0x00007f5a05f0018f in proxy_http_handler (r=<optimized out>,
> worker=<optimized out>, conf=0x55a892e614f0, url=<optimized out>,
> proxyname=0x0, proxyport=<optimized out>) at mod_proxy_http.c:2326
> #12 0x00007f5a0651f7ec in proxy_run_scheme_handler (r=r@entry=0x55a892fd2540,
> worker=0x55a892e61780, conf=conf@entry=0x55a892e614f0, url=0x55a89325ea96 "
> https://localhost:8532/";, proxyhost=proxyhost@entry=0x0,
> proxyport=proxyport@entry=0) at mod_proxy.c:3519
> #13 0x00007f5a0652189e in proxy_handler (r=0x55a892fd2540) at
> mod_proxy.c:1525
> #14 0x000055a892935b00 in ap_run_handler (r=r@entry=0x55a892fd2540) at
> config.c:170
> #15 0x000055a89293609d in ap_invoke_handler (r=r@entry=0x55a892fd2540) at
> config.c:444
> #16 0x000055a89292ec9b in ap_process_async_request (r=0x55a892fd2540) at
> http_request.c:463
> #17 0x000055a89292b731 in ap_process_http_async_connection
> (c=0x55a892d13490) at http_core.c:158
> #18 ap_process_http_connection (c=0x55a892d13490) at http_core.c:252
> #19 0x000055a892944d30 in ap_run_process_connection (c=c@entry=0x55a892d13490)
> at connection.c:42
> #20 0x00007f5a17b8c65d in process_socket (thd=0x55a8931410b0, p=<optimized
> out>, sock=<optimized out>, cs=0x55a892cfe760, my_child_num=<optimized
> out>, my_thread_num=<optimized out>) at event.c:1094
> #21 0x00007f5a17b8cf8f in worker_thread (thd=0x55a8931410b0,
> dummy=<optimized out>) at event.c:2383
> #22 0x00007f5a1957b6db in start_thread () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #23 0x00007f5a192a488f in clone () from /lib/x86_64-linux-gnu/libc.so.6
> 
> But we don't in Thread #41 whether the request is the same as in Thread #66
> (0x55a892fd2540)..
> 
> Any idea on how to reproduce it? I'm out of ideas currently :/
> 
> Regards;
> Yann.
> 
> On Thu, Nov 19, 2020 at 1:34 PM Travis CI <[email protected]> wrote:
> >
> > apache / httpd
> >
> > trunk
> >
> > Build #1216 was broken
> > 19 mins and 3 secs
> > Yann Ylavic
> > 2865f25 CHANGESET →
> >
> > Remove indentation preserved in r1883639 to ease review.
> >
> > No functional changes.
> >
> >
> > git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1883640
> 13f79535-47bb-0310-9956-ffa450edef68
> >
> > Want to know about upcoming build environment updates?
> >
> > Would you like to stay up-to-date with the upcoming Travis CI build
> environment updates? We set up a mailing list for you!
> >
> > SIGN UP HERE
> > Documentation about Travis CI
> > Have any questions? We're here to help.
> > Unsubscribe from build emails from the apache/httpd repository.
> > To unsubscribe from all build emails, please update your settings.
> >
> 
> 
> On Thu, Nov 19, 2020 at 1:34 PM Travis CI <[email protected]> wrote:
> 
> > apache
> >
> > /
> >
> > httpd
> >
> > <https://travis-ci.com/github/apache/httpd?utm_medium=notification&utm_source=email>
> >
> > [image: branch icon]trunk <https://github.com/apache/httpd/tree/trunk>
> > [image: build has failed]
> > Build #1216 was broken
> > <https://travis-ci.com/github/apache/httpd/builds/202714023?utm_medium=notification&utm_source=email>
> > [image: arrow to build time]
> > [image: clock icon]19 mins and 3 secs
> >
> > [image: Yann Ylavic avatar]Yann Ylavic
> > 2865f25 CHANGESET →
> > <https://github.com/apache/httpd/compare/7c220fc67527...2865f2584b4d>
> >
> > Remove indentation preserved in r1883639 to ease review.
> >
> > No functional changes.
> >
> >
> > git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1883640
> > 13f79535-47bb-0310-9956-ffa450edef68
> >
> > Want to know about upcoming build environment updates?
> >
> > Would you like to stay up-to-date with the upcoming Travis CI build
> > environment updates? We set up a mailing list for you!
> > SIGN UP HERE <http://eepurl.com/9OCsP>
> >
> > [image: book icon]
> >
> > Documentation <https://docs.travis-ci.com/> about Travis CI
> > Have any questions? We're here to help. <[email protected]>
> > Unsubscribe
> > <https://travis-ci.com/account/preferences/unsubscribe?repository=16806660&utm_medium=notification&utm_source=email>
> > from build emails from the apache/httpd repository.
> > To unsubscribe from *all* build emails, please update your settings
> > <https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email>.
> >
> > [image: black and white travis ci logo] <https://travis-ci.com>
> >
> > Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF/CEO: Randy
> > Jacops | Contact: [email protected] | Amtsgericht Charlottenburg,
> > Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz:
> > DE282002648
> >

Reply via email to