Description of problem: when ruby is compiled under kernel >= 4.7, we get the following error 1) Failure: TestSocketNonblock#test_udp_recv_nonblock [/builddir/build/BUILD/ruby-2.3.1/test/socket/test_nonblock.rb:128]: cygwin 1.5.19 has a problem to send an empty UDP packet. [ruby-dev:28915]. Exception raised: <#<Timeout::Error: execution expired>>. 2) Failure: TestSocketNonblock#test_udp_recvfrom_nonblock [/builddir/build/BUILD/ruby-2.3.1/test/socket/test_nonblock.rb:106]: cygwin 1.5.19 has a problem to send an empty UDP packet. [ruby-dev:28915]. Exception raised: <#<Timeout::Error: execution expired>>. 15847 tests, 2235440 assertions, 2 failures, 0 errors, 38 skips ruby -v: ruby 2.3.1p112 (2016-04-26 revision 54768) [powerpc64le-linux] uncommon.mk:612: recipe for target 'yes-test-almost' failed make: *** [yes-test-almost] Error 2 Version-Release number of selected component (if applicable): 2.3.1-57 How reproducible: always when kernel>=4.7 is used Additional info: it happens in both ppc64 and ppc64le. Note that the current Fedora builders don't user kernel 4.7, so you can't reproduce it in koji but it can be reproduced in a mockbuild.
It seems to be issue on my x86_64 as well ...
Reassigning to Kernel, since this is Kernel regression IMO.
Just FTR, these are the lines where the tests fail: https://github.com/ruby/ruby/blob/trunk/test/socket/test_nonblock.rb#L106 https://github.com/ruby/ruby/blob/trunk/test/socket/test_nonblock.rb#L128 and yes, there used to be some issue with cygwin, which couldn't send empty UDP packet, but that doesn't be the case.
This can be used to disable the test cases in case this should become issue on builders: ``` @@ -668,6 +668,11 @@ DISABLE_TESTS="$DISABLE_TESTS -x test_fork.rb" DISABLE_TESTS="$DISABLE_TESTS -x test_case_comprehensive.rb" DISABLE_TESTS="$DISABLE_TESTS -x test_unicode_normalize.rb" +# This seems to be due to Linux 4.7+ regressin. +# https://bugzilla.redhat.com/show_bug.cgi?id=1365940 +DISABLE_TESTS="$DISABLE_TESTS -n !/test_udp_recv_nonblock/" +DISABLE_TESTS="$DISABLE_TESTS -n !/test_udp_recvfrom_nonblock/" + make check TESTS="-v $DISABLE_TESTS" %post libs -p /sbin/ldconfig ```
I should probably mention the kernel version I am using: $ uname -a Linux unused-4-132.brq.redhat.com 4.7.0-2.fc26.x86_64 #1 SMP Wed Jul 27 13:39:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ rpm -q kernel kernel-4.5.0-1.fc25.x86_64 kernel-4.6.0-1.fc25.x86_64 kernel-4.7.0-2.fc26.x86_64
I'm seeing the same behavior and am doing a kernel bisect. The 4.7.2 update is going to be filed in bodhi for more system wide testing. We'll see what happens from there.
commit e6afc8ace6dd5cef5e812f26c72579da8806f5ac Author: samanthakumar <samanthakumar> Date: Tue Apr 5 12:41:15 2016 -0400 udp: remove headers from UDP packets before queueing Remove UDP transport headers before queueing packets for reception. This change simplifies a follow-up patch to add MSG_PEEK support. Signed-off-by: Sam Kumar <samanthakumar> Signed-off-by: Willem de Bruijn <willemb> Signed-off-by: David S. Miller <davem> This seems to be the bad commit. Going to follow up with networking folks.
Networking maintainers gave a fix. I applied it to the appropriate branches so it should get picked up the next time we do a build. 4.7.2-100 and 4.7.2-200 do not have the fix though.
(In reply to Laura Abbott from comment #8) Good news. Thank you Laura for analysis and pushing this forward.
kernel-4.7.2-201.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-2e5ebfed6d
kernel-4.7.2-101.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f1adaaadc6
kernel-4.7.2-201.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-2e5ebfed6d
kernel-4.7.2-101.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f1adaaadc6
kernel-4.7.2-201.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
kernel-4.7.2-101.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.