From: Saku Ytti Date: 2009-02-19T19:26:06+09:00 Subject: Re: Socket issue in ruby 1.8.6 in freebsd? 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