Comments (5)
Thanks for testing. The second test failed because the termination happened before all threads where created. I enhanced PR #1654 to also handle this case. Can you check if the PR now fully resolves the issue?
I am not able to recreate the issue using the most recent changes in PR #1654. Seems fixed.
from iperf.
You can also get a similar crash on the client side here if you queue up a bunch of client side tests (i.e. for i in $(seq 100); do iperf3 -c 127.0.0.1 -t 10 -P 10; done
) then repeatedly start and kill the server.
from iperf.
Can you try ruining these tests using PR #1654 code? The issues may be related, so it seems to be worth testing whether the PR also fix this issue. (I am using WSL which does not support tc qdisc ... netem ...
.)
from iperf.
It does not.
You can see your changes working correctly in test # 1 but it still segfaults in test # 2. ( I added an assert to show where it was failing)
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
get_parameters:
{
"tcp": true,
"omit": 0,
"time": 10,
"num": 0,
"blockcount": 0,
"parallel": 10,
"len": 131072,
"pacing_timer": 1000,
"client_version": "3.16+"
}
SNDBUF is 16384, expecting 0
RCVBUF is 131072, expecting 0
Accepted connection from 127.0.0.1, port 52362
Congestion algorithm is cubic
[ 5] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52376
Congestion algorithm is cubic
[ 8] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52382
Congestion algorithm is cubic
[ 10] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52384
Congestion algorithm is cubic
[ 12] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52396
Congestion algorithm is cubic
[ 14] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52412
Congestion algorithm is cubic
[ 16] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52414
Congestion algorithm is cubic
[ 18] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52430
Congestion algorithm is cubic
[ 20] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52440
Congestion algorithm is cubic
[ 22] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52452
Congestion algorithm is cubic
[ 24] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 52462
Thread number 1 FD 5 created
Thread number 2 FD 8 created
Thread number 3 FD 10 created
Thread number 4 FD 12 created
Thread number 5 FD 14 created
Thread number 6 FD 16 created
Thread number 7 FD 18 created
Thread number 8 FD 20 created
Thread number 9 FD 22 created
Thread number 10 FD 24 created
All threads created
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100211
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100202
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100178
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100119
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100222
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100203
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100278
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100274
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100295
tcpi_snd_cwnd 10 tcpi_snd_mss 32768 tcpi_rtt 100248
interval_len 1.001124 bytes_transferred 11272192
interval forces keep
interval_len 1.001168 bytes_transferred 11403264
interval forces keep
interval_len 1.001173 bytes_transferred 11403264
interval forces keep
interval_len 1.001177 bytes_transferred 10616832
interval forces keep
interval_len 1.001181 bytes_transferred 11403264
interval forces keep
interval_len 1.001186 bytes_transferred 11141120
interval forces keep
interval_len 1.001194 bytes_transferred 10747904
interval forces keep
interval_len 1.001241 bytes_transferred 10747904
interval forces keep
interval_len 1.001247 bytes_transferred 9699328
interval forces keep
interval_len 1.001252 bytes_transferred 7733248
interval forces keep
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 10.8 MBytes 90.1 Mbits/sec
[ 8] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 10] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 12] 0.00-1.00 sec 10.1 MBytes 84.8 Mbits/sec
[ 14] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 16] 0.00-1.00 sec 10.6 MBytes 89.0 Mbits/sec
[ 18] 0.00-1.00 sec 10.2 MBytes 85.9 Mbits/sec
[ 20] 0.00-1.00 sec 10.2 MBytes 85.9 Mbits/sec
[ 22] 0.00-1.00 sec 9.25 MBytes 77.5 Mbits/sec
[ 24] 0.00-1.00 sec 7.38 MBytes 61.8 Mbits/sec
[SUM] 0.00-1.00 sec 101 MBytes 848 Mbits/sec
interval_len 1.001124 bytes_transferred 11272192
interval forces keep
interval_len 1.001168 bytes_transferred 11403264
interval forces keep
interval_len 1.001173 bytes_transferred 11403264
interval forces keep
interval_len 1.001177 bytes_transferred 10616832
interval forces keep
interval_len 1.001181 bytes_transferred 11403264
interval forces keep
interval_len 1.001186 bytes_transferred 11141120
interval forces keep
interval_len 1.001194 bytes_transferred 10747904
interval forces keep
interval_len 1.001241 bytes_transferred 10747904
interval forces keep
interval_len 1.001247 bytes_transferred 9699328
interval forces keep
interval_len 1.001252 bytes_transferred 7733248
interval forces keep
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 10.8 MBytes 90.1 Mbits/sec
[ 8] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 10] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 12] 0.00-1.00 sec 10.1 MBytes 84.8 Mbits/sec
[ 14] 0.00-1.00 sec 10.9 MBytes 91.1 Mbits/sec
[ 16] 0.00-1.00 sec 10.6 MBytes 89.0 Mbits/sec
[ 18] 0.00-1.00 sec 10.2 MBytes 85.9 Mbits/sec
[ 20] 0.00-1.00 sec 10.2 MBytes 85.9 Mbits/sec
[ 22] 0.00-1.00 sec 9.25 MBytes 77.5 Mbits/sec
[ 24] 0.00-1.00 sec 7.38 MBytes 61.8 Mbits/sec
[SUM] 0.00-1.00 sec 101 MBytes 848 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 27.9 MBytes 234 Mbits/sec receiver
[ 8] 0.00-1.00 sec 28.0 MBytes 235 Mbits/sec receiver
[ 10] 0.00-1.00 sec 28.0 MBytes 235 Mbits/sec receiver
[ 12] 0.00-1.00 sec 26.8 MBytes 224 Mbits/sec receiver
[ 14] 0.00-1.00 sec 28.0 MBytes 235 Mbits/sec receiver
[ 16] 0.00-1.00 sec 27.6 MBytes 231 Mbits/sec receiver
[ 18] 0.00-1.00 sec 27.4 MBytes 229 Mbits/sec receiver
[ 20] 0.00-1.00 sec 27.5 MBytes 230 Mbits/sec receiver
[ 22] 0.00-1.00 sec 26.6 MBytes 223 Mbits/sec receiver
[ 24] 0.00-1.00 sec 24.0 MBytes 201 Mbits/sec receiver
[SUM] 0.00-1.00 sec 272 MBytes 2.28 Gbits/sec receiver
iperf3: the client has terminated
Thread number 1 FD 5 stopped
Thread number 2 FD 8 stopped
Thread number 3 FD 10 stopped
Thread number 6 FD 16 terminated unexpectedly
Thread number 4 FD 12 stopped
Thread number 5 FD 14 stopped
Thread number 6 FD 16 stopped
Thread number 7 FD 18 stopped
Thread number 8 FD 20 stopped
Thread number 9 FD 22 stopped
Thread number 10 FD 24 stopped
All threads stopped
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
get_parameters:
{
"tcp": true,
"omit": 0,
"time": 10,
"num": 0,
"blockcount": 0,
"parallel": 10,
"len": 131072,
"pacing_timer": 1000,
"client_version": "3.16+"
}
SNDBUF is 16384, expecting 0
RCVBUF is 131072, expecting 0
Accepted connection from 127.0.0.1, port 55980
Congestion algorithm is cubic
[ 5] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 55982
ignoring short interval with no data
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-0.00 sec 0.00 Bytes 0.00 bits/sec receiver
[SUM] 0.00-0.00 sec 0.00 Bytes 0.00 bits/sec receiver
iperf3: the client has terminated
iperf3: iperf_server_api.c:433: cleanup_server: Assertion `sp->thr != 0' failed.
Aborted (core dumped)
from iperf.
Thanks for testing. The second test failed because the termination happened before all threads where created. I enhanced PR #1654 to also handle this case. Can you check if the PR now fully resolves the issue?
from iperf.
Related Issues (20)
- iperf3 3.17 versioning problem HOT 2
- Improve Handling of PKCS1 Padding Fix
- is it necessary to start the client workers after it enter TEST_RUNNING state HOT 2
- [suggestion] coding style consistent issue
- High UDP packet loss, compare with nuttcp
- the appropriate timing for creating threads as a receiver
- Best practice to compile and debug iperf's code on Linux?
- How to use the iperf library to obtain bandwidth information in real-time at intervals? HOT 4
- Queries about Measurement Issues with iPerf3 in UDP Tests HOT 4
- JSON data is output twice (starting in 3.16?) HOT 2
- 10gbit iperf3 shows like half speed but files copying is fine HOT 4
- support for 64bit fq-rate
- Add RTT to Sum when using JSON
- Include RTT information in SCTP tests `--json` as well
- Need help in iperf command for sending the IPv6 multicast traffic on Ubuntu HOT 2
- My_Hostname HOT 2
- The iperf3 server hangs while printing the report HOT 4
- Error in protocol details on wiki HOT 2
- Support affinity/pinning of parallel flows to different CPUs HOT 1
- [feature] Would like to support keeping the phone screen never turned off during speed tests HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iperf.