<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@等线";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:12.0pt;
        font-family:DengXian;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:DengXian;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="ZH-CN" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">Why sc->type = SOCK_STREAM in ngx_quic_create_stream? Should it be SOCK_DGRAM?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Gao,Yan(ACG VCP)
</span><span lang="EN-US" style="font-size:10.5pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-family:宋体;color:black">发件人</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">"Gao,Yan(</span><span style="font-family:宋体;color:black">媒体云</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">)" <gaoyan09@baidu.com><br>
</span><b><span style="font-family:宋体;color:black">日期</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">2022</span><span style="font-family:宋体;color:black">年</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">1</span><span style="font-family:宋体;color:black">月</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">26</span><span style="font-family:宋体;color:black">日</span><span style="font-family:"Calibri",sans-serif;color:black">
</span><span style="font-family:宋体;color:black">星期三</span><span style="font-family:"Calibri",sans-serif;color:black">
</span><span style="font-family:宋体;color:black">下午</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">2:13<br>
</span><b><span style="font-family:宋体;color:black">收件人</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">"nginx-devel@nginx.org" <nginx-devel@nginx.org><br>
</span><b><span style="font-family:宋体;color:black">主题</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-family:宋体"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">I guess the problem function call chain: final_early_data(openssl)-></span><span lang="EN-US">
</span><span lang="EN-US" style="font-size:10.5pt">quic_set_encryption_secrets-></span><span lang="EN-US">
</span><span lang="EN-US" style="font-size:10.5pt">ngx_quic_set_encryption_secrets -></span><span lang="EN-US">
</span><span lang="EN-US" style="font-size:10.5pt">ngx_quic_init_streams -></span><span lang="EN-US">
</span><span lang="EN-US" style="font-size:10.5pt">ngx_ssl_ocsp_validate-></span><span lang="EN-US">
</span><span lang="EN-US" style="font-size:10.5pt">ngx_handle_read_event<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">But this connection->quic would always be null, and cannot jump to quic if branch in ngx_handle_read_event<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Gao,Yan(ACG VCP)
</span><span lang="EN-US" style="font-size:10.5pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-family:宋体;color:black">发件人</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">"Gao,Yan(</span><span style="font-family:宋体;color:black">媒体云</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">)" <gaoyan09@baidu.com><br>
</span><b><span style="font-family:宋体;color:black">日期</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">2022</span><span style="font-family:宋体;color:black">年</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">1</span><span style="font-family:宋体;color:black">月</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">26</span><span style="font-family:宋体;color:black">日</span><span style="font-family:"Calibri",sans-serif;color:black">
</span><span style="font-family:宋体;color:black">星期三</span><span style="font-family:"Calibri",sans-serif;color:black">
</span><span style="font-family:宋体;color:black">下午</span><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">12:56<br>
</span><b><span style="font-family:宋体;color:black">收件人</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">"nginx-devel@nginx.org" <nginx-devel@nginx.org><br>
</span><b><span style="font-family:宋体;color:black">主题</span></b><b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">:
</span></b><span lang="EN-US" style="font-family:"Calibri",sans-serif;color:black">Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-family:宋体"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-size:10.5pt">> 
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri",sans-serif;color:black">Thank you for report!<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-size:10.5pt">> 
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri",sans-serif;color:black">Can you please enable debug and provide debug log?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">Sorry, this is a very rare case, and do not know how to trigger this bug steadily
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">here is more data from the stack<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">p *c<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">$1 = {data = 0x7efd695c74c0, read = 0xf2aa990, write = 0xfa72ca0, fd = 5547, recv = 0x4a7c9a <ngx_udp_shared_recv>, send = 0x4ab5b9 <ngx_udp_unix_send>, recv_chain = 0x0,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  send_chain = 0x4ab7a7 <ngx_udp_unix_sendmsg_chain>, listening = 0x29cf140, sent = 0, log = 0x7efd695c73f0, pool = 0x7efd695c7330, type = 2, sockaddr = 0x7efd695c7380, socklen = 16,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  addr_text = {len = 15, data = 0x7efd695c74b0 "123.101.125.168.H\270(\v"}, proxy_protocol = 0x0, quic = 0x0, ssl = 0x1e491e8, udp = 0x1e49150, local_sockaddr = 0x7efd695c7440, local_socklen =
 16,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  buffer = 0x7efd695c7450, queue = {prev = 0x0, next = 0x0}, number = 433923428, start_time = 3194843312, requests = 0, buffered = 0, log_error = 2, timedout = 0, error = 0,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  destroyed = 0, idle = 0, reusable = 0, close = 0, shared = 1, sendfile = 0, sndlowat = 0, tcp_nodelay = 0, tcp_nopush = 0, need_last_buf = 0}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">p *c->ssl<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">$2 = {connection = 0x7efd708fdb00, session_ctx = 0x7efd69052970, last = 0, buf = 0x0, buffer_size = 16384,
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  handler = 0x0, session = 0x0, save_session = 0x0, saved_read_handler = 0x0, saved_write_handler = 0x0, ocsp = 0x0, early_buf = 0 '\000', handshaked = 0, handshake_rejected = 0, renegotiation
 = 0,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">  buffer = 1, sendfile = 0, no_wait_shutdown = 1, no_send_shutdown = 0, shutdown_without_free = 0, handshake_buffer_set = 0, try_early_data = 0, in_early = 0, in_ocsp = 0, early_preread = 0, write_blocked
 = 0}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt">And you can see it happened before handshaked<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Gao,Yan(ACG VCP)
</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</body>
</html>