cloudflare / cloudflare/quiche

quiche-client panics on EINTR

Open
#1,248 1 comment 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

```
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 4, kind: Interrupted, message: "Interrupted system call" }', /home/jnelson/work/quiche/apps/src/client.rs:213:52
stack backtrace:
0: rust_begin_unwind
at /rustc/ea92b08383b718e79317b29470cb244c48557cd5/library/std/src/panicking.rs:584:5
1: core::panicking::panic_fmt
at /rustc/ea92b08383b718e79317b29470cb244c48557cd5/library/core/src/panicking.rs:142:14
2: core::result::unwrap_failed
at /rustc/ea92b08383b718e79317b29470cb244c48557cd5/library/core/src/result.rs:1785:5
3: core::result::Result::unwrap
at /rustc/ea92b08383b718e79317b29470cb244c48557cd5/library/core/src/result.rs:1078:23
4: quiche_apps::client::connect
at /home/jnelson/work/quiche/apps/src/client.rs:213:13
5: quiche_client::main
at /home/jnelson/work/quiche/apps/src/bin/quiche-client.rs:43:11
6: core::ops::function::FnOnce::call_once
at /rustc/ea92b08383b718e79317b29470cb244c48557cd5/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```
I think normally the right behavior is just to retry the system call?
https://github.com/cloudflare/quiche/blob/a7ab6dd0363b83b09039e166a5dae18fc75bec52/apps/src/client.rs#L213

Contributor guide

Open the contributing guide

Research direction

Start in apps/src/client.rs at line 213, where quiche-client unwraps the system call result, and trace the call from quiche_apps::client::connect through quiche_client::main. Confirm the expected handling of an Interrupted error, then verify that quiche-client retries the system call instead of panicking when it receives EINTR.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, networking
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.