Project

General

Profile

Actions

Bug #20172

closed

Socket.addrinfo failing randomly

Added by mwaldvogel (Michael Waldvogel) 6 months ago. Updated 5 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
[ruby-core:116129]

Description

I've recently updated one of my linux systems (Gentoo) to glibc 2.38 (that was the only change). After the update most of the time the below error happens. Among other things this breaks rubygems for me. I've reinstalled ruby 3.2.2 with rvm and didn't encounter the issue. The issue however remained even after reinstalling ruby 3.3.0 and even with ruby master. Since this goes back to getaddrinfo (which is working without any issues outside of ruby) and there seems to be only one bigger change to stdlib socket, I'm assuming the problem was introduced with https://bugs.ruby-lang.org/issues/19965

3.3.0 :001 > require 'socket'
 => true
3.3.0 :002 > Socket.getaddrinfo('rubygems.org', 443)
(irb):2:in `getaddrinfo': getaddrinfo: Temporary failure in name resolution (Socket::ResolutionError)
        from (irb):2:in `<main>'
        from <internal:kernel>:187:in `loop'
        from /usr/local/rvm/rubies/ruby-3.3.0/lib/ruby/gems/3.3.0/gems/irb-1.11.0/exe/irb:9:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-3.3.0/bin/irb:25:in `load'
        from /usr/local/rvm/rubies/ruby-3.3.0/bin/irb:25:in `<main>'
3.3.0 :003 > Socket.getaddrinfo('rubygems.org', 443)
(irb):3:in `getaddrinfo': getaddrinfo: Temporary failure in name resolution (Socket::ResolutionError)
        from (irb):3:in `<main>'
        from <internal:kernel>:187:in `loop'
        from /usr/local/rvm/rubies/ruby-3.3.0/lib/ruby/gems/3.3.0/gems/irb-1.11.0/exe/irb:9:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-3.3.0/bin/irb:25:in `load'
        from /usr/local/rvm/rubies/ruby-3.3.0/bin/irb:25:in `<main>'
3.3.0 :004 > Socket.getaddrinfo('rubygems.org', 443)
 =>
[["AF_INET", 443, "151.101.193.227", "151.101.193.227", 2, 1, 6],
 ["AF_INET", 443, "151.101.193.227", "151.101.193.227", 2, 2, 17],
 ["AF_INET", 443, "151.101.193.227", "151.101.193.227", 2, 3, 0],
...
 ["AF_INET6", 443, "2a04:4e42::483", "2a04:4e42::483", 10, 1, 6],
 ["AF_INET6", 443, "2a04:4e42::483", "2a04:4e42::483", 10, 2, 17],
 ["AF_INET6", 443, "2a04:4e42::483", "2a04:4e42::483", 10, 3, 0]]
3.3.0 :005 >

Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #19965: Make the name resolution interruptibleClosedmame (Yusuke Endoh)Actions
Actions

Also available in: Atom PDF

Like1
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0