Iperf segmentation fault



  • Hi guys,

    I'm trying to setup a constantly running iperf server on pfSense to allow our site technicians to perform a reliable speed test to our edge firewall and router. Currently I'm running iperf from SSH with the command "iperf -s". On the client side I'm running xjperf version 2.0.2 which is using the command "bin/iperf.exe -c 10.7.0.254 -P 1 -i 1 -p 5001 -f m -t 10 -r -L 5001".

    When doing this I receive the following logs from server and client and the iperf server segmentation faults any ideas? I was also looking for a iperf3 backported package but was unable to find such a package. Anyone have one they could build or link?

    Server:

    –----------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 63.7 KByte (default)

    [  4] local SERVER_IP port 5001 connected with CLIENT_IP port 55428
    [ ID] Interval      Transfer    Bandwidth
    [  4]  0.0-10.0 sec  83.3 MBytes  69.9 Mbits/sec
    –----------------------------------------------------------
    Client connecting to CLIENT_IP, TCP port 5001
    TCP window size: 65.0 KByte (default)

    [  4] local SERVER_IP port 6889 connected with CLIENT_IP port 5001
    Waiting for server threads to complete. Interrupt again to force quit.
    Segmentation fault (core dumped)

    Client:

    bin/iperf.exe -c SERVER_IP -P 1 -i 1 -p 5001 -f m -t 10 -r -L 5001
    –----------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 0.01 MByte (default)


    Client connecting to SERVER_IP, TCP port 5001
    TCP window size: 0.01 MByte (default)

    [176] local CLIENT_IP port 55469 connected with SERVER_IP port 5001
    [ ID] Interval      Transfer    Bandwidth
    [176]  0.0- 1.0 sec  9.92 MBytes  83.2 Mbits/sec
    [176]  1.0- 2.0 sec  9.13 MBytes  76.5 Mbits/sec
    [176]  2.0- 3.0 sec  8.32 MBytes  69.8 Mbits/sec
    [176]  3.0- 4.0 sec  8.11 MBytes  68.0 Mbits/sec
    [176]  4.0- 5.0 sec  8.32 MBytes  69.8 Mbits/sec
    [176]  5.0- 6.0 sec  8.44 MBytes  70.8 Mbits/sec
    [176]  6.0- 7.0 sec  7.94 MBytes  66.6 Mbits/sec
    [176]  7.0- 8.0 sec  8.53 MBytes  71.6 Mbits/sec
    [176]  8.0- 9.0 sec  7.88 MBytes  66.1 Mbits/sec
    [176]  9.0-10.0 sec  7.92 MBytes  66.5 Mbits/sec
    [176]  0.0-10.0 sec  84.5 MBytes  70.9 Mbits/sec



  • Seriously? No one else has had this issue?



  • I have the same problem.  Running the iperf 2.0.4 as server on a Raspberry Pi at the remote end.  Iperf 1.7 on Windows 7 for the client.

    It seems to run fairly well except when the -r switch is used for bidirectional flow. That causes the segmentation fault on the server within a run or two.

    Did you ever find a solution?

    PS - sheesh - a 4-step CAPTCHA to post, right after completing a 4-step CAPTCHA to register.  I guess you have to be really motivated to use this forum….



  • This looks like a bug in iperf 2.  See http://sourceforge.net/p/iperf/bugs/31/

    I looked at this in Wireshark, and it appears that the iperf client immediately sends a FIN response to the SYN coming from the server for the reverse flow. Thus the server responds connection refused.

    I'm going to try iperf3 and see if it works with iperf 2 server.  (Edit - it doesn't work - iperf3 is not backward compatible. Builds of iperf3 do not appear to be available for Raspberry Pi currently)



  • Still was unable to get this to work. I ended up just setting up a web based (speedtest.net) mini client on a server behind the firewall works okay but I would prefer iperf if you find a solution.


Log in to reply