sagemath / cysignals

cysignals: interrupt and signal handling for Cython. Source repository for https://pypi.org/project/cysignals/
GNU Lesser General Public License v3.0
44 stars 23 forks source link

OS X + Python 3.7.3: make check fails #118

Closed jhpalmieri closed 2 years ago

jhpalmieri commented 4 years ago

This looks an awful lot like #71, but that was supposed to have been fixed. With SageMath 9.0beta5 (built with Python 3.7.3), OS X 10.14.6, Xcode 11.2.1, the cysignals 1.10.2 test suite fails:

ulimit 2>/dev/null -s 1024; sage-python23 -B rundoctests.py src/cysignals/*.pyx
cd example && sage-python23 setup.py clean build
Doctesting 5 files.
Traceback (most recent call last):
  File "rundoctests.py", line 74, in <module>
    resource.setrlimit(resource.RLIMIT_STACK, (stacksize, stacksize))
ValueError: current limit exceeds maximum limit
make[2]: *** [check-doctest] Error 1
make[2]: *** Waiting for unfinished jobs....

If I comment out the line (presumably a bad idea?)

resource.setrlimit(resource.RLIMIT_STACK, (stacksize, stacksize))

in rundoctests.py, tests pass.

I thought this might be related to https://bugs.python.org/issue34602, but upgrading to Python 3.7.5 did not fix the problem. Within Python itself:

$ ./sage --python
Python 3.7.5 (default, Nov 15 2019, 14:45:00) 
[Clang 11.0.0 (clang-1100.0.33.12)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import resource
>>> stacksize = 1 << 20
>>> resource.setrlimit(resource.RLIMIT_STACK, (stacksize, stacksize))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: current limit exceeds maximum limit

So apparently cysignals should not use this code in Python 3 on OS X.