You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reenable the Cygwin build test when Cygwin support Python 3.12 #26247
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.
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).
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.
Activity
DWesl commentedon Mar 5, 2025
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 frompthread_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 throughpthread_exitwith 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).
DWesl commentedon Jun 27, 2025
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.