Bug#1036213: apache2: frequent SIGSEGV in mod_http2.so (purge_consumed_buckets)

2023-05-18 Thread Bastien Durel
Hello,

I ran with /usr/lib/apache2/modules/mod_http2_2.0.15.so &
/usr/lib/apache2/modules/mod_proxy_http2_2.0.15.so since yesterday
15:20, and got a SIGSEGV at 21:29:30 : it's not in
purge_consumed_buckets but it's in the h2_proxy stack ...

Here is the bt full of the core:

#0  0x7f9bb0464efe in ssl_io_filter_output (f=0x7f9ba02088d8, 
bb=0x7f9ba04cf3b8) at ssl_engine_io.c:1963
bucket = 0x7f9ba04c4108
status = 0
filter_ctx = 0x7f9ba0208880
inctx = 
outctx = 0x7f9ba0208900
rblock = 
#1  0x7f9bb0597999 in proxy_pass_brigade (flush=1, bb=, 
origin=, p_conn=0x7f9ba020a0a0, bucket_alloc=) at 
h2_proxy_session.c:218
status = 
transferred = 9
status = 
transferred = 
e = 
ap__b = 
#2  raw_send (ngh2=, data=, length=9, 
flags=, user_data=0x7f9ba04cf190) at h2_proxy_session.c:244
session = 0x7f9ba04cf190
b = 
status = 
flush = 1
#3  0x7f9bb14a11f9 in nghttp2_session_send () from 
/usr/lib/x86_64-linux-gnu/libnghttp2.so.14
No symbol table info available.
#4  0x7f9bb059a9b9 in send_loop (session=0x7f9ba04cf190) at 
h2_proxy_session.c:1517
rv = 
#5  h2_proxy_session_process (session=0x7f9ba04cf190) at h2_proxy_session.c:1553
status = 
have_written = 0
have_read = 0
run_loop = 
#6  0x7f9bb059db44 in ctx_run (ctx=0x7f9ba06014e0) at mod_proxy_http2.c:258
status = 0
h2_front = 
status = 
h2_front = 
out = 
#7  proxy_http2_handler (r=, worker=, 
conf=, url=, proxyname=, 
proxyport=) at mod_proxy_http2.c:405
proxy_func = 
locurl = 0x7f9ba0601610 
"/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
u = 
slen = 
is_ssl = 
status = 0
ctx = 0x7f9ba06014e0
uri = {scheme = 0x7f9ba0601580 "h2", hostinfo = 0x7f9ba0601588 
"doh.geekwu.org:5343", user = 0x0, password = 0x0, hostname = 0x7f9ba06015a0 
"doh.geekwu.org", port_str = 0x7f9ba06015b0 "5343", path = 0x7f9ba06015b8 
"/dns-query", 
  query = 0x7f9ba06015c8 
"dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB", fragment = 
0x0, hostent = 0x0, port = 5343, is_initialized = 1, dns_looked_up = 0, 
dns_resolved = 0}
reconnects = 
run_connect = 
#8  0x7f9bb0538943 in proxy_run_scheme_handler (r=r@entry=0x7f9ba05910a0, 
worker=0x7f9bb15cbbb0, conf=conf@entry=0x7f9bb15cba08, 
url=0x7f9ba060134e 
"h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB",
 proxyhost=proxyhost@entry=0x0, proxyport=proxyport@entry=0) at mod_proxy.c:3437
pHook = 
n = 3
rv = -1
#9  0x7f9bb053a9d2 in proxy_handler (r=0x7f9ba05910a0) at mod_proxy.c:1510
url = 0x7f9ba060134e 
"h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
uri = 0x7f9ba060134e 
"h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
scheme = 0x7f9ba0601470 "h2"
p = 
p2 = 0x7f9ba0208300 "(\200 \240\233\177"
sconf = 
conf = 0x7f9bb15cba08
proxies = 0x7f9bb15cbac8
ents = 0x7f9bb05b4688
i = 
rc = 
access_status = 0
direct_connect = 
str = 
maxfwd = 
balancer = 0x0
worker = 0x7f9bb15cbbb0
attempts = 0
max_attempts = 0
list = 
saved_status = 
#10 0x556306b489d0 in ap_run_handler (r=r@entry=0x7f9ba05910a0) at 
config.c:169
pHook = 
n = 1
rv = -1
#11 0x556306b48fc6 in ap_invoke_handler (r=r@entry=0x7f9ba05910a0) at 
config.c:443
handler = 
p = 
result = 0
old_handler = 0x7f9bb054930b "proxy-server"
ignore = 
#12 0x556306b619db in ap_process_async_request (r=r@entry=0x7f9ba05910a0) 
at http_request.c:452
c = 0x7f9ba06430a0
access_status = 0
#13 0x556306b61c1e in ap_process_request (r=r@entry=0x7f9ba05910a0) at 
http_request.c:487
bb = 0x7f9ba06434b0
b = 
c = 0x7f9ba06430a0
rv = 
#14 0x7f9bb116bbe6 in c2_process (c=0x7f9ba06430a0, 
conn_ctx=0x7f9ba06434b0) at h2_c2.c:723
cs = 0x7f9ba0643658
tenc = 
timeout = 
req = 0x7f9ba04f7180
r = 0x7f9ba05910a0
cleanup = 
req = 
cs = 
r = 
tenc = 
timeout = 
cleanup = 
#15 h2_c2_hook_process (c=0x7f9ba06430a0) at h2_c2.c:840
ctx = 0x7f9ba06434b0
#16 0x556306b52730 in ap_run_process_connection (c=c@entry=0x7f9ba06430a0) 
at connection.c:42
pHook = 
n = 0
rv = -1
#17 0x7f9bb116c4d7 in h2_c2_process (c2=c2@entry=0x7f9ba06430a0, 
thread=thread@entry=0x7f9bafdfb0b0, worker_id=) at h2_c2.c:658
conn_ctx = 0x7f9ba06434b0
#18 0x7f9bb1187567 in slot_run 

Bug#1036213: apache2: frequent SIGSEGV in mod_http2.so (purge_consumed_buckets)

2023-05-18 Thread Bastien Durel

Le 18/05/2023 à 14:41, Stefan Eissing a écrit :

Did you have an warning message like "AH03516: unexpected NN streams in hold" 
at that time in out error log?


No (grepping AH03516 in *.log returns nothing (nor does "streams in hold"))

--
Bastien Durel



Bug#1036213: apache2: frequent SIGSEGV in mod_http2.so (purge_consumed_buckets)

2023-05-18 Thread Stefan Eissing
Did you have an warning message like "AH03516: unexpected NN streams in hold" 
at that time in out error log?

> Am 18.05.2023 um 11:04 schrieb Bastien Durel :
> 
> Hello,
> 
> I ran with /usr/lib/apache2/modules/mod_http2_2.0.15.so &
> /usr/lib/apache2/modules/mod_proxy_http2_2.0.15.so since yesterday
> 15:20, and got a SIGSEGV at 21:29:30 : it's not in
> purge_consumed_buckets but it's in the h2_proxy stack ...
> 
> Here is the bt full of the core:
> 
> #0  0x7f9bb0464efe in ssl_io_filter_output (f=0x7f9ba02088d8, 
> bb=0x7f9ba04cf3b8) at ssl_engine_io.c:1963
>bucket = 0x7f9ba04c4108
>status = 0
>filter_ctx = 0x7f9ba0208880
>inctx = 
>outctx = 0x7f9ba0208900
>rblock = 
> #1  0x7f9bb0597999 in proxy_pass_brigade (flush=1, bb=, 
> origin=, p_conn=0x7f9ba020a0a0, bucket_alloc=) 
> at h2_proxy_session.c:218
>status = 
>transferred = 9
>status = 
>transferred = 
>e = 
>ap__b = 
> #2  raw_send (ngh2=, data=, length=9, 
> flags=, user_data=0x7f9ba04cf190) at h2_proxy_session.c:244
>session = 0x7f9ba04cf190
>b = 
>status = 
>flush = 1
> #3  0x7f9bb14a11f9 in nghttp2_session_send () from 
> /usr/lib/x86_64-linux-gnu/libnghttp2.so.14
> No symbol table info available.
> #4  0x7f9bb059a9b9 in send_loop (session=0x7f9ba04cf190) at 
> h2_proxy_session.c:1517
>rv = 
> #5  h2_proxy_session_process (session=0x7f9ba04cf190) at 
> h2_proxy_session.c:1553
>status = 
>have_written = 0
>have_read = 0
>run_loop = 
> #6  0x7f9bb059db44 in ctx_run (ctx=0x7f9ba06014e0) at 
> mod_proxy_http2.c:258
>status = 0
>h2_front = 
>status = 
>h2_front = 
>out = 
> #7  proxy_http2_handler (r=, worker=, 
> conf=, url=, proxyname=, 
> proxyport=) at mod_proxy_http2.c:405
>proxy_func = 
>locurl = 0x7f9ba0601610 
> "/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
>u = 
>slen = 
>is_ssl = 
>status = 0
>ctx = 0x7f9ba06014e0
>uri = {scheme = 0x7f9ba0601580 "h2", hostinfo = 0x7f9ba0601588 
> "doh.geekwu.org:5343", user = 0x0, password = 0x0, hostname = 0x7f9ba06015a0 
> "doh.geekwu.org", port_str = 0x7f9ba06015b0 "5343", path = 0x7f9ba06015b8 
> "/dns-query", 
>  query = 0x7f9ba06015c8 
> "dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB", fragment 
> = 0x0, hostent = 0x0, port = 5343, is_initialized = 1, dns_looked_up = 0, 
> dns_resolved = 0}
>reconnects = 
>run_connect = 
> #8  0x7f9bb0538943 in proxy_run_scheme_handler (r=r@entry=0x7f9ba05910a0, 
> worker=0x7f9bb15cbbb0, conf=conf@entry=0x7f9bb15cba08, 
>url=0x7f9ba060134e 
> "h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB",
>  proxyhost=proxyhost@entry=0x0, proxyport=proxyport@entry=0) at 
> mod_proxy.c:3437
>pHook = 
>n = 3
>rv = -1
> #9  0x7f9bb053a9d2 in proxy_handler (r=0x7f9ba05910a0) at mod_proxy.c:1510
>url = 0x7f9ba060134e 
> "h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
>uri = 0x7f9ba060134e 
> "h2://doh.geekwu.org:5343/dns-query?dns=AAABAAABDHNhZmVicm93c2luZwpnb29nbGVhcGlzA2NvbQAAHAAB"
>scheme = 0x7f9ba0601470 "h2"
>p = 
>p2 = 0x7f9ba0208300 "(\200 \240\233\177"
>sconf = 
>conf = 0x7f9bb15cba08
>proxies = 0x7f9bb15cbac8
>ents = 0x7f9bb05b4688
>i = 
>rc = 
>access_status = 0
>direct_connect = 
>str = 
>maxfwd = 
>balancer = 0x0
>worker = 0x7f9bb15cbbb0
>attempts = 0
>max_attempts = 0
>list = 
>saved_status = 
> #10 0x556306b489d0 in ap_run_handler (r=r@entry=0x7f9ba05910a0) at 
> config.c:169
>pHook = 
>n = 1
>rv = -1
> #11 0x556306b48fc6 in ap_invoke_handler (r=r@entry=0x7f9ba05910a0) at 
> config.c:443
>handler = 
>p = 
>result = 0
>old_handler = 0x7f9bb054930b "proxy-server"
>ignore = 
> #12 0x556306b619db in ap_process_async_request (r=r@entry=0x7f9ba05910a0) 
> at http_request.c:452
>c = 0x7f9ba06430a0
>access_status = 0
> #13 0x556306b61c1e in ap_process_request (r=r@entry=0x7f9ba05910a0) at 
> http_request.c:487
>bb = 0x7f9ba06434b0
>b = 
>c = 0x7f9ba06430a0
>rv = 
> #14 0x7f9bb116bbe6 in c2_process (c=0x7f9ba06430a0, 
> conn_ctx=0x7f9ba06434b0) at h2_c2.c:723
>cs = 0x7f9ba0643658
>tenc = 
>timeout = 
>req = 0x7f9ba04f7180
>r = 0x7f9ba05910a0
>cleanup = 
>req = 
>cs = 
>r = 
>tenc = 
>timeout = 
>cleanup = 
> #15 h2_c2_hook_process (c=0x7f9ba06430a0) at h2_c2.c:840
>ctx = 

Bug#1036213: apache2: frequent SIGSEGV in mod_http2.so (purge_consumed_buckets)

2023-05-18 Thread Stefan Eissing
Could you get me a full backtrace of all threads?

> Am 18.05.2023 um 15:04 schrieb Bastien Durel :
> 
> Le 18/05/2023 à 14:41, Stefan Eissing a écrit :
>> Did you have an warning message like "AH03516: unexpected NN streams in 
>> hold" at that time in out error log?
> 
> No (grepping AH03516 in *.log returns nothing (nor does "streams in hold"))
> 
> -- 
> Bastien Durel
>