Hello.
On Monday I observed that the Fedora 37 and 36 Python CI tests on the Testing
farm fail.
https://lists.fedoraproject.org/archives/list/ci@xxxxxxxxxxxxxxxxxxxxxxx/thread/YOXVRWJNJMNSTUG6O43KE4K6Q57GV7DR/
The same tests work on Rawhide and worked on Fedora 37/36 previously --
unfortunately this could have been a while ago, maybe even couple weeks, due to
the holidays.
See https://src.fedoraproject.org/rpms/python3.11/pull-request/99
The test failures look like this:
======================================================================
FAIL: test_bind (test.test_asyncore.TestAPI_UseIPv4Poll.test_bind)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.11/test/test_asyncore.py", line 752, in test_bind
self.assertRaises(OSError, s2.bind, (self.addr[0], port))
AssertionError: OSError not raised by bind
======================================================================
FAIL: test_bind (test.test_asyncore.TestAPI_UseIPv6Select.test_bind)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.11/test/test_asyncore.py", line 752, in test_bind
self.assertRaises(OSError, s2.bind, (self.addr[0], port))
AssertionError: OSError not raised by bind
All the failed tests are related to either multiprocessing or asyncio.
All of them are either:
AssertionError: OSError not raised by bind
Or:
AssertionError: OSError not raised by Listener
The same tests pass during the Koji build when the package builds.
The kernel in F37 Koji is 6.0.10.
The kernel on the F37 Testing Farm is 6.0.16.
I've checked and all the failing tests basically do:
- bind a socket
- bind it again (and assert failure, which fails)
Petr Viktorin found out that SO_REUSEPORT socket option exists which when
enabled might cause the assertions to fail.
But that should not be possible to set from outside of the process.
https://lwn.net/Articles/542629/
I've installed kernel 6.0.16-300.fc37.x86_64 and I can reproduce this with e.g.:
$ sudo dnf install python3-test
$ python3 -m test -v test_asyncore
Same with 6.0.18-300.fc37.x86_64.
I cannot reproduce this with Rawhide's
6.2.0-0.rc2.20230105git41c03ba9beea.20.fc38.x86_64.
Is this a bug that needs to be fixed or do the tests need to be changed not to
assert this?
The fact that 6.2.0 makes this go away makes me think this is a kernel bug but
I am not sure.
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue