Actions
Bug #7183
closedResolv::DNS::getresources throws Errno::EACCES: Permission denied - bind(2) on solaris
Bug #7183:
Resolv::DNS::getresources throws Errno::EACCES: Permission denied - bind(2) on solaris
Description
we have ruby running on Solaris. sometimes one of our tools fails with exception Errno::EACCES while calling Resolv::DNS::getresources. This only happens one out of thousands of times the tool is used.
After looking into lib/resolv.rb I saw, there is an optimistic loop in bind_random_port(), which looks to me it is thought of the possibility that a unusable port is selected (one that is used by another process), and if that happens it is tried again. Unfortunately it is only done when the exception is Errno::EADDRINUSE, what might be correct in Linux, but not Solaris (Sol10u6).
I propose to add Errno::EACCESS to the raise statement. Maybe a retry count limit as well:
Actions