cloudflare / cloudflare/quiche

Quiche Quic interop reference implementation crash

Open
#2,548 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
11.8k
Forks
1.1k
Avg merge
21h 9m
Merged PRs (30d)
6

Description

Hello.

I think I have detected a file descriptor misshandling issue

What: crash at "muttiplexing" test case

When: during the testing of my server implementation against the quiche client, I found a bug related with the number of files open.

Environment: quic interop runner, docker, virtual machine

The virtual machine have this file descriptor limits:

ulimit -Hn -> unlimited
ulimit -n -> 1024
cat /proc/sys/fs/file-max -> a very huge number

How to reproduce:
python3 run.py -c quiche -s -t multiplexing [--debug]

Result:
[2026-07-20T13:27:31.991416661Z DEBUG quiche_apps::common] sending HTTP request "GET /bountiful-intense-keyboard\r\n"
[2026-07-20T13:27:31.991450114Z DEBUG quiche_apps::common] sending HTTP request "GET /salty-satisfied-cheetah\r\n"
[2026-07-20T13:27:31.991477545Z DEBUG quiche_apps::common] sending HTTP request "GET /large-scalding-lemur\r\n"
[2026-07-20T13:27:31.991503674Z DEBUG quiche_apps::common] sending HTTP request "GET /clean-overjoyed-golfcart\r\n"

thread 'main' panicked at apps/src/common.rs:128:23:
Error creating file for https://server4/clean-overjoyed-golfcart, attempted path was /downloads/clean-overjoyed-golfcart: Too many open files (os error 24)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thanks in advance.

Contributor guide

Open the contributing guide

Research direction

Run `python3 run.py -c quiche -s -t multiplexing [--debug]` in the stated environment and reproduce the file-descriptor failure. Start at `apps/src/common.rs:128` and the interop runner entry point; done means the multiplexing test handles the download workload without panicking with `Too many open files`.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python, rust
Domain
networking, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.