開発環境でしか使っていないので我慢してきたのですが、
どうも MacOS 10.6.8 における Socket.getaddrinfo の挙動が不安定なようです。
以下のように、タイミングによって動作したりしなかったりします。
1 ruby-1.8.7-p302 :012 > Socket.getaddrinfo("localhost", nil)
2 SocketError: getaddrinfo: nodename nor servname provided, or not known
3 from (irb):12:in `getaddrinfo'
4 from (irb):12
5 ruby-1.8.7-p302 :013 > Socket.getaddrinfo("localhost", nil)
6 => [["AF_INET", 0, "en.localhost", "127.0.0.1", 2, 2, 17], ["AF_INET", 0, "en.localhost", "127.0.0.1", 2, 1, 6], ["AF_INET6", 0, "localhost", "::1", 30, 2, 17], ["AF_INET6", 0, "localhost", "::1", 30, 1, 6]]
MacOS環境でのSocket.getaddrinfoは鬼門なようで、
これまでにも様々な問題が報告されているようですね。
今回は全く同じ条件下で挙動が変わるというものなので、なかなか手ごわい感じです。