On (2009-02-09 22:19 +0900), Saku Ytti wrote:

Just short update, FreeBSD packet maintainer has confirmed this
issue and reported that RubySpec also trips on it. 
No clue yet about resolution.

> WORKING: (telnet 62.95.30.77 echo)
> getuid(0x2,0x1,0x6,0xff,0x0,0x0) = 0 (0x0)
> setuid(0x0,0x1,0x6,0xff,0x0,0x0) = 0 (0x0)
> setsockopt(0x3,0x0,0x3,0x8062020,0x4,0x0) = 0 (0x0)
> connect(3,{ AF_INET 62.95.30.77:7 },16) ERR#61 'Connection refused'
> 
> BROKEN: (Ping.pingecho('62.95.30.77'))
> fcntl(3,F_GETFL,) = 2 (0x2)
> fcntl(3,F_SETFL,O_NONBLOCK|0x2) = 0 (0x0)
> connect(3,{ AF_INET 62.95.30.77:7 },16) ERR#36 'Operation now in progress'
> getsockopt(0x3,0xffff,0x1007,0xbfbfc7e4,0xbfbfc7e0,0x28070ae0) = 0 (0x0)
> gettimeofday({1234181515.137904 },0x0) = 0 (0x0)
> select(5,{},{3},{3},{4.964864 }) = 1 (0x1)
> connect(3,{ AF_INET 62.95.30.77:7 },16) ERR#22 'Invalid argument'
> getsockopt(0x3,0xffff,0x1007,0xbfbfc7e4,0xbfbfc7e0,0x28070ae0) = 0 (0x0)
> gettimeofday({1234181515.157227 },0x0) = 0 (0x0)
> gettimeofday({1234181515.157406 },0x0) = 0 (0x0)
> select(0,{},{},{},{0.099820 }) = 0 (0x0)
> gettimeofday({1234181515.264522 },0x0) = 0 (0x0)
> select(0,{},{},{},{0.000000 }) = 0 (0x0)
> connect(3,{ AF_INET 62.95.30.77:7 },16) ERR#22 'Invalid argument'
> fcntl(3,F_SETFL,0x2) = 0 (0x0)
> close(3) = 0 (0x0)
> sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
> 
> 
> 
> Is the connect after select an issue here? Or what is? Same thing
> works in Linux. In both cases I do receive the TCP RST (as per
> tcpdump).
> 
> -- 
>   ++ytti
> 

-- 
  ++ytti