[ruby-core:68940] [Ruby trunk - Bug #9477] Address family not supported by protocol - socket(2) - udp

From: sirl33tname@...
Date: 2015-04-20 15:00:07 UTC
List: ruby-core #68940
Issue #9477 has been updated by Sir l33tname.


I guess it's not really fixed I can reproduce a bug which looks for me very similar (I guess it's the same problem)

**Ruby 2.2**

~~~

root@l33t:~ # ruby22 --version
ruby 2.2.2p95 (2015-04-13 revision 50295) [amd64-freebsd10]
root@l33t:~ # ruby22 -rresolv -e 'puts Resolv::DNS.new.getresource("_rubygems._tcp.rubygems.org", Resolv::DNS::Resource::IN::SRV).target'
/usr/local/lib/ruby/2.2/resolv.rb:747:in `initialize': Protocol not supported - socket(2) - udp (Errno::EPROTONOSUPPORT)
	from /usr/local/lib/ruby/2.2/resolv.rb:747:in `new'
	from /usr/local/lib/ruby/2.2/resolv.rb:747:in `block in initialize'
	from /usr/local/lib/ruby/2.2/resolv.rb:737:in `each'
	from /usr/local/lib/ruby/2.2/resolv.rb:737:in `initialize'
	from /usr/local/lib/ruby/2.2/resolv.rb:561:in `new'
	from /usr/local/lib/ruby/2.2/resolv.rb:561:in `make_udp_requester'
	from /usr/local/lib/ruby/2.2/resolv.rb:516:in `fetch_resource'
	from /usr/local/lib/ruby/2.2/resolv.rb:509:in `each_resource'
	from /usr/local/lib/ruby/2.2/resolv.rb:490:in `getresource'
	from -e:1:in `<main>'
~~~

**Ruby 2.1**

~~~

root@l33t:~ # ruby --version
ruby 2.1.6p336 (2015-04-13 revision 50298) [amd64-freebsd10]
root@l33t:~ # ruby -rresolv -e 'puts Resolv::DNS.new.getresource("_rubygems._tcp.rubygems.org", Resolv::DNS::Resource::IN::SRV).target'
/usr/local/lib/ruby/2.1/resolv.rb:748:in `initialize': Protocol not supported - socket(2) - udp (Errno::EPROTONOSUPPORT)
	from /usr/local/lib/ruby/2.1/resolv.rb:748:in `new'
	from /usr/local/lib/ruby/2.1/resolv.rb:748:in `block in initialize'
	from /usr/local/lib/ruby/2.1/resolv.rb:738:in `each'
	from /usr/local/lib/ruby/2.1/resolv.rb:738:in `initialize'
	from /usr/local/lib/ruby/2.1/resolv.rb:562:in `new'
	from /usr/local/lib/ruby/2.1/resolv.rb:562:in `make_udp_requester'
	from /usr/local/lib/ruby/2.1/resolv.rb:517:in `fetch_resource'
	from /usr/local/lib/ruby/2.1/resolv.rb:510:in `each_resource'
	from /usr/local/lib/ruby/2.1/resolv.rb:491:in `getresource'
	from -e:1:in `<main>'
~~~



As you can see I run it on FreeBSD, inside a jail. 


----------------------------------------
Bug #9477: Address family not supported by protocol - socket(2) - udp
https://bugs.ruby-lang.org/issues/9477#change-52203

* Author: Bjoern Rennhak
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
* Backport: 1.9.3: DONE, 2.0.0: DONE, 2.1: DONE
----------------------------------------
On a fresh Debian GNU/Linux VServer guest running the latest RVM HEAD I experienced the following error:

```
Exception `LoadError' at /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/resolv.rb:169 - LoadError
Exception `Errno::EAFNOSUPPORT' at /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/resolv.rb:744 - Address family not supported by protocol - socket(2) - udp
ERROR: While executing gem ... (Errno::EAFNOSUPPORT)
Address family not supported by protocol - socket(2) - udp
```
(Please see gist below for entire stacktrace).

After discussion on irc.freenode.org #rvm with mpapis (rvm maintainer) it turns out

```
 rvm rubygems latest-2.0
```

fixes the issue.  ```rvm rubygems head``` did not work.

Not quite sure what went wrong here and if this affects anyone who isn't running vserver.

Reference:

https://gist.github.com/anonymous/483c42ce132495271fc2
https://github.com/rubygems/rubygems/issues/803#issuecomment-33835128




-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next