Skip to content

Handle closed QUIC handshakes gracefully#1708

Open
lukaszsamson wants to merge 1 commit intoninenines:masterfrom
lukaszsamson:ls-close-crash-fix
Open

Handle closed QUIC handshakes gracefully#1708
lukaszsamson wants to merge 1 commit intoninenines:masterfrom
lukaszsamson:ls-close-crash-fix

Conversation

@lukaszsamson
Copy link
Copy Markdown

@lukaszsamson lukaszsamson commented Feb 21, 2026

Avoid crashing QUIC acceptors when a client disconnects during handshake and add an HTTP/3 regression test reproducing the close-during-handshake path.

Before the patch test fails with:

=case          rfc9114_SUITE:handshake_close_does_not_crash_acceptor
=logfile       rfc9114_suite.handshake_close_does_not_crash_acceptor.html
=started       2026-02-21 17:03:46
=ended         2026-02-21 17:03:47
=result        failed: {{badmatch,true},
                        [{rfc9114_SUITE,
                             handshake_close_does_not_crash_acceptor,1,
                             [{file,"test/rfc9114_SUITE.erl"},{line,77}]},
                         {test_server,ts_tc,3,
                             [{file,"test_server.erl"},{line,1796}]},
                         {test_server,run_test_case_eval1,6,
                             [{file,"test_server.erl"},{line,1305}]},
                         {test_server,run_test_case_eval,9,
                             [{file,"test_server.erl"},{line,1237}]}]}, [{rfc9114_SUITE,
                                                                          handshake_close_does_not_crash_acceptor,
                                                                          77},
                                                                         {test_server,
                                                                          ts_tc,
                                                                          1796},
                                                                         {test_server,
                                                                          run_test_case_eval1,
                                                                          1305},
                                                                         {test_server,
                                                                          run_test_case_eval,
                                                                          1237}]
=elapsed       0.674052s

Discovered while working on experimental WebTransport for phoenix implementation with cowboy and quicer backend

Avoid crashing QUIC acceptors when a client disconnects during handshake and add an HTTP/3 regression test reproducing the close-during-handshake path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@essen
Copy link
Copy Markdown
Member

essen commented Feb 24, 2026

Thanks. I will take this into account when redoing the listener/handshake part properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants