Project

General

Profile

Bug #9697

rb_sys_fail(getaddrinfo) - errno == 0 crashes ruby

Added by pskumarsrec88@gmail.com (Saravana kumar) about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p545
[ruby-core:61820]

Description

/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763: [BUG] rb_sys_fail(getaddrinfo) - errno == 0
ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0064 p:---- s:0279 b:0279 l:000278 d:000278 CFUNC :initialize
c:0063 p:---- s:0277 b:0277 l:000276 d:000276 CFUNC :open
c:0062 p:0029 s:0272 b:0272 l:0001b0 d:000271 BLOCK /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763
c:0061 p:0031 s:0270 b:0270 l:000269 d:000269 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:55
c:0060 p:0026 s:0258 b:0258 l:000257 d:000257 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:100
c:0059 p:0038 s:0252 b:0252 l:0001b0 d:0001b0 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763
c:0058 p:0011 s:0244 b:0244 l:000243 d:000243 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:756
c:0057 p:0048 s:0241 b:0241 l:000240 d:000240 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:745
c:0056 p:0182 s:0238 b:0238 l:000237 d:000237 METHOD /home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:557
c:0055 p:0040 s:0225 b:0225 l:000fb8 d:000fb8 METHOD /var/www/apps/searchfuse/current/lib/searchfuse/analysis/utils/http_resource_size_calculator.rb:10
c:0054 p:0086 s:0220 b:0210 l:000201 d:000209 BLOCK /var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:17
c:0053 p:---- s:0207 b:0207 l:000206 d:000206 FINISH
c:0052 p:---- s:0205 b:0205 l:000204 d:000204 CFUNC :map
c:0051 p:0037 s:0202 b:0202 l:000201 d:000201 METHOD /var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:12
c:0050 p:0028 s:0197 b:0197 l:000188 d:000196 BLOCK /var/www/apps/searchfuse/current/app/services/project_image_resource_discovery_service.rb:11
c:0049 p:---- s:0194 b:0194 l:000193 d:000193 FINISH
c:0048 p:---- s:0192 b:0192 l:000191 d:000191 CFUNC :each
c:0047 p:0026 s:0189 b:0189 l:000188 d:000188 METHOD /var/www/apps/searchfuse/current/app/services/project_image_resource_discovery_service.rb:10
c:0046 p:0046 s:0185 b:0185 l:000184 d:000184 METHOD /var/www/apps/searchfuse/current/app/workers/project_image_resource_discovery_worker.rb:8
c:0045 p:0025 s:0181 b:0181 l:001200 d:000180 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:48
c:0044 p:---- s:0179 b:0179 l:000178 d:000178 FINISH
c:0043 p:---- s:0177 b:0177 l:000176 d:000176 CFUNC :call
c:0042 p:0024 s:0174 b:0174 l:000588 d:000173 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:109
c:0041 p:0056 s:0172 b:0172 l:000171 d:000171 METHOD /home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-status-d61e1d47071a/lib/sidekiq-status/server_middleware.rb:30
c:0040 p:0049 s:0166 b:0166 l:000588 d:000165 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0039 p:0005 s:0164 b:0164 l:0019b8 d:000163 BLOCK /home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler.rb:29
c:0038 p:---- s:0162 b:0162 l:000161 d:000161 FINISH
c:0037 p:---- s:0160 b:0160 l:000159 d:000159 CFUNC :call
c:0036 p:0024 s:0157 b:0157 l:000156 d:000156 METHOD /home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler/rate_limit.rb:137
c:0035 p:0061 s:0154 b:0154 l:0019b8 d:0019b8 METHOD /home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler.rb:36
c:0034 p:0049 s:0147 b:0147 l:000588 d:000146 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0033 p:0005 s:0145 b:0145 l:000b90 d:000144 BLOCK /home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/sidekiq.rb:25
c:0032 p:0581 s:0143 b:0143 l:000142 d:000142 METHOD /home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:318
c:0031 p:0029 s:0127 b:0127 l:000b90 d:000b90 METHOD /home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/sidekiq.rb:24
c:0030 p:0049 s:0121 b:0121 l:000588 d:000120 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0029 p:0009 s:0119 b:0119 l:000118 d:000118 METHOD /home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-superworker-fafd18ef9819/lib/sidekiq/superworker/server/middleware.rb:11
c:0028 p:0049 s:0111 b:0111 l:000588 d:000110 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0027 p:0019 s:0109 b:0109 l:000108 d:000108 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-failures-0.2.1/lib/sidekiq/failures/middleware.rb:10
c:0026 p:0049 s:0101 b:0101 l:000588 d:000100 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0025 p:0007 s:0099 b:0099 l:000098 d:000098 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/active_record.rb:6
c:0024 p:0049 s:0095 b:0095 l:000588 d:000094 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0023 p:0007 s:0093 b:0093 l:000092 d:000092 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/retry_jobs.rb:49
c:0022 p:0049 s:0081 b:0081 l:000588 d:000080 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0021 p:0041 s:0079 b:0079 l:000730 d:0007b0 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/logging.rb:11
c:0020 p:0037 s:0076 b:0076 l:000075 d:000075 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/logging.rb:22
c:0019 p:0045 s:0072 b:0072 l:000730 d:000730 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/logging.rb:7
c:0018 p:0049 s:0066 b:0066 l:000588 d:000065 LAMBDA /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111
c:0017 p:---- s:0064 b:0064 l:000063 d:000063 FINISH
c:0016 p:---- s:0062 b:0062 l:000061 d:000061 CFUNC :call
c:0015 p:0040 s:0059 b:0059 l:000588 d:000588 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:114
c:0014 p:0030 s:0052 b:0052 l:001200 d:000448 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:47
c:0013 p:0021 s:0050 b:0050 l:001780 d:001780 METHOD /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:102
c:0012 p:0130 s:0044 b:0044 l:001200 d:001698 BLOCK /home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:46
c:0011 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0010 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :call
c:0009 p:---- s:0034 b:0034 l:000033 d:000033 CFUNC :public_send
c:0008 p:0040 s:0030 b:0030 l:000029 d:000029 METHOD /home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25
c:0007 p:0039 s:0022 b:0022 l:000021 d:000021 METHOD /home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:67
c:0006 p:0066 s:0016 b:0016 l:002700 d:000015 BLOCK /home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/future.rb:15
c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :call
c:0003 p:0021 s:0008 b:0008 l:0004c8 d:000007 BLOCK /home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:59
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP

Associated revisions

Revision 1aa54beb
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision 45530
Added by akr (Akira Tanaka) about 5 years ago

  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Revision e60ec955
Added by nagachika (Tomoyuki Chikanaga) almost 5 years ago

merge revision(s) r45045,r45046,r45530: [Backport #9697]

* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]
  Fixed by Heesob Park.  [ruby-core:61868]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 46054
Added by nagachika (Tomoyuki Chikanaga) almost 5 years ago

merge revision(s) r45045,r45046,r45530: [Backport #9697]

* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]
  Fixed by Heesob Park.  [ruby-core:61868]

Revision 0fcc2cdb
Added by usa (Usaku NAKAMURA) almost 5 years ago

merge revision(s) 39239,45045,45530: [Backport #9697]

* ext/socket: always operate length of socket addess companion with
  socket address.

* ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for
  socket address length.
  (rsock_ipaddr): ditto.

* ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.
  (ip_peeraddr): ditto.
  (ip_s_getaddress): pass length to rsock_make_ipaddr.

* ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.
  (sock_s_getnameinfo): pass actual address length to rb_getnameinfo.
  (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.


* ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.
  (rsock_s_recvfrom_nonblock): ditto.

* ext/socket/tcpsocket.c (tcp_sockaddr): pass length to
  rsock_make_ipaddr.

* ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket
  address length.  pass the length to rb_getnameinfo.
  (rsock_ipaddr): ditto.
  (rsock_make_ipaddr): add an argument for socket address length.
  pass the length to make_ipaddr0.
  (make_inetaddr): pass length to make_ipaddr0.
  a local variable renamed.
  (host_str): a local variable renamed.
  (port_str): ditto.

* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]
  Fixed by Heesob Park.  [ruby-core:61868]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@46510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 46510
Added by usa (Usaku NAKAMURA) almost 5 years ago

merge revision(s) 39239,45045,45530: [Backport #9697]

* ext/socket: always operate length of socket addess companion with
  socket address. 

* ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for
  socket address length.
  (rsock_ipaddr): ditto.

* ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.
  (ip_peeraddr): ditto.
  (ip_s_getaddress): pass length to rsock_make_ipaddr.

* ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.
  (sock_s_getnameinfo): pass actual address length to rb_getnameinfo.
  (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.


* ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.
  (rsock_s_recvfrom_nonblock): ditto.

* ext/socket/tcpsocket.c (tcp_sockaddr): pass length to
  rsock_make_ipaddr.

* ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket
  address length.  pass the length to rb_getnameinfo.
  (rsock_ipaddr): ditto.
  (rsock_make_ipaddr): add an argument for socket address length. 
  pass the length to make_ipaddr0.
  (make_inetaddr): pass length to make_ipaddr0.
  a local variable renamed.
  (host_str): a local variable renamed.
  (port_str): ditto.

* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]
  Fixed by Heesob Park.  [ruby-core:61868]

History

Updated by pskumarsrec88@gmail.com (Saravana kumar) about 5 years ago

My Envoronment is ubuntu 13.10
Ruby - 1.9.3
Patch - 535

#2

Updated by phasis68 (Heesob Park) about 5 years ago

It seems that this issue is somewhat similar to the bug #8627( https://bugs.ruby-lang.org/issues/8627 ).
But the bug #8627 was fixed and backported to 1.9.3 already( https://bugs.ruby-lang.org/projects/ruby-193/repository/revisions/44933 )

Could you attach strace log for more info?

Updated by pskumarsrec88@gmail.com (Saravana kumar) about 5 years ago

-- Ruby level backtrace information ----------------------------------------
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:59:in block in create'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:59:in
call'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/future.rb:15:in block in new'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:67:in
dispatch'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25:in dispatch'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25:in
public_send'
/home/deploysearch/ruby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25:in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:46:in
block in process'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:102:in stats'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:47:in
block (2 levels) in process'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:114:in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:114:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/logging.rb:7:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/logging.rb:22:in with_context'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/logging.rb:11:in
block in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/retry_jobs.rb:49:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/server/active_record.rb:6:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-failures-0.2.1/lib/sidekiq/failures/middleware.rb:10:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-superworker-fafd18ef9819/lib/sidekiq/superworker/server/middleware.rb:11:in
call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/sidekiq.rb:24:in
call'
/home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:318:in perform_action_with_newrelic_trace'
/home/deploysearch/ruby/1.9.1/gems/newrelic_rpm-3.6.5.130/lib/new_relic/agent/instrumentation/sidekiq.rb:25:in
block in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in block in invoke'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler.rb:36:in
call'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler/rate_limit.rb:137:in execute'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler/rate_limit.rb:137:in
call'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-throttler-8bc8154bb77e/lib/sidekiq/throttler.rb:29:in block in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:111:in
block in invoke'
/home/deploysearch/ruby/1.9.1/bundler/gems/sidekiq-status-d61e1d47071a/lib/sidekiq-status/server_middleware.rb:30:in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:109:in
block in invoke'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/middleware/chain.rb:109:in call'
/home/deploysearch/ruby/1.9.1/gems/sidekiq-2.13.0/lib/sidekiq/processor.rb:48:in
block (3 levels) in process'
/var/www/apps/searchfuse/current/app/workers/project_image_resource_discovery_worker.rb:8:in perform'
/var/www/apps/searchfuse/current/app/services/project_image_resource_discovery_service.rb:10:in
execute'
/var/www/apps/searchfuse/current/app/services/project_image_resource_discovery_service.rb:10:in each'
/var/www/apps/searchfuse/current/app/services/project_image_resource_discovery_service.rb:11:in
block in execute'
/var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:12:in execute'
/var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:12:in
map'
/var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:16:in block in execute'
/var/www/apps/searchfuse/current/app/contexts/images/update_or_create_context.rb:25:in
broken_link?'
/var/www/apps/searchfuse/current/lib/searchfuse/analysis/spider/link_checker.rb:8:in available?'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:745:in
start'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:756:in do_start'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763:in
connect'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:100:in timeout'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:55:in
timeout'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763:in block in connect'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763:in
open'
/home/deploysearch/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/http.rb:763:in `initialize'

Updated by pskumarsrec88@gmail.com (Saravana kumar) about 5 years ago

So Which version of ruby patch i should use for this issue?

My current patch is 1.9.3-p545

Updated by phasis68 (Heesob Park) about 5 years ago

The ruby 1.9.3-p545 is the patch applied version.
Thus, this issue is not the same bug with bug #8627.

I guess the getaddrinfo call returns EAI_SYSTEM and errno is not ENOENT in your case.
Could you attach strace log or a simple reproducible code?

Updated by pskumarsrec88@gmail.com (Saravana kumar) about 5 years ago

This is the line am geting the error

http = Net::HTTP.start(host, port)

Its not occuring for all hosts and ports, Some of the hosts and ports are getting error.

Actually am looping 100k hosts and ports to run this code. So am not able to find the exact host and port detail.

Updated by phasis68 (Heesob Park) about 5 years ago

I found the errno is needed for rb_sys_fail function but it is cleared with the rb_freeaddrinfo function call.

Here is a patch

diff --git a/socket.c b/socket.c
index 67bfcb3..6b145ac 100644
--- a/socket.c
+++ b/socket.c
@@ -1346,7 +1346,7 @@ sock_s_getnameinfo(int argc, VALUE *argv)
     int fl;
     struct rb_addrinfo *res = NULL;
     struct addrinfo hints, *r;
-    int error;
+    int error, saved_errno;
     union_sockaddr ss;
     struct sockaddr *sap;
     socklen_t salen;
@@ -1460,11 +1460,15 @@ sock_s_getnameinfo(int argc, VALUE *argv)
     return rb_assoc_new(rb_str_new2(hbuf), rb_str_new2(pbuf));

   error_exit_addr:
+    saved_errno = errno;
     if (res) rb_freeaddrinfo(res);
+    errno = saved_errno;
     rsock_raise_socket_error("getaddrinfo", error);

   error_exit_name:
+    saved_errno = errno;
     if (res) rb_freeaddrinfo(res);
+    errno = saved_errno;
     rsock_raise_socket_error("getnameinfo", error);

     UNREACHABLE; 
#8

Updated by akr (Akira Tanaka) about 5 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r45530.


  • ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868]

Updated by nagachika (Tomoyuki Chikanaga) about 5 years ago

  • Backport set to 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED

Updated by nagachika (Tomoyuki Chikanaga) almost 5 years ago

  • Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED to 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: DONE

r45045, r45046 and r45530 were backported into ruby_2_1 branch at r46054.

Updated by usa (Usaku NAKAMURA) almost 5 years ago

  • Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: DONE to 1.9.3: REQUIRED, 2.0.0: DONE, 2.1: DONE

r39239, r45045 and r45530 were backported into ruby_2_0_0 at r46510.

Also available in: Atom PDF