Welcome! Log In Create A New Profile

Advanced

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

January 26, 2022 11:36PM
> The main quic connection is created in ngx_quic_new_connection(), which
> calls ngx_quic_open_sockets() and it sets c->udp for the first time.

> When packet arrives, c->udp is updated by ngx_lookup_udp_connection().

> The main connection does not have c->quic set; this is used in stream
> connections. To access main connection from quic stream, c->quic->parent
> may be used.

ngx_event_recvmsg->(ls->handler) ngx_http_init_connection->ngx_http_v3_init:
if (c->quic == NULL) {
h3scf->quic.timeout = clcf->keepalive_timeout;
ngx_quic_run(c, &h3scf->quic);
return;
}

And, why check c->quic == NULL, as it is never set
c->read->handler = ngx_quic_input_handler; in ngx_quic_run.
ngx_quic_close_connection maybe called in ngx_quic_input_handler, and it finally call ngx_ssl_shutdown(c), which cannot return immediately as c->quic is never set.
And maybe ngx_handle_read_event add c->read to events group finally

Gao,Yan(ACG VCP)

发件人: "Gao,Yan(媒体云)" <gaoyan09@baidu.com>
日期: 2022年1月26日 星期三 下午6:00
收件人: "nginx-devel@nginx.org" <nginx-devel@nginx.org>
主题: Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

> the case you are describing is not what see in backtrace. And in
> described case connection is main quic connection which has process
> c->quic pointer set.

I only find sc->quic = qs; in ngx_quic_create_stream,and this is stream connection, not the main quic connection.
How the main quic connection c->quic set?

And the local code at this position:
changeset: 8813:c37ea624c307
branch: quic
tag: tip
user: Roman Arutyunyan <arut@nginx.com>
date: Fri Jan 21 11:20:18 2022 +0300
summary: QUIC: changed debug message.

Gao,Yan(ACG VCP)

_______________________________________________
nginx-devel mailing list -- nginx-devel@nginx.org
To unsubscribe send an email to nginx-devel-leave@nginx.org
Subject Author Views Posted

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 500 January 26, 2022 12:00AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 195 January 26, 2022 01:16AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 223 January 26, 2022 01:40AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

Vladimir Homutov 144 January 26, 2022 03:04AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 204 January 26, 2022 05:02AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

Vladimir Homutov 177 January 26, 2022 07:18AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 154 January 26, 2022 11:36PM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

Vladimir Homutov 134 January 27, 2022 08:48AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 156 January 27, 2022 10:32PM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

Vladimir Homutov 138 January 28, 2022 04:02AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

gaoyan09 148 January 28, 2022 09:12AM

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

Vladimir Homutov 161 January 31, 2022 02:22AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 280
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready