Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1365940

Summary: [ruby] Problem to send empty UDP packet
Product: [Fedora] Fedora Reporter: Rafael Fonseca <rdossant>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gansalmon, itamar, jonathan, kernel-maint, labbott, madhu.chinakonda, mchehab, mmorsi, mtasaka, pbrobinson, skumari, s, strzibny, tagoh, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-4.7.2-201.fc24 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-02 20:52:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1071880, 1051573    

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>
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.

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.