Bug 1365940 - [ruby] Problem to send empty UDP packet
Summary: [ruby] Problem to send empty UDP packet
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: All
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: PPCTracker F-ExcludeArch-ppc64le, PPC64LETracker
TreeView+ depends on / blocked
 
Reported: 2016-08-10 14:37 UTC by Rafael Fonseca
Modified: 2016-09-02 23:19 UTC (History)
16 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2016-09-02 20:52:05 UTC


Attachments (Terms of Use)

Description Rafael Fonseca 2016-08-10 14:37:36 UTC
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.

Comment 1 Vít Ondruch 2016-08-16 06:32:06 UTC
It seems to be issue on my x86_64 as well ...

Comment 2 Vít Ondruch 2016-08-16 07:12:55 UTC
Reassigning to Kernel, since this is Kernel regression IMO.

Comment 3 Vít Ondruch 2016-08-16 07:21:58 UTC
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.

Comment 4 Vít Ondruch 2016-08-16 07:43:28 UTC
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
```

Comment 5 Vít Ondruch 2016-08-17 08:17:57 UTC
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

Comment 6 Laura Abbott 2016-08-23 16:05:47 UTC
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.

Comment 7 Laura Abbott 2016-08-23 17:20:04 UTC
commit e6afc8ace6dd5cef5e812f26c72579da8806f5ac
Author: samanthakumar <samanthakumar@google.com>
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@google.com>
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>


This seems to be the bad commit. Going to follow up with networking folks.

Comment 8 Laura Abbott 2016-08-24 00:05:41 UTC
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.

Comment 9 Vít Ondruch 2016-08-24 13:20:42 UTC
(In reply to Laura Abbott from comment #8)
Good news. Thank you Laura for analysis and pushing this forward.

Comment 10 Fedora Update System 2016-08-29 16:20:00 UTC
kernel-4.7.2-201.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-2e5ebfed6d

Comment 11 Fedora Update System 2016-08-29 16:22:28 UTC
kernel-4.7.2-101.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f1adaaadc6

Comment 12 Fedora Update System 2016-08-31 12:58:08 UTC
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

Comment 13 Fedora Update System 2016-08-31 12:58:35 UTC
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

Comment 14 Fedora Update System 2016-09-02 20:50:52 UTC
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.

Comment 15 Fedora Update System 2016-09-02 23:19:26 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.