I've tried running iperf on my local network, and I've found that it's
blocking in pthread_cond_wait, even if I pass "-P1" as an argument.

The version I'm running is:

$ iperf -v
iperf version 2.0.5 (08 Jul 2010) pthreads

This is on Ubuntu. Could this be related to a bug reported in the Debian
package?
http://sourceforge.net/tracker/?func=detail&aid=3030938&group_id=128336&atid=711373

Full output of ltrace is below.

$ ltrace iperf -c 10.30.0.131 -P1
__libc_start_main(0x401f00, 4, 0x7ffff260c4c8, 0x40ab20, 0x40abb0
<unfinished ...>
sigemptyset(0x7ffff260c278)
                                      = 0
sigaction(15, 0x7ffff260c270, 0x7ffff260c310)
                                      = 0
sigemptyset(0x7ffff260c278)
                                      = 0
sigaction(2, 0x7ffff260c270, 0x7ffff260c310)
                                       = 0
sigemptyset(0x7ffff260c278)
                                      = 0
sigaction(14, 0x7ffff260c270, 0x7ffff260c310)
                                      = 0
signal(13, 0x00000001)
                                       = NULL
pthread_mutex_init(0x6104f0, 0, 0, -1, 0x7ffff260c310)
                                       = 0
pthread_cond_init(0x6104c0, 0, 0, 0, 0x7ffff260c310)
                                       = 0
pthread_mutex_init(0x610490, 0, 0, 0, 0x7ffff260c310)
                                      = 0
pthread_cond_init(0x610460, 0, 0, 0, 0x7ffff260c310)
                                       = 0
pthread_mutex_init(0x610520, 0, 0, 0, 0x7ffff260c310)
                                      = 0
pthread_mutex_init(0x6103c0, 0, 0, 0, 0x7ffff260c310)
                                      = 0
pthread_mutex_init(0x6105d0, 0, 0, 0, 0x7ffff260c310)
                                      = 0
pthread_cond_init(0x6105a0, 0, 0, 0, 0x7ffff260c310)
                                       = 0
__cxa_atexit(0x409d90, 0, 0, 0, 0x7ffff260c310)
                                      = 0
_Znwm(448, 5, 0x7ff315837fd0, 96, 0x7ffff260c310)
                                      = 0x25bf010
getenv("IPERF_SINGLECLIENT")
                                       = NULL
getenv("IPERF_BANDWIDTH")
                                      = NULL
getenv("IPERF_CLIENT")
                                       = NULL
getenv("IPERF_DUALTEST")
                                       = NULL
getenv("IPERF_FORMAT")
                                       = NULL
getenv("IPERF_INTERVAL")
                                       = NULL
getenv("IPERF_LEN")
                                      = NULL
getenv("IPERF_PRINT_MSS")
                                      = NULL
getenv("IPERF_NUM")
                                      = NULL
getenv("IPERF_PORT")
                                       = NULL
getenv("IPERF_TRADEOFF")
                                       = NULL
getenv("IPERF_SERVER")
                                       = NULL
getenv("IPERF_TIME")
                                       = NULL
getenv("IPERF_UDP")
                                      = NULL
getenv("TCP_WINDOW_SIZE")
                                      = NULL
getenv("IPERF_REPORTEXCLUDE")
                                      = NULL
getenv("IPERF_REPORTSTYLE")
                                      = NULL
getenv("IPERF_BIND")
                                       = NULL
getenv("IPERF_COMPAT")
                                       = NULL
getenv("IPERF_DAEMON")
                                       = NULL
getenv("IPERF_FILE_INPUT")
                                       = NULL
getenv("IPERF_STDIN_INPUT")
                                      = NULL
getenv("IPERF_MSS")
                                      = NULL
getenv("IPERF_NODELAY")
                                      = NULL
getenv("IPERF_LISTENPORT")
                                       = NULL
getenv("IPERF_PARALLEL")
                                       = NULL
getenv("IPERF_TOS")
                                      = NULL
getenv("IPERF_TTL")
                                      = NULL
getenv("IPERF_SINGLE_UDP")
                                       = NULL
getenv("IPERF_IPV6_DOMAIN")
                                      = NULL
getenv("IPERF_SUGGEST_WIN_SIZE")
                                       = NULL
getenv("IPERF_CONGESTION_CONTROL")
                                       = NULL
getenv("POSIXLY_CORRECT")
                                      = NULL
strlen("10.30.0.131")
                                      = 11
_Znam(12, 0x7ffff260d8e3, 11, 35, 0)
                                       = 0x25bf1e0
strcpy(0x025bf1e0, "10.30.0.131")
                                      = 0x025bf1e0
getaddrinfo("10.30.0.131", NULL, NULL, 0x7ffff260c1c8)
                                       = 0
memcpy(0x7ffff260c210, "\002", 16)
                                       = 0x7ffff260c210
freeaddrinfo(0x025bf200)
                                       = <void>
strtol(0x7ffff260d8f1, 0, 10, 0, 0)
                                      = 1
pthread_mutex_lock(0x610520, 0x7ffff260c398, 1, 3, 0)
                                      = 0
pthread_mutex_unlock(0x610520, 0xffffffff, 1, 3, 0x610520)
                                       = 0
_Znwm(448, 0x7ffff260c3c8, 0x610520, 3, 0x610520)
                                      = 0x25bf2f0
strlen("10.30.0.131")
                                      = 11
_Znam(12, 0x25bf1d0, 11, 32, 3)
                                      = 0x25bf4c0
strcpy(0x025bf4c0, "10.30.0.131")
                                      = 0x025bf4c0
memcmp(0x7ffff260c398, 0x7ffff260c390, 8, 0x2e302e30332e3031, 3)
                                       = 0
memcmp(0x7ffff260c388, 0x7ffff260c380, 8, 0, 3)
                                      = 0
pthread_mutex_lock(0x6105d0, 0x7ffff260c388, 8, 0, 3)
                                      = 0
pthread_mutex_unlock(0x6105d0, 0, 8, 0, 0x6105d0)
                                      = 0
pthread_create(0x25bf1c0, 0, 0x40a7c0, 0x25bf010, 0x6105d0)
                                      = 0
pthread_mutex_lock(0x6105d0, 0x7ff315180fb0, 0x7ff3151819d0, -1,
0x7ff315181700)                                  = 0
pthread_mutex_unlock(0x6105d0, 0, 0x7ff3151819d0, -1, 0x6105d0)
                                      = 0
pthread_create(0x25bf4a0, 0, 0x40a7c0, 0x25bf2f0, 0x6105d0)
                                      = 0
pthread_mutex_lock(0x6105d0, 0x7ff31497ffb0, 0x7ff3149809d0, -1,
0x7ff314980700)                                  = 0
pthread_cond_wait(0x6105a0, 0x6105d0, 2, -1, 0x6105d0)
                                       = 0
pthread_cond_wait(0x6105a0, 0x6105d0, 0, -1, 0x6105d0)
                                       = 0
pthread_cond_wait(0x6105a0, 0x6105d0, 0, -1, 0x6105d0-

Lorin
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Iperf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to