Forum: Ruby-core [ruby-trunk - Bug #7311][Open] DRb test suite fails when hostname cannot be reached

Posted by Vít Ondruch (vo_x)
on 2012-11-08 15:06
(Received via mailing list)
Issue #7311 has been reported by vo.x (Vit Ondruch).

----------------------------------------
Bug #7311: DRb test suite fails when hostname cannot be reached
https://bugs.ruby-lang.org/issues/7311

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2012-11-07 trunk 37538) [x86_64-linux]


=begin
I have set following hostname:

 $ hostname
 dhcp-25-70

However, it cannot be reached:

 $ ping `hostname`
 PING dhcp-25-70 (10.34.25.70) 56(84) bytes of data.
 From dhcp-25-1 (10.34.25.1) icmp_seq=1 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=2 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=3 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=4 Destination Host Unreachable

This causes that the DRb test suite fails:

 TestDRbAry#test_01 = 3.16 s = E
 TestDRbAry#test_02_collect = 3.01 s = E
 TestDRbAry#test_03_redo = 3.01 s = E
 TestDRbAry#test_05_break = 3.01 s = E
 TestDRbAry#test_06_next = 3.01 s = E
 TestDRbAry#test_07_break_18 = 3.01 s = E
 TestDRbCore#test_00_DRbObject = 0.15 s = .
 TestDRbCore#test_01 = 2.85 s = E
 TestDRbCore#test_01_02_loop = 3.00 s = E
 TestDRbCore#test_02_unknown = 3.01 s = F
 TestDRbCore#test_03 = 0.16 s = .
 TestDRbCore#test_04 = 0.16 s = .
 TestDRbCore#test_05_eq = 0.15 s = .
 TestDRbCore#test_06_timeout = 0.36 s = .
 TestDRbCore#test_07_public_private_protected_missing = 0.16 s = .
 TestDRbCore#test_08_here = 0.16 s = .
 TestDRbCore#test_09_option = 0.16 s = .
 TestDRbCore#test_10_yield = 1.70 s = E
 TestDRbCore#test_10_yield_undumped = 3.17 s = E
 TestDRbCore#test_11_remote_no_method_error = 0.16 s = .
 TestDRbLarge#test_01_large_ary = 0.05 s = .
 TestDRbLarge#test_02_large_ary = 0.06 s = .
 TestDRbLarge#test_03_large_ary = 2.63 s = E
 TestDRbLarge#test_04_many_arg = 0.05 s = .
 TestDRbLarge#test_05_too_large_ary = 0.07 s = .
 TestDRbMServer#test_01 = 2.88 s = E
 TestDRbRuby18Yield#test_01_one = 0.00 s = .
 TestDRbRuby18Yield#test_02_two = 0.00 s = .
 TestDRbRuby18Yield#test_03_many = 0.00 s = .
 TestDRbRuby18Yield#test_04_many_to_one = 0.00 s = .
 TestDRbRuby18Yield#test_05_array_subclass = 0.00 s = .
 TestDRbRuby18Yield#test_06_taint = 0.00 s = .
 TestDRbRubyYield#test_01_one = 0.00 s = .
 TestDRbRubyYield#test_02_two = 0.00 s = .
 TestDRbRubyYield#test_03_many = 0.00 s = .
 TestDRbRubyYield#test_04_many_to_one = 0.00 s = .
 TestDRbRubyYield#test_05_array_subclass = 0.00 s = .
 TestDRbRubyYield#test_06_taint = 0.00 s = .
 TestDRbSSLAry#test_01 = 3.09 s = E
 TestDRbSSLAry#test_02_collect = 3.01 s = E
 TestDRbSSLAry#test_03_redo = 3.01 s = E
 TestDRbSSLAry#test_05_break = 3.01 s = E
 TestDRbSSLAry#test_06_next = 3.01 s = E
 TestDRbSSLAry#test_07_break_18 = 3.01 s = E
 TestDRbSSLCore#test_00_DRbObject = 0.20 s = .
 TestDRbSSLCore#test_01 = 2.82 s = E
 TestDRbSSLCore#test_01_02_loop = 0.22 s = .
 TestDRbSSLCore#test_02_unknown = 0.20 s = .
 TestDRbSSLCore#test_03 = 0.24 s = .
 TestDRbSSLCore#test_04 = 0.21 s = .
 TestDRbSSLCore#test_05_eq = 0.23 s = .
 TestDRbSSLCore#test_06_timeout = 0.44 s = .
 TestDRbSSLCore#test_07_public_private_protected_missing = 0.29 s = .
 TestDRbSSLCore#test_08_here = 0.22 s = .
 TestDRbSSLCore#test_09_option = 0.21 s = .
 TestDRbSSLCore#test_10_yield = 0.75 s = E
 TestDRbSSLCore#test_10_yield_undumped = 3.22 s = E
 TestDRbSSLCore#test_11_remote_no_method_error = 0.24 s = .
 TestDRbSafe1#test_01 = 0.15 s = .
 TestDRbSafe1#test_02_collect = 2.60 s = E
 TestDRbSafe1#test_03_redo = 3.01 s = E
 TestDRbSafe1#test_05_break = 3.00 s = E
 TestDRbSafe1#test_06_next = 3.01 s = E
 TestDRbSafe1#test_07_break_18 = 3.01 s = E
 TestDRbUNIXAry#test_01 = 0.17 s = .
 TestDRbUNIXAry#test_02_collect = 2.84 s = E
 TestDRbUNIXAry#test_03_redo = 3.01 s = E
 TestDRbUNIXAry#test_05_break = 3.01 s = E
 TestDRbUNIXAry#test_06_next = 3.01 s = E
 TestDRbUNIXAry#test_07_break_18 = 3.01 s = E
 TestDRbUNIXCore#test_00_DRbObject = 0.16 s = .
 TestDRbUNIXCore#test_01 = 2.84 s = E
 TestDRbUNIXCore#test_01_02_loop = 0.17 s = .
 TestDRbUNIXCore#test_02_unknown = 0.16 s = .
 TestDRbUNIXCore#test_03 = 0.17 s = .
 TestDRbUNIXCore#test_04 = 0.16 s = .
 TestDRbUNIXCore#test_05_eq = 0.16 s = .
 TestDRbUNIXCore#test_06_timeout = 0.37 s = .
 TestDRbUNIXCore#test_07_public_private_protected_missing = 0.17 s = .
 TestDRbUNIXCore#test_08_here = 0.17 s = .
 TestDRbUNIXCore#test_09_option = 0.17 s = .
 TestDRbUNIXCore#test_10_yield = 1.29 s = E
 TestDRbUNIXCore#test_10_yield_undumped = 3.17 s = E
 TestDRbUNIXCore#test_11_remote_no_method_error = 0.17 s = .
 TestDRbYield#test_01_one = 2.73 s = E
 TestDRbYield#test_02_two = 3.01 s = E
 TestDRbYield#test_03_many = 3.01 s = E
 TestDRbYield#test_04_many_to_one = 3.01 s = E
 TestDRbYield#test_05_array_subclass = 3.01 s = E
 TestDRbYield#test_06_taint = 3.01 s = E

So there are two possible ways how to fix this issue.

(1) Enforce usage of localhost in test suite 
(0001-Enforce-localhost-for-DRb-tests.patch). Unfortunately it appears 
it does not solve my issues completely under some (not so clear) 
circumstances.
(2) Detect if hostname is associated with some IP address of my 
computer, otherwise fallback to localhost 
(0001-Fallback-to-localhost-if-hostname-is-not-associated-.patch). This 
resolves my issue completely.


BTW this test error later causes deadlock in TestProcess test suite [1], 
which is nasty :/



[1] 
https://github.com/ruby/ruby/blob/trunk/test/ruby/...
=end
Posted by mame (Yusuke Endoh) (Guest)
on 2012-11-25 04:15
(Received via mailing list)
Issue #7311 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to seki (Masatoshi Seki)
Target version set to 2.0.0

Seki-san, Urabe-san, Naruse-san, what do you think?

--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #7311: DRb test suite fails when hostname cannot be reached
https://bugs.ruby-lang.org/issues/7311#change-33845

Author: vo.x (Vit Ondruch)
Status: Assigned
Priority: Normal
Assignee: seki (Masatoshi Seki)
Category:
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07 trunk 37538) [x86_64-linux]


=begin
I have set following hostname:

 $ hostname
 dhcp-25-70

However, it cannot be reached:

 $ ping `hostname`
 PING dhcp-25-70 (10.34.25.70) 56(84) bytes of data.
 From dhcp-25-1 (10.34.25.1) icmp_seq=1 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=2 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=3 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=4 Destination Host Unreachable

This causes that the DRb test suite fails:

 TestDRbAry#test_01 = 3.16 s = E
 TestDRbAry#test_02_collect = 3.01 s = E
 TestDRbAry#test_03_redo = 3.01 s = E
 TestDRbAry#test_05_break = 3.01 s = E
 TestDRbAry#test_06_next = 3.01 s = E
 TestDRbAry#test_07_break_18 = 3.01 s = E
 TestDRbCore#test_00_DRbObject = 0.15 s = .
 TestDRbCore#test_01 = 2.85 s = E
 TestDRbCore#test_01_02_loop = 3.00 s = E
 TestDRbCore#test_02_unknown = 3.01 s = F
 TestDRbCore#test_03 = 0.16 s = .
 TestDRbCore#test_04 = 0.16 s = .
 TestDRbCore#test_05_eq = 0.15 s = .
 TestDRbCore#test_06_timeout = 0.36 s = .
 TestDRbCore#test_07_public_private_protected_missing = 0.16 s = .
 TestDRbCore#test_08_here = 0.16 s = .
 TestDRbCore#test_09_option = 0.16 s = .
 TestDRbCore#test_10_yield = 1.70 s = E
 TestDRbCore#test_10_yield_undumped = 3.17 s = E
 TestDRbCore#test_11_remote_no_method_error = 0.16 s = .
 TestDRbLarge#test_01_large_ary = 0.05 s = .
 TestDRbLarge#test_02_large_ary = 0.06 s = .
 TestDRbLarge#test_03_large_ary = 2.63 s = E
 TestDRbLarge#test_04_many_arg = 0.05 s = .
 TestDRbLarge#test_05_too_large_ary = 0.07 s = .
 TestDRbMServer#test_01 = 2.88 s = E
 TestDRbRuby18Yield#test_01_one = 0.00 s = .
 TestDRbRuby18Yield#test_02_two = 0.00 s = .
 TestDRbRuby18Yield#test_03_many = 0.00 s = .
 TestDRbRuby18Yield#test_04_many_to_one = 0.00 s = .
 TestDRbRuby18Yield#test_05_array_subclass = 0.00 s = .
 TestDRbRuby18Yield#test_06_taint = 0.00 s = .
 TestDRbRubyYield#test_01_one = 0.00 s = .
 TestDRbRubyYield#test_02_two = 0.00 s = .
 TestDRbRubyYield#test_03_many = 0.00 s = .
 TestDRbRubyYield#test_04_many_to_one = 0.00 s = .
 TestDRbRubyYield#test_05_array_subclass = 0.00 s = .
 TestDRbRubyYield#test_06_taint = 0.00 s = .
 TestDRbSSLAry#test_01 = 3.09 s = E
 TestDRbSSLAry#test_02_collect = 3.01 s = E
 TestDRbSSLAry#test_03_redo = 3.01 s = E
 TestDRbSSLAry#test_05_break = 3.01 s = E
 TestDRbSSLAry#test_06_next = 3.01 s = E
 TestDRbSSLAry#test_07_break_18 = 3.01 s = E
 TestDRbSSLCore#test_00_DRbObject = 0.20 s = .
 TestDRbSSLCore#test_01 = 2.82 s = E
 TestDRbSSLCore#test_01_02_loop = 0.22 s = .
 TestDRbSSLCore#test_02_unknown = 0.20 s = .
 TestDRbSSLCore#test_03 = 0.24 s = .
 TestDRbSSLCore#test_04 = 0.21 s = .
 TestDRbSSLCore#test_05_eq = 0.23 s = .
 TestDRbSSLCore#test_06_timeout = 0.44 s = .
 TestDRbSSLCore#test_07_public_private_protected_missing = 0.29 s = .
 TestDRbSSLCore#test_08_here = 0.22 s = .
 TestDRbSSLCore#test_09_option = 0.21 s = .
 TestDRbSSLCore#test_10_yield = 0.75 s = E
 TestDRbSSLCore#test_10_yield_undumped = 3.22 s = E
 TestDRbSSLCore#test_11_remote_no_method_error = 0.24 s = .
 TestDRbSafe1#test_01 = 0.15 s = .
 TestDRbSafe1#test_02_collect = 2.60 s = E
 TestDRbSafe1#test_03_redo = 3.01 s = E
 TestDRbSafe1#test_05_break = 3.00 s = E
 TestDRbSafe1#test_06_next = 3.01 s = E
 TestDRbSafe1#test_07_break_18 = 3.01 s = E
 TestDRbUNIXAry#test_01 = 0.17 s = .
 TestDRbUNIXAry#test_02_collect = 2.84 s = E
 TestDRbUNIXAry#test_03_redo = 3.01 s = E
 TestDRbUNIXAry#test_05_break = 3.01 s = E
 TestDRbUNIXAry#test_06_next = 3.01 s = E
 TestDRbUNIXAry#test_07_break_18 = 3.01 s = E
 TestDRbUNIXCore#test_00_DRbObject = 0.16 s = .
 TestDRbUNIXCore#test_01 = 2.84 s = E
 TestDRbUNIXCore#test_01_02_loop = 0.17 s = .
 TestDRbUNIXCore#test_02_unknown = 0.16 s = .
 TestDRbUNIXCore#test_03 = 0.17 s = .
 TestDRbUNIXCore#test_04 = 0.16 s = .
 TestDRbUNIXCore#test_05_eq = 0.16 s = .
 TestDRbUNIXCore#test_06_timeout = 0.37 s = .
 TestDRbUNIXCore#test_07_public_private_protected_missing = 0.17 s = .
 TestDRbUNIXCore#test_08_here = 0.17 s = .
 TestDRbUNIXCore#test_09_option = 0.17 s = .
 TestDRbUNIXCore#test_10_yield = 1.29 s = E
 TestDRbUNIXCore#test_10_yield_undumped = 3.17 s = E
 TestDRbUNIXCore#test_11_remote_no_method_error = 0.17 s = .
 TestDRbYield#test_01_one = 2.73 s = E
 TestDRbYield#test_02_two = 3.01 s = E
 TestDRbYield#test_03_many = 3.01 s = E
 TestDRbYield#test_04_many_to_one = 3.01 s = E
 TestDRbYield#test_05_array_subclass = 3.01 s = E
 TestDRbYield#test_06_taint = 3.01 s = E

So there are two possible ways how to fix this issue.

(1) Enforce usage of localhost in test suite 
(0001-Enforce-localhost-for-DRb-tests.patch). Unfortunately it appears 
it does not solve my issues completely under some (not so clear) 
circumstances.
(2) Detect if hostname is associated with some IP address of my 
computer, otherwise fallback to localhost 
(0001-Fallback-to-localhost-if-hostname-is-not-associated-.patch). This 
resolves my issue completely.


BTW this test error later causes deadlock in TestProcess test suite [1], 
which is nasty :/



[1] 
https://github.com/ruby/ruby/blob/trunk/test/ruby/...
=end
Posted by mame (Yusuke Endoh) (Guest)
on 2013-02-18 16:31
(Received via mailing list)
Issue #7311 has been updated by mame (Yusuke Endoh).

Target version changed from 2.0.0 to next minor

Just an issue of test.

--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #7311: DRb test suite fails when hostname cannot be reached
https://bugs.ruby-lang.org/issues/7311#change-36543

Author: vo.x (Vit Ondruch)
Status: Assigned
Priority: Normal
Assignee: seki (Masatoshi Seki)
Category:
Target version: next minor
ruby -v: ruby 2.0.0dev (2012-11-07 trunk 37538) [x86_64-linux]


=begin
I have set following hostname:

 $ hostname
 dhcp-25-70

However, it cannot be reached:

 $ ping `hostname`
 PING dhcp-25-70 (10.34.25.70) 56(84) bytes of data.
 From dhcp-25-1 (10.34.25.1) icmp_seq=1 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=2 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=3 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=4 Destination Host Unreachable

This causes that the DRb test suite fails:

 TestDRbAry#test_01 = 3.16 s = E
 TestDRbAry#test_02_collect = 3.01 s = E
 TestDRbAry#test_03_redo = 3.01 s = E
 TestDRbAry#test_05_break = 3.01 s = E
 TestDRbAry#test_06_next = 3.01 s = E
 TestDRbAry#test_07_break_18 = 3.01 s = E
 TestDRbCore#test_00_DRbObject = 0.15 s = .
 TestDRbCore#test_01 = 2.85 s = E
 TestDRbCore#test_01_02_loop = 3.00 s = E
 TestDRbCore#test_02_unknown = 3.01 s = F
 TestDRbCore#test_03 = 0.16 s = .
 TestDRbCore#test_04 = 0.16 s = .
 TestDRbCore#test_05_eq = 0.15 s = .
 TestDRbCore#test_06_timeout = 0.36 s = .
 TestDRbCore#test_07_public_private_protected_missing = 0.16 s = .
 TestDRbCore#test_08_here = 0.16 s = .
 TestDRbCore#test_09_option = 0.16 s = .
 TestDRbCore#test_10_yield = 1.70 s = E
 TestDRbCore#test_10_yield_undumped = 3.17 s = E
 TestDRbCore#test_11_remote_no_method_error = 0.16 s = .
 TestDRbLarge#test_01_large_ary = 0.05 s = .
 TestDRbLarge#test_02_large_ary = 0.06 s = .
 TestDRbLarge#test_03_large_ary = 2.63 s = E
 TestDRbLarge#test_04_many_arg = 0.05 s = .
 TestDRbLarge#test_05_too_large_ary = 0.07 s = .
 TestDRbMServer#test_01 = 2.88 s = E
 TestDRbRuby18Yield#test_01_one = 0.00 s = .
 TestDRbRuby18Yield#test_02_two = 0.00 s = .
 TestDRbRuby18Yield#test_03_many = 0.00 s = .
 TestDRbRuby18Yield#test_04_many_to_one = 0.00 s = .
 TestDRbRuby18Yield#test_05_array_subclass = 0.00 s = .
 TestDRbRuby18Yield#test_06_taint = 0.00 s = .
 TestDRbRubyYield#test_01_one = 0.00 s = .
 TestDRbRubyYield#test_02_two = 0.00 s = .
 TestDRbRubyYield#test_03_many = 0.00 s = .
 TestDRbRubyYield#test_04_many_to_one = 0.00 s = .
 TestDRbRubyYield#test_05_array_subclass = 0.00 s = .
 TestDRbRubyYield#test_06_taint = 0.00 s = .
 TestDRbSSLAry#test_01 = 3.09 s = E
 TestDRbSSLAry#test_02_collect = 3.01 s = E
 TestDRbSSLAry#test_03_redo = 3.01 s = E
 TestDRbSSLAry#test_05_break = 3.01 s = E
 TestDRbSSLAry#test_06_next = 3.01 s = E
 TestDRbSSLAry#test_07_break_18 = 3.01 s = E
 TestDRbSSLCore#test_00_DRbObject = 0.20 s = .
 TestDRbSSLCore#test_01 = 2.82 s = E
 TestDRbSSLCore#test_01_02_loop = 0.22 s = .
 TestDRbSSLCore#test_02_unknown = 0.20 s = .
 TestDRbSSLCore#test_03 = 0.24 s = .
 TestDRbSSLCore#test_04 = 0.21 s = .
 TestDRbSSLCore#test_05_eq = 0.23 s = .
 TestDRbSSLCore#test_06_timeout = 0.44 s = .
 TestDRbSSLCore#test_07_public_private_protected_missing = 0.29 s = .
 TestDRbSSLCore#test_08_here = 0.22 s = .
 TestDRbSSLCore#test_09_option = 0.21 s = .
 TestDRbSSLCore#test_10_yield = 0.75 s = E
 TestDRbSSLCore#test_10_yield_undumped = 3.22 s = E
 TestDRbSSLCore#test_11_remote_no_method_error = 0.24 s = .
 TestDRbSafe1#test_01 = 0.15 s = .
 TestDRbSafe1#test_02_collect = 2.60 s = E
 TestDRbSafe1#test_03_redo = 3.01 s = E
 TestDRbSafe1#test_05_break = 3.00 s = E
 TestDRbSafe1#test_06_next = 3.01 s = E
 TestDRbSafe1#test_07_break_18 = 3.01 s = E
 TestDRbUNIXAry#test_01 = 0.17 s = .
 TestDRbUNIXAry#test_02_collect = 2.84 s = E
 TestDRbUNIXAry#test_03_redo = 3.01 s = E
 TestDRbUNIXAry#test_05_break = 3.01 s = E
 TestDRbUNIXAry#test_06_next = 3.01 s = E
 TestDRbUNIXAry#test_07_break_18 = 3.01 s = E
 TestDRbUNIXCore#test_00_DRbObject = 0.16 s = .
 TestDRbUNIXCore#test_01 = 2.84 s = E
 TestDRbUNIXCore#test_01_02_loop = 0.17 s = .
 TestDRbUNIXCore#test_02_unknown = 0.16 s = .
 TestDRbUNIXCore#test_03 = 0.17 s = .
 TestDRbUNIXCore#test_04 = 0.16 s = .
 TestDRbUNIXCore#test_05_eq = 0.16 s = .
 TestDRbUNIXCore#test_06_timeout = 0.37 s = .
 TestDRbUNIXCore#test_07_public_private_protected_missing = 0.17 s = .
 TestDRbUNIXCore#test_08_here = 0.17 s = .
 TestDRbUNIXCore#test_09_option = 0.17 s = .
 TestDRbUNIXCore#test_10_yield = 1.29 s = E
 TestDRbUNIXCore#test_10_yield_undumped = 3.17 s = E
 TestDRbUNIXCore#test_11_remote_no_method_error = 0.17 s = .
 TestDRbYield#test_01_one = 2.73 s = E
 TestDRbYield#test_02_two = 3.01 s = E
 TestDRbYield#test_03_many = 3.01 s = E
 TestDRbYield#test_04_many_to_one = 3.01 s = E
 TestDRbYield#test_05_array_subclass = 3.01 s = E
 TestDRbYield#test_06_taint = 3.01 s = E

So there are two possible ways how to fix this issue.

(1) Enforce usage of localhost in test suite 
(0001-Enforce-localhost-for-DRb-tests.patch). Unfortunately it appears 
it does not solve my issues completely under some (not so clear) 
circumstances.
(2) Detect if hostname is associated with some IP address of my 
computer, otherwise fallback to localhost 
(0001-Fallback-to-localhost-if-hostname-is-not-associated-.patch). This 
resolves my issue completely.


BTW this test error later causes deadlock in TestProcess test suite [1], 
which is nasty :/



[1] 
https://github.com/ruby/ruby/blob/trunk/test/ruby/...
=end
Posted by Vít Ondruch (vo_x)
on 2013-02-18 22:15
(Received via mailing list)
Issue #7311 has been updated by vo.x (Vit Ondruch).


It is not just test suite issue. See 
0001-Fallback-to-localhost-if-hostname-is-not-associated-.patch

Although it is pretty minor issue, due to other bugs in Gnome 3, it 
forces me to reboot quite often :/ But anyway, it is not blocker.
----------------------------------------
Bug #7311: DRb test suite fails when hostname cannot be reached
https://bugs.ruby-lang.org/issues/7311#change-36569

Author: vo.x (Vit Ondruch)
Status: Assigned
Priority: Normal
Assignee: seki (Masatoshi Seki)
Category:
Target version: next minor
ruby -v: ruby 2.0.0dev (2012-11-07 trunk 37538) [x86_64-linux]


=begin
I have set following hostname:

 $ hostname
 dhcp-25-70

However, it cannot be reached:

 $ ping `hostname`
 PING dhcp-25-70 (10.34.25.70) 56(84) bytes of data.
 From dhcp-25-1 (10.34.25.1) icmp_seq=1 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=2 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=3 Destination Host Unreachable
 From dhcp-25-1 (10.34.25.1) icmp_seq=4 Destination Host Unreachable

This causes that the DRb test suite fails:

 TestDRbAry#test_01 = 3.16 s = E
 TestDRbAry#test_02_collect = 3.01 s = E
 TestDRbAry#test_03_redo = 3.01 s = E
 TestDRbAry#test_05_break = 3.01 s = E
 TestDRbAry#test_06_next = 3.01 s = E
 TestDRbAry#test_07_break_18 = 3.01 s = E
 TestDRbCore#test_00_DRbObject = 0.15 s = .
 TestDRbCore#test_01 = 2.85 s = E
 TestDRbCore#test_01_02_loop = 3.00 s = E
 TestDRbCore#test_02_unknown = 3.01 s = F
 TestDRbCore#test_03 = 0.16 s = .
 TestDRbCore#test_04 = 0.16 s = .
 TestDRbCore#test_05_eq = 0.15 s = .
 TestDRbCore#test_06_timeout = 0.36 s = .
 TestDRbCore#test_07_public_private_protected_missing = 0.16 s = .
 TestDRbCore#test_08_here = 0.16 s = .
 TestDRbCore#test_09_option = 0.16 s = .
 TestDRbCore#test_10_yield = 1.70 s = E
 TestDRbCore#test_10_yield_undumped = 3.17 s = E
 TestDRbCore#test_11_remote_no_method_error = 0.16 s = .
 TestDRbLarge#test_01_large_ary = 0.05 s = .
 TestDRbLarge#test_02_large_ary = 0.06 s = .
 TestDRbLarge#test_03_large_ary = 2.63 s = E
 TestDRbLarge#test_04_many_arg = 0.05 s = .
 TestDRbLarge#test_05_too_large_ary = 0.07 s = .
 TestDRbMServer#test_01 = 2.88 s = E
 TestDRbRuby18Yield#test_01_one = 0.00 s = .
 TestDRbRuby18Yield#test_02_two = 0.00 s = .
 TestDRbRuby18Yield#test_03_many = 0.00 s = .
 TestDRbRuby18Yield#test_04_many_to_one = 0.00 s = .
 TestDRbRuby18Yield#test_05_array_subclass = 0.00 s = .
 TestDRbRuby18Yield#test_06_taint = 0.00 s = .
 TestDRbRubyYield#test_01_one = 0.00 s = .
 TestDRbRubyYield#test_02_two = 0.00 s = .
 TestDRbRubyYield#test_03_many = 0.00 s = .
 TestDRbRubyYield#test_04_many_to_one = 0.00 s = .
 TestDRbRubyYield#test_05_array_subclass = 0.00 s = .
 TestDRbRubyYield#test_06_taint = 0.00 s = .
 TestDRbSSLAry#test_01 = 3.09 s = E
 TestDRbSSLAry#test_02_collect = 3.01 s = E
 TestDRbSSLAry#test_03_redo = 3.01 s = E
 TestDRbSSLAry#test_05_break = 3.01 s = E
 TestDRbSSLAry#test_06_next = 3.01 s = E
 TestDRbSSLAry#test_07_break_18 = 3.01 s = E
 TestDRbSSLCore#test_00_DRbObject = 0.20 s = .
 TestDRbSSLCore#test_01 = 2.82 s = E
 TestDRbSSLCore#test_01_02_loop = 0.22 s = .
 TestDRbSSLCore#test_02_unknown = 0.20 s = .
 TestDRbSSLCore#test_03 = 0.24 s = .
 TestDRbSSLCore#test_04 = 0.21 s = .
 TestDRbSSLCore#test_05_eq = 0.23 s = .
 TestDRbSSLCore#test_06_timeout = 0.44 s = .
 TestDRbSSLCore#test_07_public_private_protected_missing = 0.29 s = .
 TestDRbSSLCore#test_08_here = 0.22 s = .
 TestDRbSSLCore#test_09_option = 0.21 s = .
 TestDRbSSLCore#test_10_yield = 0.75 s = E
 TestDRbSSLCore#test_10_yield_undumped = 3.22 s = E
 TestDRbSSLCore#test_11_remote_no_method_error = 0.24 s = .
 TestDRbSafe1#test_01 = 0.15 s = .
 TestDRbSafe1#test_02_collect = 2.60 s = E
 TestDRbSafe1#test_03_redo = 3.01 s = E
 TestDRbSafe1#test_05_break = 3.00 s = E
 TestDRbSafe1#test_06_next = 3.01 s = E
 TestDRbSafe1#test_07_break_18 = 3.01 s = E
 TestDRbUNIXAry#test_01 = 0.17 s = .
 TestDRbUNIXAry#test_02_collect = 2.84 s = E
 TestDRbUNIXAry#test_03_redo = 3.01 s = E
 TestDRbUNIXAry#test_05_break = 3.01 s = E
 TestDRbUNIXAry#test_06_next = 3.01 s = E
 TestDRbUNIXAry#test_07_break_18 = 3.01 s = E
 TestDRbUNIXCore#test_00_DRbObject = 0.16 s = .
 TestDRbUNIXCore#test_01 = 2.84 s = E
 TestDRbUNIXCore#test_01_02_loop = 0.17 s = .
 TestDRbUNIXCore#test_02_unknown = 0.16 s = .
 TestDRbUNIXCore#test_03 = 0.17 s = .
 TestDRbUNIXCore#test_04 = 0.16 s = .
 TestDRbUNIXCore#test_05_eq = 0.16 s = .
 TestDRbUNIXCore#test_06_timeout = 0.37 s = .
 TestDRbUNIXCore#test_07_public_private_protected_missing = 0.17 s = .
 TestDRbUNIXCore#test_08_here = 0.17 s = .
 TestDRbUNIXCore#test_09_option = 0.17 s = .
 TestDRbUNIXCore#test_10_yield = 1.29 s = E
 TestDRbUNIXCore#test_10_yield_undumped = 3.17 s = E
 TestDRbUNIXCore#test_11_remote_no_method_error = 0.17 s = .
 TestDRbYield#test_01_one = 2.73 s = E
 TestDRbYield#test_02_two = 3.01 s = E
 TestDRbYield#test_03_many = 3.01 s = E
 TestDRbYield#test_04_many_to_one = 3.01 s = E
 TestDRbYield#test_05_array_subclass = 3.01 s = E
 TestDRbYield#test_06_taint = 3.01 s = E

So there are two possible ways how to fix this issue.

(1) Enforce usage of localhost in test suite 
(0001-Enforce-localhost-for-DRb-tests.patch). Unfortunately it appears 
it does not solve my issues completely under some (not so clear) 
circumstances.
(2) Detect if hostname is associated with some IP address of my 
computer, otherwise fallback to localhost 
(0001-Fallback-to-localhost-if-hostname-is-not-associated-.patch). This 
resolves my issue completely.


BTW this test error later causes deadlock in TestProcess test suite [1], 
which is nasty :/



[1] 
https://github.com/ruby/ruby/blob/trunk/test/ruby/...
=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.