Issue #9124 has been updated by Akira Tanaka.


I think we can accept a workaround if there is well commented patch.

----------------------------------------
Bug #9124: TestSocket errors in test-all on Arch 64-bit
https://bugs.ruby-lang.org/issues/9124#change-45244

* Author: Jon Forums
* Status: Open
* Priority: Normal
* Assignee: 
* Category: test
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-11-19 trunk 43711) [x86_64-linux]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
----------------------------------------
My system misconfiguration or MRI bug?

<pre>
arch64:build % uname -a
Linux arch64 3.12.0-1-ARCH #1 SMP PREEMPT Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux

arch64:build % uru ls
 => 210dev      : ruby 2.1.0dev (2013-11-19 trunk 43711) [x86_64-linux]

arch64:build % ../configure --prefix=$HOME/.rubies/ruby-2.1.0 --enable-shared --disable-install-doc && make all && make test-all
...
[12188/14685] TestSocket#test_timestamp = 0.00 s
  5) Error:
TestSocket#test_timestamp:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:457:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:457:in `block (2 levels) in test_timestamp'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:181:in `bind'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:454:in `block in test_timestamp'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:181:in `bind'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:453:in `test_timestamp'

[12189/14685] TestSocket#test_timestampns = 0.00 s
  6) Error:
TestSocket#test_timestampns:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:484:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:484:in `block (2 levels) in test_timestampns'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:181:in `bind'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:476:in `block in test_timestampns'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:181:in `bind'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:475:in `test_timestampns'

[12190/14685] TestSocket#test_udp_server = 10.02 s
  7) Error:
TestSocket#test_udp_server:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:654:in `recvmsg_nonblock'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:654:in `block in udp_server_recv'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:652:in `each'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:652:in `udp_server_recv'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:684:in `block in udp_server_loop_on'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:682:in `loop'
    /home/jon/rubydev/ruby-git/build/.ext/common/socket.rb:682:in `udp_server_loop_on'
    /home/jon/rubydev/ruby-git/test/socket/test_socket.rb:388:in `block (2 levels) in test_udp_server'

[12247/14685] TestSocketNonblock#test_recvmsg_nonblock_error = 0.00 s
  8) Error:
TestSocketNonblock#test_recvmsg_nonblock_error:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_nonblock.rb:250:in `recvmsg_nonblock'
    /home/jon/rubydev/ruby-git/test/socket/test_nonblock.rb:250:in `block in test_recvmsg_nonblock_error'
    /home/jon/rubydev/ruby-git/test/socket/test_nonblock.rb:155:in `udp_pair'
    /home/jon/rubydev/ruby-git/test/socket/test_nonblock.rb:248:in `test_recvmsg_nonblock_error'

[12279/14685] TestSocket_UNIXSocket#test_fd_passing_n = 0.00 s
  9) Error:
TestSocket_UNIXSocket#test_fd_passing_n:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:54:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:54:in `block (2 levels) in test_fd_passing_n'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:46:in `pair'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:46:in `block in test_fd_passing_n'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:44:in `each'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:44:in `test_fd_passing_n'

[12280/14685] TestSocket_UNIXSocket#test_fd_passing_n2 = 0.00 s
 10) Error:
TestSocket_UNIXSocket#test_fd_passing_n2:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:91:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:91:in `block (2 levels) in test_fd_passing_n2'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:83:in `pair'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:83:in `block in test_fd_passing_n2'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:81:in `each'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:81:in `test_fd_passing_n2'

[12292/14685] TestSocket_UNIXSocket#test_recvmsg = 0.00 s
 11) Error:
TestSocket_UNIXSocket#test_recvmsg:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:214:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:214:in `block (2 levels) in test_recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:212:in `pair'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:212:in `block in test_recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:211:in `pipe'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:211:in `test_recvmsg'

[12295/14685] TestSocket_UNIXSocket#test_sendcred_ucred = 0.00 s
 12) Error:
TestSocket_UNIXSocket#test_sendcred_ucred:
Errno::EINVAL: Invalid argument - recvmsg(2)
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:479:in `recvmsg'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:479:in `block in test_sendcred_ucred'
    /home/jon/rubydev/ruby-git/lib/tmpdir.rb:88:in `mktmpdir'
    /home/jon/rubydev/ruby-git/test/socket/test_unix.rb:472:in `test_sendcred_ucred'

Finished tests in 410.247772s, 35.7954 tests/s, 6317.1702 assertions/s.
14685 tests, 2591605 assertions, 0 failures, 8 errors, 32 skips
</pre>



-- 
http://bugs.ruby-lang.org/