actix / actix/actix-web

Connect(Disconnected) when issuing a malformed request enough times

オープン
#2,340 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
24.8k
フォーク
1.9k
平均マージ
23時間 10分
マージ済み PR(30日)
26

説明

We faced a potential bug where enough requests malformed would cause a (awc) client to no longer be usable with a given (actix-web) server. These malformed requests had a bad value for an expected enum on the path parameters of the URL.

## Steps to reproduce
1. git clone https://github.com/nmldiegues/actix-mwe-bug.git
2. cargo run --bin server
3. open another shell
4. cargo run --bin client

If you get the following error, then the problem was reproduced:
```
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Connect(Disconnected)', bin/client/src/main.rs:21:56
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Panic in Arbiter thread.
```

There are a number of things that, when changed, seem to avoid the problem. Hence why this repository isn't as much of a minimal working example as I would have expected. Still, it's short enough to be compiled and ran very quickly to demonstrate the issue.

## Expected and Current Behavior
No amount of malformed requests should cause the `awc` client from becoming unusable for correct requests.
Yet, as is, sending enough bad requests (10 is actually enough) causes a subsequent correct request from failing with the error noted above.

## Environment
Rust Version: 1.53.0
Actix Web Version: 3.3.2
Awc Version: 2.0.3

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。