Staging
v0.5.1
https://github.com/python/cpython
Revision 782854f90ad5f73f787f68693d535f2b05514e13 authored by Miss Islington (bot) on 02 July 2019, 07:48:59 UTC, committed by Ned Deily on 02 July 2019, 07:48:59 UTC
Under some conditions the earlier fix for bpo-18075, "Infinite recursion
tests triggering a segfault on Mac OS X", now causes failures on macOS
when attempting to change stack limit with resource.setrlimit
resource.RLIMIT_STACK, like regrtest does when running the test suite.
The reverted change had specified a non-default stack size when linking
the python executable on macOS.  As of macOS 10.14.4, the previous
code causes a hard failure when running tests, although similar
failures had been seen under some conditions under some earlier
systems.  Reverting the change to the interpreter stack size at link
time helped for release builds but caused some tests to fail when
built --with-pydebug.  Try the opposite approach: continue to build
the interpreter with an increased stack size on macOS and remove
the failing setrlimit call in regrtest initialization.  This will
definitely avoid the resource.RLIMIT_STACK error and should have
no, or fewer, side effects.
(cherry picked from commit 5bbbc733e6cc0804f19b071944af8d4719e26ae6)

Co-authored-by: Ned Deily <nad@python.org>
1 parent 29d6905
Raw File
Tip revision: 782854f90ad5f73f787f68693d535f2b05514e13 authored by Miss Islington (bot) on 02 July 2019, 07:48:59 UTC
bpo-34602: Avoid failures setting macOS stack resource limit (GH-14546) (GH-14549)
Tip revision: 782854f
dllbase_nt.txt
In Win32, DLL's are "pre-linked" using a specified base address.
When the DLL is loaded, an attempt is made to place it at
that address.  If that address is already in use, a new base address
is selected, and the DLL subject to fixups.  Apparently, these
fixups are very slow, and significant performance gains can be
made by selecting a good base address.

This document is to allocate base addresses to core Python
and Python .PYD files, to give a better change of optimal performance.
This base address is passed to the linker using the /BASE
command line switch.


Python.exe/Pythonw.exe     - 1d000000 - 1e000000 (-1)
Python.dll                 - 1e000000 - 1e100000 (-1)

Standard Extension Modules 1e100000 - 1e200000  ""
 - _symtable                 1e100000 - 1e110000    pyd removed in 2.4
 - bsddb                     1e180000 - 1e188000    pyd removed in 3.0
 - _tkinter                  1e190000 - 1e1A0000
 - parser                    1e1A0000 - 1e1B0000    pyd removed in 2.4
 - zlib                      1e1B0000 - 1e1C0000
 - winreg                    1e1C0000 - 1e1D0000    pyd removed in 2.4
 - _socket                   1e1D0000 - 1e1E0000
 - _sre                      1e1E0000 - 1e1F0000    pyd removed in 2.4
 - mmap                      1e1F0000 - 1e1FFFFF    pyd removed in 2.4

More standard extensions 1D100000 - 1e000000
 - pyexpat                   1D100000 - 1D110000
 - select                    1D110000 - 1D120000
 - unicodedata               1D120000 - 1D160000
 - winsound                  1D160000 - 1D170000
 - bZ2                       1D170000 - 1D180000
 - datetime                  1D180000 - 1D190000    pyd removed in 2.4
 - _csv                      1D190000 - 1D1A0000    pyd removed in 2.4
 - _ctypes                   1D1A0000 - 1D1B0000

Other extension modules
 - win32api                  1e200000 - 1e220000
 - win32ras                  1e220000 - 1e230000
 - win32lz                   1e230000 - 1e240000
 - timer                     1e240000 - 1e250000
 - mmapfile                  1e250000 - 1e260000
 - win32pipe                 1e260000 - 1e270000
 - avl                       1e270000 - 1e270000
 - dbhash                    1e280000 - 1e290000
 - win32net                  1e290000 - 1e2A0000
 - win32security             1e2A0000 - 1e2B0000
 - win32print                1e2B0000 - 1e2c0000
 - <unused>                  1e2d0000 - 1e2e0000
 - win32gui                  1e2e0000 - 1e2f0000
 - _imaging                  1e2f0000 - 1e300000
 - multiarray                1e300000 - 1e310000
 - win32help                 1e310000 - 1e320000
 - win32clipboard            1e320000 - 1e330000
 - win2kras                  1e330000 - 1e340000
 - pythoncom                 1e340000 - 1e400000
 - win32ui                   1e400000 - 1e500000
 - win32uiole                1e500000 - 1e600000
 - pywintypes                1e600000 - 1e700000
 - win32process              1e700000 - 1e800000
 - odbc                      1e710000 - 1e720000
 - dbi                       1e720000 - 1e730000
 - win32file                 1e730000 - 1e740000
 - win32wnet                 1e740000 - 1e750000
 - win32com.shell            1e750000 - 1e760000
 - win32com.internet         1e760000 - 1e770000
 - win32com.exchange         1e770000 - 1e780000
 - win32com.exchdapi         1e780000 - 1e790000
 - win32com.axscript         1e790000 - 1e7a0000
 - win32com.axdebug          1e7b0000 - 1e7c0000
 - win32com.adsi             1e7f0000 - 1e800000
 - win32event                1e810000 - 1e820000
 - win32evtlog               1e820000 - 1e830000
 - win32com.axcontrol        1e830000 - 1e840000


back to top