-
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
iperf3 hangs with -R and -Z flags #129
Comments
From [email protected] on December 20, 2013 15:20:49 This happened on OSX, but Linux seems OK. Labels: Milestone-3.0-Release |
From [email protected] on December 22, 2013 07:09:16 This seems to reliably reproduce the problem on linux: #!/bin/sh It works for 3-6 loops, and then locks up. (1 time the server crashed). Hopefully that will help track it down. Owner: [email protected] |
From [email protected] on December 24, 2013 08:15:42 Running the server in gdb shows that the server is crashing on this line: Program received signal SIGSEGV, Segmentation fault. Which is called from here: 1808 iprintf(test, report_sum_bw_retrans_format, start_time, end_time, ubuf, nbuf, retransmits, irp->omitted?report_omitted:""); Maybe Sasant's new patch will fix this? |
From [email protected] on December 24, 2013 09:26:55 I am too able to reproduce this . The reverse -R option server getting crashed
(gdb) bt gdb) f 0 Looks like the stack is getting corrupted somewhere which is leading to crash |
From [email protected] on December 24, 2013 11:12:44 I've been doing some digging into this. The hang and the crash might have two different causes, or might be two different manifestations of the same problem. Notes from a private email on this subject, where I was describing what I saw with FreeBSD 10.0 and -R. There's a hang but no crash. A slightly lower level symptom of this problem is that at the end of the In non -R mode this part all works as expected (I see the client send This is all on FreeBSD 10.0, client and server on the same machine (so |
From [email protected] on January 03, 2014 10:09:27 Partial fix committed in c499d0008f7d. There was basically a deadlock between the client and server in -R mode, see commit log for more details. Not closing this yet...need to do some more tests to get a warm fuzzy feeling about the fix first. Also note that this doesn't address the server-side crashes that have been reported (but which I have not personally witnessed). |
From [email protected] on January 03, 2014 10:38:48 Fixed the -P and -R server-side crash reported via Comments 2, 3, and 4, in 423166a54849. This only affected Linux; it was a mangled printf format string that only got used on that platform (it would have been used on any other platform with retransmit statistics, but there aren't currently any). It's clear to me now that there were multiple issues being reported in this one bug. :-p |
From AaronMatthewBrown on January 03, 2014 10:43:53 If gcc isn't spitting out warnings on format strings as const char variables, it'd probably make sense to turn the format strings into typedefs or something to ensure that gcc spits out a warning if this kind of mismatch happens. |
From [email protected] on January 03, 2014 11:04:17 Good point. I don't see any warning messages for the format string mismatch (on a working copy rolled back to before my fix), but gcc isn't compiling with any warnings enabled either, as far as I can tell: gcc -DHAVE_CONFIG_H -I. -g -O2 -MT iperf_api.o -MD -MP -MF .deps/iperf_api.Tpo -c -o iperf_api.o iperf_api.c I'm not sure why this is...I'm used to living under -Wall and -Werror. Yet another thing to investigate. |
From [email protected] on January 03, 2014 14:52:55 Update: Just one sub-issue remaining from this bug report...that's the hang with -Z. I've been able to observe this on Mac OS, as reported in the initial bug report. It doesn't happen every time, at least not on my MacBook; sometimes the -Z test works just fine. So far I have not been able to reproduce this problem on my other two development platforms (FreeBSD 10 and CentOS 6). It's not clear to me if there's something platform-specific lurking about or not, although the sendfile(2) call used by the -Z option is slightly different on the three platforms I've been using (therefore there are slightly different codepaths being used). |
From bltierney on January 04, 2014 07:21:54 In my tests, OSX hangs every time. Linux is now working fine. |
From [email protected] on January 21, 2014 13:08:21 Update: I'm still seeing this issue (but not consistently) on MacOS 10.8 and MacOS 10.9. |
Somewhat prompted by issue #231, I retested this (MacOS, -Z flag TCP tests, mainline code) on MacOS 10.10.1. I did twelve 10-second tests and didn't see a single failure. I'm now running a bunch of 5-second tests in a tight loop; haven't seen anything yet. That doesn't mean the bug is gone, although it's doing much better than I've ever remember seeing before. |
By mutual agreement, @bltierney and I decided we should just close this bug, since it can't be reproduced (see previous comment). |
From [email protected] on December 20, 2013 14:51:23
When running the new test script (test_commands.sh), the iperf3 client hangs on 2 of the tests:
./src/iperf3 -c $host -P 2 -t 5 -R
and
./src/iperf3 -c $host -Z -t 5
And when you ^C the client, the server dies.
Original issue: http://code.google.com/p/iperf/issues/detail?id=129
The text was updated successfully, but these errors were encountered: