Stefan Krah <[email protected]> added the comment:
Thank you, David!
Now that I can test on AIX, I can confirm that the data limit is the
culprit:
libmpdec deliberately calls malloc(52631578947368422ULL) in the
maxprec tests, which is supposed to fail, but succeeds.
However, instead of freezing the machine, the process gets a proper
SIGKILL almost instantly.
As I suggested earlier, using -bmaxdata prevents this from happening
and the test passes.
./configure CC=xlc AR="ar -X64" CFLAGS="-q64 -qmaxmem=70000 -qlanglvl=extc99
-qcpluscmt -qkeyword=inline -qalias=ansi -qthreaded -D_THREAD_SAFE
-D__VACPP_MULTI__" LDFLAGS="-L/usr/lib64 -q64 -Wl,-bmaxdata:0x800000000"
I have not figured out a similar gcc option yet, but only searched for 5 min.
The question now is: Since this is expected behavior on AIX, and xlc (and
probably
gcc as well) have limit command line switches, do we need to disable the test?
I tried to set rlimit in the test, which works on Linux but is broken on AIX:
test test_decimal failed -- Traceback (most recent call last):
File "/home/skrah/cpython/Lib/test/test_decimal.py", line 5684, in
test_maxcontext_exact_arith
resource.setrlimit(resource.RLIMIT_DATA, (8000000, hardlimit))
OSError: [Errno 14] Bad address
So disabling the test would be the best option, unless we want to educate users
about -bmaxdata.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com