Re: iperf 1.7.0 hanging on Linux / AMD64


Yeah this is a Iperf 1.7.0 bug/feature/wierdism with some versions of gcc. 
With some versions it works like a champ... others hang. Iperf 1.6.5 
compiles and runs fine and all my current work seems to be ok as well.

Kevin

On Wed, 11 Feb 2004, Simen Thoresen wrote:

> Hello,
> 
> I'm sorry if this has just been discussed, but I subscribed just now to 
> report/ask about the following problem.
> 
> I have two Opteron nodes running an AMD64 build of RedHat Enterprise 
> Linux AS v 3.
> 
> When running iperf between these, there is no output after the initial 
> 'Client connecting' message on the client, and the 'connected' message 
> on the server;
> 
> CLIENT
> [root --at-- optimist-1 root]# ./iperf -c optimist-3
> ------------------------------------------------------------
> Client connecting to optimist-3, TCP port 5001
> TCP window size: 16.0 KByte (default)
> ------------------------------------------------------------
> 
> 
> SERVER
> [root --at-- optimist-3 root]# ./iperf -s
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 85.3 KByte (default)
> ------------------------------------------------------------
> [  4] local 172.16.5.12 port 5001 connected with 172.16.5.76 port 32777
> 
> 
> With strace -f, I believe I see that somehow the sendto/read goes awry;
> 
> CLIENT
> 
> [pid  2316] socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
> [pid  2316] getpid()                    = 2315
> [pid  2316] bind(4, {sa_family=AF_INET, sin_port=htons(795), 
> sin_addr=inet_addr("0.0.0.0")}, 16) = 0
> [pid  2316] ioctl(4, FIONBIO, [1])      = 0
> [pid  2316] setsockopt(4, SOL_IP, IP_RECVERR, [4294967297], 4) = 0
> [pid  2316] futex(0x2a95e275a0, FUTEX_WAKE, 2147483647) = 0
> [pid  2316] fcntl(4, F_SETFD, FD_CLOEXEC) = 0
> [pid  2316] close(3)                    = 0
> [pid  2316] sendto(4, 
> "\32\255\373z\0\0\0\0\0\0\0\2\0\1\206\244\0\0\0\2\0\0\0"..., 88, 0, 
> {sa_family=AF_INET, sin_port=htons(686), 
> sin_addr=inet_addr("172.16.1.2")}, 16) = 88
> [pid  2316] poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
> [pid  2316] recvfrom(4, 
> "\32\255\373z\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8800, 0, 
> {sa_family=AF_INET, sin_port=htons(686), 
> sin_addr=inet_addr("172.16.1.2")}, [16]) = 88
> [pid  2316] close(4)                    = 0
> [pid  2316] socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
> [pid  2316] connect(3, {sa_family=AF_INET, sin_port=htons(5001), 
> sin_addr=inet_addr("172.16.5.12")}, 16) = 0
> [pid  2316] fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), 
> ...}) = 0
> [pid  2316] mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556c000
> [pid  2316] write(1, "--------------------------------"..., 
> 61------------------------------------------------------------
> ) = 61
> [pid  2316] write(1, "Client connecting to optimist-3,"..., 47Client 
> connecting to optimist-3, TCP port 5001
> ) = 47
> [pid  2316] getsockopt(3, SOL_SOCKET, SO_SNDBUF, "\0 --at-- \0\0", 
> [4656711363182198788]) = 0
> [pid  2316] write(1, "TCP window size: 16.0 KByte (def"..., 38TCP window 
> size: 16.0 KByte (default)
> ) = 38
> [pid  2316] write(1, "--------------------------------"..., 
> 61------------------------------------------------------------
> ) = 61
> [pid  2316] sendto(3, 
> "\0\0\0\0\0\0\0\1\0\0\23\211\0\0\0\0\0\0\0\0\377\377\374"..., 24, 0, 
> NULL, 0) = 24
> [pid  2316] futex(0x511d38, FUTEX_WAIT, 0, NULL
> 
> 
> SERVER (after client has connected, as above)
> 
> [pid  2300] mmap(NULL, 10485760, PROT_READ|PROT_WRITE|PROT_EXEC, 
> MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0 <unfinished ...>
> [pid  2301] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2300] <... mmap resumed> )        = 0x41400000
> [pid  2299] <... futex resumed> )       = -1 EINTR (Interrupted system call)
> [pid  2301] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] futex(0x511b18, FUTEX_WAIT, 0, NULL <unfinished ...>
> [pid  2300] mprotect(0x41400000, 4096, PROT_NONE <unfinished ...>
> [pid  2301] getpeername(4,  <unfinished ...>
> [pid  2300] <... mprotect resumed> )    = 0
> [pid  2301] <... getpeername resumed> {sa_family=AF_INET, 
> sin_port=htons(32778), sin_addr=inet_addr("172.16.5.76")}, 
> [756604745988177936]) = 0
> [pid  2300] clone( <unfinished ...>
> [pid  2301] getsockname(4, Process 2302 attached
>   <unfinished ...>
> [pid  2300] <... clone resumed> child_stack=0x41dff8b0, 
> flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, 
> parent_tidptr=0x41dffa00, tls=0x41dff970, child_tidptr=0x41dffa00) = 2302
> [pid  2301] <... getsockname resumed> {sa_family=AF_INET, 
> sin_port=htons(5001), sin_addr=inet_addr("172.16.5.12")}, 
> [9877238416343564304]) = 0
> [pid  2300] accept(3,  <unfinished ...>
> [pid  2302] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2301] getpeername(4,  <unfinished ...>
> [pid  2299] <... futex resumed> )       = -1 EINTR (Interrupted system call)
> [pid  2302] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] --- SIGSTOP (Stopped (signal))  --at--  0 (0) ---
> [pid  2299] futex(0x511b18, FUTEX_WAIT, 0, NULL <unfinished ...>
> [pid  2301] <... getpeername resumed> {sa_family=AF_INET, 
> sin_port=htons(32778), sin_addr=inet_addr("172.16.5.76")}, 
> [756604745988177936]) = 0
> [pid  2300] <... accept resumed> 0x409ff5e0, [4746787410178736256]) = -1 
> EINTR (Interrupted system call)
> [pid  2302] futex(0x513f50, FUTEX_WAIT, 0, NULL <unfinished ...>
> [pid  2301] write(1, "[  4] local 172.16.5.12 port 500"..., 72 
> <unfinished ...>
> [pid  2300] accept(3, [  4] local 172.16.5.12 port 5001 connected with 
> 172.16.5.76 port 32778
>   <unfinished ...>
> [pid  2301] <... write resumed> )       = 72
> [pid  2301] rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
> [pid  2301] read(4,
> 
> 
> 
> Any thoughts/suggestions?
> 
> Yours,
> -S
> 
> 



Other Mailing lists | Author Index | Date Index | Subject Index | Thread Index