Skip to content

Reenable the Cygwin build test when Cygwin support Python 3.12 #26247

Open

Description

@charris

Cygwin currently supports Python 3.9, which we are dropping in Numpy 2.1, so the test has been disabled. The next Python Cygwin plans to support is 3.12, so wait until that release to reenable.

The test can be enabled by going to actions, selecting the cygwin action, and hitting the ... button to get the options.

Activity

  1. DWesl commented on Mar 5, 2025

    @DWesl
    Contributor

    Updates on progress: Cygwin now has a Python 3.12 test package, with corresponding NumPy 2.2 test package.

    The Python threading tests (python -m test.test_threading) fail somewhere in tear-down, in situations where they should be calling either a thread-exit function or a process-exit function. My guess is that it's somehow skipping both, leading to a return from pthread_exit, which very shortly leads to a segfault when it runs out of stack. I have not managed to reproduce this in C, and will likely step through pthread_exit with gdb when I have a bit of time to see how it returns.

    DWesl#68 tries to run the NumPy tests anyway, and fails (usually in tests that check threading).

  2. DWesl commented on Jun 27, 2025

    @DWesl
    Contributor

    Right, so the tear-down test fails were due to OpenSSL hoping pthreads would still be set up during process shutdown. The new test release fixed that problem, though there are still other problems, at least one of which was around for the 3.9 release. There is at least one other problem that is causing the tests to abort silently.

    I am tempted to disable the actual testing step of the Cygwin workflow and turn on just the compilation step to catch situations where people include standard library headers before Python.h. I'll have a PR for the most recent header mix-up up soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions