You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Stefan Eissing <st...@greenbytes.de> on 2017/03/12 14:58:58 UTC

mod_http2 v1.9.3

Stefan,

I would be very interested in hearing how v1.9.3 fares in your environment:
- I found and fixed a race in connection shutdown that could potentially explain your sometimes observed crashes
- I changed mutex use for individual requests, producing less contention. Tests on my system are fine, need to see some real world exposure (read: I warned you)

Available at: https://github.com/icing/mod_h2/releases/tag/v1.9.3

Thanks a lot!

Stefan Eissing

<green/>bytes GmbH
Hafenstrasse 16
48155 Münster
www.greenbytes.de


Re: mod_http2 v1.9.3

Posted by Stefan Priebe - Profihost AG <s....@profihost.ag>.
Hi Stefan

here are some "new" traces for v1.9.3:
#0  0x00007f85d5021b62 in apr_bucket_free (mem=mem@entry=0x7f857c077348)
    at buckets/apr_buckets_alloc.c:200
#0  0x00007f85d5021b62 in apr_bucket_free (mem=mem@entry=0x7f857c077348)
    at buckets/apr_buckets_alloc.c:200
#1  0x00007f85d5022c68 in socket_bucket_read (a=0x7f85880e13d8,
    str=0x7f85bdffa7b8, len=0x7f85bdffa7c0, block=<optimized out>)
    at buckets/apr_buckets_socket.c:43
#2  0x000055dcf0c2a051 in ap_core_input_filter (f=0x7f85880df000,
    b=0x7f85880def80, mode=<optimized out>, block=APR_NONBLOCK_READ,
    readbytes=5) at core_filters.c:235
#3  0x000055dcf0c72b6a in logio_in_filter (f=<optimized out>,
    bb=0x7f85880def80, mode=<optimized out>, block=<optimized out>,
    readbytes=<optimized out>) at mod_logio.c:165
#4  0x000055dcf0c7dc3a in bio_filter_in_read (bio=0x7f858000d350,
    in=0x7f859404ec93
"\027\003\003\001\060\226\v\001\252\003d4\200\307\fB\177u\261\242<ty\267\345\300\031\u042c\344\363\323\302\066\272\240\211\237\035\241\005p\227jg\272\315\327$xyN\305U\210\375\002\v\317\316\215\u0179\036i\365\245\262\363;\211\363+\342+\227\u055f-2\206\065\370\025\365\355[}\306
A\006
\205U\355c\310\b\237\204<\351\307\022\266\232\335\\\327H\255\245\341C\224\262\021t\335\343\343d\236@\307\307g\275%\333U8\243\205\303\321b\354\234{\f\230\355\035e\257+\310\u076f\226\222\255\a\215H\247\263\021\371?\020O:\031\353\035\020\271j\u0726\215\225|\346\312\323V\315\021\252\202\267\355\263a\304\345\025\261\357\334\341\344\234*\347\025"...,

    inlen=5) at ssl_engine_io.c:483
#5  0x00007f85d5a1514c in BIO_read ()
   from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#6  0x00007f85d5d78c92 in ?? () from
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#7  0x00007f85d5d7a48d in ?? () from
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#8  0x00007f85d5d77024 in ?? () from
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#9  0x000055dcf0c7ea93 in ssl_io_input_read (inctx=0x7f85880dcf08,
    buf=0x7f85880dcf50 "", len=0x7f85bdffab38) at ssl_engine_io.c:614
#10 0x000055dcf0c8148c in ssl_io_filter_input (f=0x7f85880def58,
    bb=0x7f8580076e18, mode=<optimized out>, block=<optimized out>,
    readbytes=8000) at ssl_engine_io.c:1474
#11 0x000055dcf0c94ec5 in h2_filter_core_input (f=0x7f85880df2d0,
    brigade=0x7f8580076e18, mode=2147970592, block=APR_NONBLOCK_READ,
    readbytes=8000) at h2_filter.c:149
#12 0x000055dcf0ca024b in h2_session_read (session=0x7f8580076970,
    block=<optimized out>) at h2_session.c:1481
#13 0x000055dcf0ca3a7f in h2_session_process (session=0x7f8580076970,
    async=892232553) at h2_session.c:2110
#14 0x000055dcf0c9394e in h2_conn_run (ctx=<optimized out>,
c=0x7f85c006a708)
    at h2_conn.c:220
#15 0x000055dcf0c96691 in h2_h2_process_conn (c=0x7f85c006a708) at
h2_h2.c:659
#16 0x000055dcf0c39070 in ap_run_process_connection (c=0x7f85c006a708)
    at connection.c:42
#17 0x000055dcf0cd3c40 in process_socket (my_thread_num=<optimized out>,
    my_child_num=<optimized out>, cs=0x7f85c006a678, sock=<optimized out>,
    p=<optimized out>, thd=<optimized out>) at event.c:1134
#18 worker_thread (thd=0x7f857c077348, dummy=0x39372d33352e6369)
    at event.c:2137
#19 0x00007f85d4bcd0a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#20 0x00007f85d490262d in clone () from /lib/x86_64-linux-gnu/libc.so.6



and

#0  apr_pool_is_ancestor (a=0x7f85000069e8, b=0x1f60,
b@entry=0x7f85000049d8)
    at memory/unix/apr_pools.c:2112
#0  apr_pool_is_ancestor (a=0x7f85000069e8, b=0x1f60,
b@entry=0x7f85000049d8)
    at memory/unix/apr_pools.c:2112
#1  0x00007f85d5021c4e in file_bucket_setaside (data=<optimized out>,
    reqpool=0x7f85000049d8) at buckets/apr_buckets_file.c:208
#2  0x000055dcf0cb0514 in append_bucket (pbl=0x7f85cd049850,
    block=APR_NONBLOCK_READ, b=0x7f8500002a08, beam=0x7f8580049980)
    at h2_bucket_beam.c:840
#3  h2_beam_send (beam=0x7f8580049980, sender_bb=0x7f8500024610,
    block=APR_NONBLOCK_READ) at h2_bucket_beam.c:909
#4  0x000055dcf0caa53a in send_out (task=0x7f8500004a50, bb=0x7f8500024610,
    block=0) at h2_task.c:101
#5  0x000055dcf0caaaf6 in slave_out (task=0x7f8500004a50, f=0x7f8500000f08,
    bb=0x7f8500024610) at h2_task.c:178
#6  0x000055dcf0caad6d in h2_filter_slave_output (filter=0x7f8500000f08,
    brigade=0x7f8500024610) at h2_task.c:355
#7  0x000055dcf0cb33da in h2_filter_headers_out (f=0x7f8500008188,
bb=0x1f60)
    at h2_from_h1.c:600
#8  0x000055dcf0c16f5c in ap_content_length_filter (f=0x7f8500007fb8,
    b=0x7f8500024610) at protocol.c:1713
#9  0x000055dcf0c6d4c0 in ap_byterange_filter (f=0x7f85000069e8,
    bb=0x7f8500024610) at byterange_filter.c:494
#10 0x000055dcf0c6018b in filter_harness (f=0x7f85000069e8, bb=0x1f60)
    at mod_filter.c:314
#11 0x000055dcf0c6018b in filter_harness (f=0x7f85000069e8, bb=0x1f60)
    at mod_filter.c:314
#12 0x000055dcf0c6018b in filter_harness (f=0x7f85000069e8, bb=0x1f60)
    at mod_filter.c:314
#13 0x000055dcf0c1d182 in default_handler (r=0x7f8500006a60) at core.c:4746
#14 0x000055dcf0c2f070 in ap_run_handler (r=r@entry=0x7f8500006a60)
    at config.c:170
#15 0x000055dcf0c2f5b9 in ap_invoke_handler (r=0x7f8500006a60) at
config.c:434
#16 0x000055dcf0c68bf2 in ap_process_async_request (r=0x7f8500006a60)
    at http_request.c:436
#17 0x000055dcf0c68d90 in ap_process_request (r=0x7f8500006a60)
    at http_request.c:471
#18 0x000055dcf0ca9dc2 in h2_task_process_request (c=<optimized out>,
    task=<optimized out>) at h2_task.c:622
#19 h2_task_process_conn (c=0x7f85000069e8) at h2_task.c:669
#20 0x000055dcf0c39070 in ap_run_process_connection (c=0x7f8500000a30)
    at connection.c:42
#21 0x000055dcf0cab29f in h2_task_do (task=0x7f8500004a50,
    thread=0x55dcf235ce60, worker_id=0) at h2_task.c:579
#22 0x000055dcf0cb4c52 in execute (thread=0x55dcf235ce60,
wctx=0x55dcf235ce20)
    at h2_worker.c:46
#23 0x00007f85d4bcd0a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#24 0x00007f85d490262d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Stefan
Am 12.03.2017 um 19:53 schrieb Stefan Priebe - Profihost AG:
> Thanks. Installed.
> 
> Greets,
> Stefan
> Am 12.03.2017 um 15:58 schrieb Stefan Eissing:
>> Stefan,
>>
>> I would be very interested in hearing how v1.9.3 fares in your environment:
>> - I found and fixed a race in connection shutdown that could potentially explain your sometimes observed crashes
>> - I changed mutex use for individual requests, producing less contention. Tests on my system are fine, need to see some real world exposure (read: I warned you)
>>
>> Available at: https://github.com/icing/mod_h2/releases/tag/v1.9.3
>>
>> Thanks a lot!
>>
>> Stefan Eissing
>>
>> <green/>bytes GmbH
>> Hafenstrasse 16
>> 48155 M�nster
>> www.greenbytes.de
>>

Re: mod_http2 v1.9.3

Posted by Stefan Priebe - Profihost AG <s....@profihost.ag>.
Thanks. Installed.

Greets,
Stefan
Am 12.03.2017 um 15:58 schrieb Stefan Eissing:
> Stefan,
> 
> I would be very interested in hearing how v1.9.3 fares in your environment:
> - I found and fixed a race in connection shutdown that could potentially explain your sometimes observed crashes
> - I changed mutex use for individual requests, producing less contention. Tests on my system are fine, need to see some real world exposure (read: I warned you)
> 
> Available at: https://github.com/icing/mod_h2/releases/tag/v1.9.3
> 
> Thanks a lot!
> 
> Stefan Eissing
> 
> <green/>bytes GmbH
> Hafenstrasse 16
> 48155 M�nster
> www.greenbytes.de
>