# \[Bug #1146\] TestSocket#test\_udp\_server hangs when configure --with-lookup-order-hack=INET

**URL:** <https://www.ruby-forum.com/t/bug-1146-testsocket-test-udp-server-hangs-when-configure-with-lookup-order-hack-inet/160136>\
**Category:** Development\
**Created:** [February 12, 2009, 3:27am UTC](https://www.ruby-forum.com/t/bug-1146-testsocket-test-udp-server-hangs-when-configure-with-lookup-order-hack-inet/160136 "2009-02-12T03:27:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/77aa72/32.png) [@Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/u/Kazuhiro_NISHIYAMA)\
**Post date:** [February 12, 2009, 3:27am UTC](https://www.ruby-forum.com/t/bug-1146-testsocket-test-udp-server-hangs-when-configure-with-lookup-order-hack-inet/160136/1 "2009-02-12T03:27:57Z")

</div>

Bug #1146: TestSocket#test\_udp\_server hangs when configure  
–with-lookup-order-hack=INET  
[http://redmine.ruby-lang.org/issues/show/1146](http://redmine.ruby-lang.org/issues/show/1146)

e$B5/I\<\<Te(B: Kazuhiro NISHIYAMA  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
ruby -v: ruby 1.9.2dev (2009-02-12 trunk 22247) [i686-linux]

configuree$B$N$H$-$Ke(B–with-lookup-order-hack=INETe$B$r$D$1$F$$$k$He(B  
Socket.udp\_server\_sockets(0) {|sockets| … } e$B$Ge(B sockets e$B$Ke(B  
IPv6e$B$GBT$A\<u$1$F$$$J$$$N$K!“e(BSocket.ip\_address\_list e$B$K$Oe(B IPv6  
e$B$Ne(B  
e$B%”%I%l%9$,$"$k$N$G!"e(BIPv6e$B$G$Ne(Bsendmsge$B$G;\_$^$C$F$7$^$&$h$&$G$9!#e(B

e$B0J2\<$N$h$&$K$7$FD4$Y$F$\_$k$He(B “::”  
e$B$NM-L5$,$"$k$3$H$,$o$+$j$^$9!#e(B

e$B$^$?!“e(B–with-lookup-order-hack=INET  
e$B$”$j$G;\_$^$C$F$7$^$&$H$-$Ke(B  
Ctrl+C e$B$re(B2e$B2s2!$5$J$$$HH?1~$,$"$j$^$;$s$G$7$?!#e(B

# Index: test/socket/test\_socket.rb

— test/socket/test\_socket.rb (revision 22249)  
+++ test/socket/test\_socket.rb (working copy)  
@@ -233,6 +233,7 @@ class TestSocket \< Test::Unit::TestCase  
end

```
 Socket.udp_server_sockets(0) {|sockets|

```

+p sockets.map{|ai| ai.local\_address.ip\_address } -  
ip\_addrs.map(&:ip\_address)  
begin  
port = sockets.first.local\_address.ip\_port

–with-lookup-order-hack=INET e$B$J$7e(B:  
% /tmp/r/bin/ruby -v ~/wc/ruby/trunk/test/socket/test\_socket.rb -v  
ruby 1.9.2dev (2009-02-12 trunk 22247) [i686-linux]  
Loaded suite /home/kazu/wc/ruby/trunk/test/socket/test\_socket  
Started  
TestSocket#test\_accept\_loop: 0.00 s: .  
TestSocket#test\_accept\_loop\_with\_unix: 0.00 s: .  
TestSocket#test\_getaddrinfo: 0.00 s: .  
TestSocket#test\_getnameinfo: 0.00 s: .  
TestSocket#test\_initialize: 0.00 s: .  
TestSocket#test\_ip\_address\_list: 0.00 s: .  
TestSocket#test\_socket\_new: 0.00 s: .  
TestSocket#test\_sysaccept: 0.00 s: .  
TestSocket#test\_tcp: 0.00 s: .  
TestSocket#test\_tcp\_server\_sockets: 0.00 s: .  
TestSocket#test\_tcp\_server\_sockets\_port0: 0.00 s: .  
TestSocket#test\_udp\_server: [“::”]  
0.01 s: .  
TestSocket#test\_unix: 0.00 s: .  
TestSocket#test\_unix\_server\_socket: 0.00 s: .  
TestSocket#test\_unpack\_sockaddr: 0.00 s: .

Finished in 0.042818 seconds.

15 tests, 68 assertions, 0 failures, 0 errors, 0 skips  
%

–with-lookup-order-hack=INET e$B$"$je(B:  
% /tmp/r2/bin/ruby -v ~/wc/ruby/trunk/test/socket/test\_socket.rb -v  
ruby 1.9.2dev (2009-02-12 trunk 22247) [i686-linux]  
Loaded suite /home/kazu/wc/ruby/trunk/test/socket/test\_socket  
Started  
TestSocket#test\_accept\_loop: 0.00 s: .  
TestSocket#test\_accept\_loop\_with\_unix: 0.00 s: .  
TestSocket#test\_getaddrinfo: 0.00 s: .  
TestSocket#test\_getnameinfo: 0.00 s: .  
TestSocket#test\_initialize: 0.00 s: .  
TestSocket#test\_ip\_address\_list: 0.00 s: .  
TestSocket#test\_socket\_new: 0.00 s: .  
TestSocket#test\_sysaccept: 0.00 s: .  
TestSocket#test\_tcp: 0.00 s: .  
TestSocket#test\_tcp\_server\_sockets: 0.00 s: .  
TestSocket#test\_tcp\_server\_sockets\_port0: 0.00 s: .  
TestSocket#test\_udp\_server: []  
^C^C1.77 s: E  
TestSocket#test\_unix: 0.00 s: .  
TestSocket#test\_unix\_server\_socket: 0.00 s: .  
TestSocket#test\_unpack\_sockaddr: 0.00 s: .

Finished in 1.780257 seconds.

1. Error:  
test\_udp\_server(TestSocket):  
Interrupt:  
/home/kazu/wc/ruby/trunk/test/socket/test\_socket.rb:260:in `sendmsg' /home/kazu/wc/ruby/trunk/test/socket/test_socket.rb:260:in `block (2  
levels) in test\_udp\_server’

15 tests, 54 assertions, 0 failures, 1 errors, 0 skips  
%

---

<div class="post-metadata">

**Author:** ![Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/77aa72/32.png) [@Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/u/Kazuhiro_NISHIYAMA)\
**Post date:** [February 12, 2009, 3:28pm UTC](https://www.ruby-forum.com/t/bug-1146-testsocket-test-udp-server-hangs-when-configure-with-lookup-order-hack-inet/160136/2 "2009-02-12T15:28:11Z")

</div>

e$B%A%1%C%He(B #1146 e$B$,99?7$5$l$^$7$?!#e(B (by Akira T.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

## Applied in changeset r22260.

[http://redmine.ruby-lang.org/issues/show/1146](http://redmine.ruby-lang.org/issues/show/1146)
