python*: set thread stack size on musl
Ensure recursion limit is reached before stack overflow. Python does this for OSX and BSD: https://github.com/python/cpython/blob/13ff24582c99dfb439b1af7295b401415e7eb05b/Python/thread_pthread.h#L22 Size of 1MB chosen to match value in Alpine: https://git.alpinelinux.org/cgit/aports/commit/main/python2/APKBUILD?id=2f35283fec8ec451fe5fb477dd32ffdcc0776e89 Manual testing via Alpine's test-stacksize.py crashes on these previously, and works with these changes.
This commit is contained in:
@@ -176,7 +176,8 @@ in stdenv.mkDerivation {
|
||||
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
|
||||
inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
|
||||
|
||||
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
|
||||
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"
|
||||
+ optionalString hostPlatform.isMusl " -DTHREAD_STACK_SIZE=0x100000";
|
||||
DETERMINISTIC_BUILD = 1;
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
Reference in New Issue
Block a user