Stefan Krah <ste...@bytereef.org> 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 <rep...@bugs.python.org> <https://bugs.python.org/issue41540> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com