Re: F37 kernel 6.0.16/6.0.18 breaking Python tests: Allows to bind a socket twice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 11, 2023 at 6:53 AM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
>
> 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.

This does seem a bug. The big question, is does 6.1 make it go away?
kernel-6.1.4-200.fc37 is available in koji. The 6.0 series is end of
support for Fedora, and I expect 6.1.5 to be available as an update
this week.

Thanks,
Justin


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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux