# \[Bug #3259\] test\_socket.rb has 1 Error on Mac OS X 10.6

**URL:** <https://www.ruby-forum.com/t/bug-3259-test-socket-rb-has-1-error-on-mac-os-x-10-6/188231>\
**Category:** Development\
**Created:** [May 8, 2010, 2:48am UTC](https://www.ruby-forum.com/t/bug-3259-test-socket-rb-has-1-error-on-mac-os-x-10-6/188231 "2010-05-08T02:48:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tomoyuki\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c0e974/32.png) [@Tomoyuki\_C](https://www.ruby-forum.com/u/Tomoyuki_C)\
**Post date:** [May 8, 2010, 2:48am UTC](https://www.ruby-forum.com/t/bug-3259-test-socket-rb-has-1-error-on-mac-os-x-10-6/188231/1 "2010-05-08T02:48:21Z")

</div>

Bug #3259: test\_socket.rb has 1 Error on Mac OS X 10.6  
[http://redmine.ruby-lang.org/issues/show/3259](http://redmine.ruby-lang.org/issues/show/3259)

e$B5/I\<\<Te(B: Tomoyuki C.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: ext  
ruby -v: ruby 1.9.3dev (2010-05-08 trunk 27661) [x86\_64-darwin10.3.0]

Mac OS X 10.6 (SnowLeopard)e$B\>e$Ge(B trunk(r27662) e$B$Ne(B make  
test-all e$B$9$k$He(B test\_socket.rb e$B$,e(B 1 Error e$B$K$J$j$^$9!#e(B

1. Error:  
test\_tcp(TestSocket):  
Errno::EINVAL: Invalid argument - connect(2)  
/Users/nagachika/opt/ruby-trunk/src/ruby-trunk/.ext/common/socket.rb:37:in  
`connect' /Users/nagachika/opt/ruby-trunk/src/ruby-trunk/.ext/common/socket.rb:37:in `connect\_internal’  
/Users/nagachika/opt/ruby-trunk/src/ruby-trunk/.ext/common/socket.rb:86:in  
`connect' /Users/nagachika/opt/ruby-trunk/src/ruby-trunk/test/socket/test_socket.rb:82:in `block in test\_tcp’  
/Users/nagachika/opt/ruby-trunk/src/ruby-trunk/test/socket/test\_socket.rb:80:in  
`open' /Users/nagachika/opt/ruby-trunk/src/ruby-trunk/test/socket/test_socket.rb:80:in `test\_tcp’

ext/socket/lib/socket.rb e$B$Ne(B AddrInfo#connect\_address e$B$Ge(B  
MacOS X 10.4 e$B$,JV$9e(B IPv6  
e$B$N%"%I%l%9I=8=$,FC\<le(B(0.0.0.0)e$B$J$N$GBP=h$,$5$l$F$$$k$h$&$J$N$G$9$,!"e(B10.6  
e$B$G$O$^$?\>/$70c$C$?I=8=e(B(::ffff:0.0.0.0)e$B$rJV$9$h$&$K$J$C$F$$$k$h$&$G$9!#e(BMac  
OS X 10.5 (Leopard)e$B$N4D6-$O\<j85$K$J$$$?$aL$3NG’$G$9!#e(B

e$B0J2\<$NJQ99$r2C$($Fe(B make test-all e$B$G$3$Ne(B Error  
e$B$,$J$/$J$k$3$H!"B\>$Ke(B Error e$B$,A}$($J$$$3$H$r3NG’$7$^$7$?!#e(B

# Index: ext/socket/lib/socket.rb

— ext/socket/lib/socket.rb (revision 27662)  
+++ ext/socket/lib/socket.rb (working copy)  
@@ -192,6 +192,8 @@  
addr = Addrinfo.new([“AF\_INET6”, addr.ip\_port, nil, “::1”],  
addr.pfamily, addr.socktype, addr.protocol)  
elsif addr.ip\_address == “0.0.0.0” # MacOS X 10.4 returns  
“a.b.c.d” for IPv4-mapped IPv6 address.  
addr = Addrinfo.new([“AF\_INET6”, addr.ip\_port, nil, “::1”],  
addr.pfamily, addr.socktype, addr.protocol)

- 

```
 elsif addr.ip_address == "::ffff:0.0.0.0" # MacOS X 10.6 returns 

```

“::ffff:a.b.c.d” for IPv4-mapped IPv6 address.

- 

```
   addr = Addrinfo.new(["AF_INET6", addr.ip_port, nil, "::1"], 

```

addr.pfamily, addr.socktype, addr.protocol)  
end  
elsif defined?(Socket::AF\_UNIX) && afamily == Socket::AF\_UNIX  
raise SocketError, “unbound Unix socket” if addr.unix\_path == “”

---

<div class="post-metadata">

**Author:** ![Tomoyuki\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c0e974/32.png) [@Tomoyuki\_C](https://www.ruby-forum.com/u/Tomoyuki_C)\
**Post date:** [May 8, 2010, 3:18am UTC](https://www.ruby-forum.com/t/bug-3259-test-socket-rb-has-1-error-on-mac-os-x-10-6/188231/2 "2010-05-08T03:18:11Z")

</div>

e$B%A%1%C%He(B #3259 e$B$,99?7$5$l$^$7$?!#e(B (by Akira T.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r27663.  
Tomoyuki, thank you for reporting this issue.  
Your contribution to Ruby is greatly appreciated.  
May Ruby be with you.

* * *

[http://redmine.ruby-lang.org/issues/show/3259](http://redmine.ruby-lang.org/issues/show/3259)
