-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression in 3.1/3.2: iperf server fails after ~15 seconds with "Bad file descriptor" #645
Comments
This is a weird problem on a couple levels. I see it on the tip of the master and 3.1-STABLE branches, but not the tip of 3.0-STABLE (tested variously on macOS Sierra and CentOS 7). The test shouldn't stop like that, so there's definitely a bug there. I'm not sure what the correct behavior is, on the other hand. Your "run indefinitely" makes some sense, but on the other hand it'd also make sense to not allow this case at all, so that a client can't conduct a DoS attack against a server (a counter-argument is that a server should be able to specify a maximum test length). I'm going to dig a little more into this and try to understand what's going on. So far I have the following interesting result: Server (iperf-master), client (iperf-master): Failure This so far implies that there's a problem on the server side with newer iperf. BTW thanks for a well-formulated bug report! |
What's happening here is that if The behavior for setting a timer on the server side was added in PR #446, although it didn't really create the bug we're seeing here. |
I just tried issue-645 (2e51e48); it obviously works perfectly. Thanks for explaining why this happens. I don't see this as a DoS threat, since clients can send |
@iamfionn: Thanks for the testing! |
I have this same/similar issue:
|
Version of iperf3: 3.2, 3.2rc1 and latest commit on master (cd5d89d).
Hardware: MBP (Arch Linux, 2015), MBP (MacOS, 2017), VPS (Arch Linux).
Operating system (and distribution, if any): Arch Linux, MacOS.
Bug Report
Expected behaviour: setting
-t 0
, I expect iperf to run indefinitely.Actual behaviour: the connection is dropped after about 15 seconds.
Steps to reproduce: run iperf 3.2 as a server with
iperf3 -s
and a client (any version) withiperf3 -c $HOST -t 0
(can be entirely local, withHOST=localhost
); after ~15 seconds, the client will reportand the server will report
(this can also be reproduced in reverse mode).
The text was updated successfully, but these errors were encountered: