Re: iperf 1.7.0 client hang
This is a known problem with 64bit machines. It comes down to a strange
alignment issue, with multiple inherited classes. GCC 2.9X seems to handle
the situation ok but gcc 3 does not. If you add -m32 to the compile and
link flags you should get a working version. Or you can use 1.6.5 which
does not have the mutliple inherited classes that are causing this
problem.
Kevin
> >Version 1.7.0 (built from source)
> > Linux 2.4.21.SuSE_144.bef1 #1 SMP ia64
> > System tg-login1.ncsa.teragrid.org
> > g++ version 3.22
> >
> >Problem:
> > Client hangs after contacting server, does not send data:
> >
> > jalt --at-- tg-login1:/scr/jalt/iperf-1.7.0> ./iperf -c latte.ncsa.uiuc.edu
> > ------------------------------------------------------------
> > Client connecting to latte.ncsa.uiuc.edu, TCP port 5001
> > TCP window size: 64.0 KByte (default)
> > ------------------------------------------------------------
> > control ^C
> >
> > Server Side:
> > bash-2.04$ ./iperf -s
> > ------------------------------------------------------------
> > Server listening on TCP port 5001
> > TCP window size: 60.0 KByte (default)
> > ------------------------------------------------------------
> > [ 4] local 141.142.15.38 port 5001 connected with 141.142.48.5 port 52175
> > [ ID] Interval Transfer Bandwidth
> > [ 4] 0.0-27.8 sec 0.00 Bytes 0.00 bits/sec
> >
> >It seems that Thread::Start() is called from main() (theClient->Start()).
> >EqualID() is FALSE so the new thread is never spawned. I'm not spending
> >enough time to find the correct solution but removing the EqualID() check
> >from Thread::Start() made it work.
> >
> >
> >Iperf does work on that same machine in server mode. Also, many of the tests
> >completed with it running as a client until it reached the basic test (which
> >hung).
> >
> >Hope that helps
> >
> >Jason Alt
> >
> >
> --
> Mitch Kutzko | mitch --at-- dast.nlanr.net | mitch --at-- ncsa.uiuc.edu | 217-333-1199
> http://hobbes.ncsa.uiuc.edu/
>