uNetworking / uNetworking/uWebSockets

Http3 example not working

Open
#1,559 0 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
19k
Forks
1.9k
Avg merge
3h 24m
Merged PRs (30d)
5

Description

Bootstrap server works but not the H3App server - tested on Firefox, code version 20.36.0
Not sure what is causing this issue, firefox doesn't have any output.
Server output after uncommented some logging:

yuu@ubuntu-server:~/quic-test$ ./Http3Server
Bootstrapping server Listening on port 9004
Creating socket context with ssl: misc/key.pem
Engine: 0x55973f746ab0
Client Engine: 0x55973f77d090
The port of UDP is: 9004
HTTP/3 server Listening on port 9004
We got no ECN!
Reading UDP of size 1357
We received packet on port: 9004
getting ssl ctx now, peer_ctx: 0x55973f77d010
Key: misc/key.pem
Cert: misc/cert.pem
loaded cert and key? 1, 1
yolo SNI server_name_cb
existing name is: (null)
set name is: YOLO NAME!
simply returning old ctx in sni
select_alpn
OPENSSL_NPN_NEGOTIATED
Engine returned: 0
We got no ECN!
Reading UDP of size 1357
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 3 of 3
We got no ECN!
Reading UDP of size 42
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 111
We received packet on port: 9004
Engine returned: 0
Context is: 0x55973f745cc0
QUIC socket connected!
send_packets_out: returning 2 of 2
We got no ECN!
Reading UDP of size 317
We received packet on port: 9004
Stream open!
Engine returned: 0
wrote until end, shutting down now!
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 31
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
send_packets_out: returning 1 of 1
We got no ECN!
Reading UDP of size 32
We received packet on port: 9004
Engine returned: 0
on_conn_closed!
QUIC socket disconnected!
Http3Server: uWebSockets/uSockets/lsquic/src/liblsquic/lsquic_full_conn_ietf.c:3133: ietf_full_conn_ci_destroy: Assertion `conn->ifc_conn.cn_conn_ctx == NULL' failed.
Aborted (core dumped)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with Http3Server and Firefox using code version 20.36.0, starting from the server output and the assertion in lsquic/src/liblsquic/lsquic_full_conn_ietf.c:3133. Trace the connection-close path around that assertion and compare it with the successful Bootstrap server; done means Firefox receives output and Http3Server exits without aborting.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.