python / cpython

The Python programming language
https://www.python.org
Other
63.88k stars 30.57k forks source link

test_embed fails if Python is built with LTO and LLVM clang on macOS #110313

Closed debohman closed 1 year ago

debohman commented 1 year ago

Bug report

Bug description:

# Next, run the profile task to generate the profile information.
LLVM_PROFILE_FILE="code-%p.profclangr"  ./python.exe -m test --pgo --timeout=
Raised RLIMIT_NOFILE: 256 -> 1024
0:00:00 load avg: 3.49 Run 44 tests sequentially
0:00:00 load avg: 3.49 [ 1/44] test_array
0:00:01 load avg: 3.49 [ 2/44] test_base64
0:00:01 load avg: 3.49 [ 3/44] test_binascii -- test_base64 failed (env changed)
0:00:01 load avg: 3.49 [ 4/44] test_binop
0:00:01 load avg: 3.49 [ 5/44] test_bisect
0:00:01 load avg: 3.49 [ 6/44] test_bytes
0:00:05 load avg: 3.37 [ 7/44] test_bz2 -- test_bytes failed (env changed)
0:00:07 load avg: 3.37 [ 8/44] test_cmath
0:00:07 load avg: 3.34 [ 9/44] test_codecs
0:00:09 load avg: 3.34 [10/44] test_collections
0:00:10 load avg: 3.34 [11/44] test_complex
0:00:10 load avg: 3.34 [12/44] test_dataclasses
0:00:11 load avg: 3.34 [13/44] test_datetime
0:00:16 load avg: 3.39 [14/44] test_decimal
-------------------------------------------------------- NOTICE --------------------------------------------------------
test_decimal may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing.
See https://github.com/python/cpython/issues/85100
------------------------------------------------------------------------------------------------------------------------
./Modules/_decimal/libmpdec/context.c:57: warning: mpd_setminalloc: ignoring request to set MPD_MINALLOC a second time

python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
0:00:22 load avg: 3.28 [15/44] test_difflib
0:00:23 load avg: 3.10 [16/44] test_embed
test test_embed failed
0:00:28 load avg: 3.17 [17/44] test_float -- test_embed failed (41 failures)
0:00:28 load avg: 3.17 [18/44] test_fstring
0:00:31 load avg: 3.17 [19/44] test_functools
./Modules/_decimal/libmpdec/context.c:57: warning: mpd_setminalloc: ignoring request to set MPD_MINALLOC a second time

0:00:31 load avg: 3.17 [20/44] test_generators
0:00:32 load avg: 3.17 [21/44] test_hashlib
0:00:33 load avg: 3.08 [22/44] test_heapq
0:00:34 load avg: 3.08 [23/44] test_int
0:00:34 load avg: 3.08 [24/44] test_itertools
0:00:38 load avg: 2.99 [25/44] test_json
0:00:41 load avg: 2.99 [26/44] test_long -- test_json failed (env changed)
0:00:44 load avg: 2.83 [27/44] test_lzma
0:00:45 load avg: 2.83 [28/44] test_math
0:00:48 load avg: 2.84 [29/44] test_memoryview
0:00:49 load avg: 2.84 [30/44] test_operator
0:00:49 load avg: 2.84 [31/44] test_ordered_dict
0:00:51 load avg: 2.84 [32/44] test_patma
0:00:51 load avg: 2.84 [33/44] test_pickle
0:00:58 load avg: 2.63 [34/44] test_pprint
0:00:58 load avg: 2.63 [35/44] test_re
0:01:00 load avg: 2.63 [36/44] test_set -- test_re failed (env changed)
0:01:05 load avg: 2.50 [37/44] test_sqlite3
0:01:06 load avg: 2.50 [38/44] test_statistics -- test_sqlite3 failed (env changed)
0:01:08 load avg: 2.38 [39/44] test_str
0:01:11 load avg: 2.38 [40/44] test_struct -- test_str failed (env changed)
0:01:12 load avg: 2.38 [41/44] test_tabnanny -- test_struct failed (env changed)
0:01:13 load avg: 2.51 [42/44] test_time -- test_tabnanny failed (env changed)
0:01:15 load avg: 2.51 [43/44] test_xml_etree
0:01:16 load avg: 2.51 [44/44] test_xml_etree_c

Total duration: 1 min 18 sec
Total tests: run=8,985 failures=41 skipped=192
Total test files: run=44/44 failed=1 env_changed=8
Result: FAILURE
make: *** [Makefile:800: profile-run-stamp] Error 2

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Linked PRs

debohman commented 1 year ago
% git describe
v3.12.0b1-1940-g77e9aae3837
debohman commented 1 year ago

Building Python 3.12.0 on the same system with the same toolchain results in the following:

0:00:24 load avg: 3.35 [16/44] test_embed
0:00:32 load avg: 3.17 [17/44] test_float -- test_embed failed (env changed)

I assume that this is not a fatal error?

mdboom commented 1 year ago

We are running into this bug on the CPython benchmarking infrastructure, too. git bisect says the first bad commit is 6ab6040054e5ca2d3eb7833dc8bf4eb0bbaa0aac.

vstinner commented 1 year ago

Does test_decimal fail if you run it alone? How did you built Python?

debohman commented 1 year ago

Here is the result of running test_embed by hand:

``` % python.exe Lib/test/test_embed.py .....................--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', 'import dis\nimport importlib._bootstrap\nimport opcode\nimport test.test_dis\n\ndef is_specialized(f):\n for instruction in dis.get_instructions(f, adaptive=True):\n opname = instruction.opname\n if (\n opname in opcode._specialized_opmap\n # Exclude superinstructions:\n and "__" not in opname\n ):\n return True\n return False\n\nfunc = importlib._bootstrap._handle_fromlist\n\n# "copy" the code to un-specialize it:\nfunc.__code__ = func.__code__.replace()\n\nassert not is_specialized(func), "specialized instructions found"\n\nfor i in range(test.test_dis.ADAPTIVE_WARMUP_DELAY):\n func(importlib._bootstrap, ["x"], lambda *args: None)\n\nassert is_specialized(func), "no specialized instructions found"\n\nprint("Tests passed")\n'] failed --- stdout: stderr: --- Loop #1 --- Traceback (most recent call last): File "", line 1, in File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in from opcode import * File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in import _opcode ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so Expected in: flat namespace in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so ------ F...--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', "print('\\N{digit nine}')"] failed --- stdout: stderr: --- Loop #1 --- File "", line 1 print('\N{digit nine}') ^^^^^^^^^^^^^^^^ SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module) ------ F.s.FFFFFFFFFFFFF--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_init_main'] failed --- stdout: stderr: Run Python code before _Py_InitializeMain Traceback (most recent call last): File "", line 1, in ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so Expected in: flat namespace in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ------ FFFFsFFFs--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_init_run_main'] failed --- stdout: stderr: Traceback (most recent call last): File "", line 1, in ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so Expected in: flat namespace in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ------ FFFFFFFFFFFFFFFFFF--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_frozenmain'] failed --- stdout: stderr: Traceback (most recent call last): File "test_frozenmain.py", line 5, in ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so Expected in: flat namespace in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ------ Fs..... ====================================================================== FAIL: test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE (__main__.EmbeddingTests.test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 384, in test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE out, err = run("test_repeated_init_exec", code) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, AssertionError: 1 != 0 : bad returncode 1, stderr is '--- Loop #1 ---\nTraceback (most recent call last):\n File "", line 1, in \n File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in \n from opcode import *\n File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in \n import _opcode\nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError\n Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so\n Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so\n' ====================================================================== FAIL: test_ucnhash_capi_reset (__main__.EmbeddingTests.test_ucnhash_capi_reset) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 390, in test_ucnhash_capi_reset out, err = self.run_embedded_interpreter("test_repeated_init_exec", code) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, AssertionError: 1 != 0 : bad returncode 1, stderr is '--- Loop #1 ---\n File "", line 1\n print(\'\\N{digit nine}\')\n ^^^^^^^^^^^^^^^^\nSyntaxError: (unicode error) \\N escapes not supported (can\'t load unicodedata module)\n' ====================================================================== FAIL: test_init_compat_config (__main__.InitConfigTests.test_init_compat_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 814, in test_init_compat_config self.check_all_configs("test_init_compat_config", api=API_COMPAT) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_compat_env (__main__.InitConfigTests.test_init_compat_env) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 936, in test_init_compat_env self.check_all_configs("test_init_compat_env", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_default_config (__main__.InitConfigTests.test_init_default_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 808, in test_init_default_config self.check_all_configs("test_init_initialize_config", api=API_COMPAT) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_dev_mode (__main__.InitConfigTests.test_init_dev_mode) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 999, in test_init_dev_mode self.check_all_configs("test_init_dev_mode", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_dont_configure_locale (__main__.InitConfigTests.test_init_dont_configure_locale) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1086, in test_init_dont_configure_locale self.check_all_configs("test_init_dont_configure_locale", {}, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_dont_parse_argv (__main__.InitConfigTests.test_init_dont_parse_argv) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1176, in test_init_dont_parse_argv self.check_all_configs("test_init_dont_parse_argv", config, pre_config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_env_dev_mode (__main__.InitConfigTests.test_init_env_dev_mode) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 979, in test_init_env_dev_mode self.check_all_configs("test_init_env_dev_mode", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_env_dev_mode_alloc (__main__.InitConfigTests.test_init_env_dev_mode_alloc) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 987, in test_init_env_dev_mode_alloc self.check_all_configs("test_init_env_dev_mode_alloc", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_from_config (__main__.InitConfigTests.test_init_from_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 902, in test_init_from_config self.check_all_configs("test_init_from_config", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_global_config (__main__.InitConfigTests.test_init_global_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 836, in test_init_global_config self.check_all_configs("test_init_global_config", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_is_python_build_with_home (__main__.InitConfigTests.test_init_is_python_build_with_home) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1371, in test_init_is_python_build_with_home self.check_all_configs("test_init_is_python_build", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_isolated_config (__main__.InitConfigTests.test_init_isolated_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1072, in test_init_isolated_config self.check_all_configs("test_init_isolated_config", api=API_ISOLATED) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_isolated_flag (__main__.InitConfigTests.test_init_isolated_flag) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1046, in test_init_isolated_flag self.check_all_configs("test_init_isolated_flag", config, api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_main (__main__.InitConfigTests.test_init_main) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1151, in test_init_main self.check_all_configs("test_init_main", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 791, in check_all_configs out, err = self.run_embedded_interpreter(testname, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, AssertionError: 1 != 0 : bad returncode 1, stderr is 'Run Python code before _Py_InitializeMain\nTraceback (most recent call last):\n File "", line 1, in \nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n' ====================================================================== FAIL: test_init_main_interpreter_settings (__main__.InitConfigTests.test_init_main_interpreter_settings) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1684, in test_init_main_interpreter_settings self.assertEqual(err, '') AssertionError: 'Traceback (most recent call last):\n Fil[486 chars]so\n' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_parse_argv (__main__.InitConfigTests.test_init_parse_argv) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1164, in test_init_parse_argv self.check_all_configs("test_init_parse_argv", config, api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_pybuilddir (__main__.InitConfigTests.test_init_pybuilddir) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1430, in test_init_pybuilddir self.check_all_configs("test_init_compat_config", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_python_config (__main__.InitConfigTests.test_init_python_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1078, in test_init_python_config self.check_all_configs("test_init_python_config", api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_python_env (__main__.InitConfigTests.test_init_python_env) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 971, in test_init_python_env self.check_all_configs("test_init_python_env", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_pyvenv_cfg (__main__.InitConfigTests.test_init_pyvenv_cfg) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1534, in test_init_pyvenv_cfg self.check_all_configs("test_init_compat_config", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_run_main (__main__.InitConfigTests.test_init_run_main) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1135, in test_init_run_main self.check_all_configs("test_init_run_main", config, api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 791, in check_all_configs out, err = self.run_embedded_interpreter(testname, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, AssertionError: 1 != 0 : bad returncode 1, stderr is 'Traceback (most recent call last):\n File "", line 1, in \nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n' ====================================================================== FAIL: test_init_set_config (__main__.InitConfigTests.test_init_set_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1637, in test_init_set_config self.check_all_configs("test_init_set_config", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_setpath (__main__.InitConfigTests.test_init_setpath) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1213, in test_init_setpath self.check_all_configs("test_init_setpath", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_setpath_config (__main__.InitConfigTests.test_init_setpath_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs configs = json.loads(out) ^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1239, in test_init_setpath_config self.check_all_configs("test_init_setpath_config", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs self.fail(f"fail to decode stdout: {out!r}") AssertionError: fail to decode stdout: '' ====================================================================== FAIL: test_init_setpythonhome (__main__.InitConfigTests.test_init_setpythonhome) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1327, in test_init_setpythonhome self.check_all_configs("test_init_setpythonhome", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_sys_add (__main__.InitConfigTests.test_init_sys_add) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1122, in test_init_sys_add self.check_all_configs("test_init_sys_add", config, api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) [''] ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules self.check_all_configs("test_init_use_frozen_modules", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['='] ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules self.check_all_configs("test_init_use_frozen_modules", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['=on'] ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules self.check_all_configs("test_init_use_frozen_modules", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['=off'] ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules self.check_all_configs("test_init_use_frozen_modules", config, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_init_warnoptions (__main__.InitConfigTests.test_init_warnoptions) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1628, in test_init_warnoptions self.check_all_configs("test_init_warnoptions", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_compat_config (__main__.InitConfigTests.test_preinit_compat_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 811, in test_preinit_compat_config self.check_all_configs("test_preinit_compat_config", api=API_COMPAT) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_dont_parse_argv (__main__.InitConfigTests.test_preinit_dont_parse_argv) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1036, in test_preinit_dont_parse_argv self.check_all_configs("test_preinit_dont_parse_argv", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_isolated1 (__main__.InitConfigTests.test_preinit_isolated1) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1056, in test_preinit_isolated1 self.check_all_configs("test_preinit_isolated1", config, api=API_COMPAT) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_isolated2 (__main__.InitConfigTests.test_preinit_isolated2) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1066, in test_preinit_isolated2 self.check_all_configs("test_preinit_isolated2", config, api=API_COMPAT) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_isolated_config (__main__.InitConfigTests.test_preinit_isolated_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1069, in test_preinit_isolated_config self.check_all_configs("test_preinit_isolated_config", api=API_ISOLATED) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_parse_argv (__main__.InitConfigTests.test_preinit_parse_argv) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1018, in test_preinit_parse_argv self.check_all_configs("test_preinit_parse_argv", config, preconfig, File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_preinit_python_config (__main__.InitConfigTests.test_preinit_python_config) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1075, in test_preinit_python_config self.check_all_configs("test_preinit_python_config", api=API_PYTHON) File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs self.assertEqual(err.rstrip(), stderr) AssertionError: 'Traceback (most recent call last):\n Fil[484 chars]n.so' != '' - Traceback (most recent call last): - File "", line 1, in - ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type - Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so - Expected in: flat namespace - in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so ====================================================================== FAIL: test_frozenmain (__main__.MiscTests.test_frozenmain) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1778, in test_frozenmain out, err = self.run_embedded_interpreter("test_frozenmain", env=env) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, AssertionError: 1 != 0 : bad returncode 1, stderr is 'Traceback (most recent call last):\n File "test_frozenmain.py", line 5, in \nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n' ---------------------------------------------------------------------- Ran 69 tests in 4.401s FAILED (failures=41, skipped=4) ```
debohman commented 1 year ago

And test_decimal:

``` % python.exe Lib/test/test_decimal.py -------------------------------------------------------- NOTICE -------------------------------------------------------- test_decimal may generate "malloc can't allocate region" warnings on macOS systems. This behavior is known. Do not report a bug unless tests are also failing. See https://github.com/python/cpython/issues/85100 ------------------------------------------------------------------------------------------------------------------------ test_addition (__main__.CArithmeticOperatorsTest.test_addition) ... ok test_copy_sign (__main__.CArithmeticOperatorsTest.test_copy_sign) ... ok test_division (__main__.CArithmeticOperatorsTest.test_division) ... ok test_floor_div_module (__main__.CArithmeticOperatorsTest.test_floor_div_module) ... ok test_floor_division (__main__.CArithmeticOperatorsTest.test_floor_division) ... ok test_module (__main__.CArithmeticOperatorsTest.test_module) ... ok test_multiplication (__main__.CArithmeticOperatorsTest.test_multiplication) ... ok test_nan_comparisons (__main__.CArithmeticOperatorsTest.test_nan_comparisons) ... ok test_powering (__main__.CArithmeticOperatorsTest.test_powering) ... ok test_subtraction (__main__.CArithmeticOperatorsTest.test_subtraction) ... ok test_unary_operators (__main__.CArithmeticOperatorsTest.test_unary_operators) ... ok test__clamp (__main__.CContextAPItests.test__clamp) ... ok test_abs (__main__.CContextAPItests.test_abs) ... ok test_add (__main__.CContextAPItests.test_add) ... ok test_compare (__main__.CContextAPItests.test_compare) ... ok test_compare_signal (__main__.CContextAPItests.test_compare_signal) ... ok test_compare_total (__main__.CContextAPItests.test_compare_total) ... ok test_compare_total_mag (__main__.CContextAPItests.test_compare_total_mag) ... ok test_copy (__main__.CContextAPItests.test_copy) ... ok test_copy_abs (__main__.CContextAPItests.test_copy_abs) ... ok test_copy_decimal (__main__.CContextAPItests.test_copy_decimal) ... ok test_copy_negate (__main__.CContextAPItests.test_copy_negate) ... ok test_copy_sign (__main__.CContextAPItests.test_copy_sign) ... ok test_divide (__main__.CContextAPItests.test_divide) ... ok test_divide_int (__main__.CContextAPItests.test_divide_int) ... ok test_divmod (__main__.CContextAPItests.test_divmod) ... ok test_equality_with_other_types (__main__.CContextAPItests.test_equality_with_other_types) ... ok test_exp (__main__.CContextAPItests.test_exp) ... ok test_fma (__main__.CContextAPItests.test_fma) ... ok test_is_finite (__main__.CContextAPItests.test_is_finite) ... ok test_is_infinite (__main__.CContextAPItests.test_is_infinite) ... ok test_is_nan (__main__.CContextAPItests.test_is_nan) ... ok test_is_normal (__main__.CContextAPItests.test_is_normal) ... ok test_is_qnan (__main__.CContextAPItests.test_is_qnan) ... ok test_is_signed (__main__.CContextAPItests.test_is_signed) ... ok test_is_snan (__main__.CContextAPItests.test_is_snan) ... ok test_is_subnormal (__main__.CContextAPItests.test_is_subnormal) ... ok test_is_zero (__main__.CContextAPItests.test_is_zero) ... ok test_ln (__main__.CContextAPItests.test_ln) ... ok test_log10 (__main__.CContextAPItests.test_log10) ... ok test_logb (__main__.CContextAPItests.test_logb) ... ok test_logical_and (__main__.CContextAPItests.test_logical_and) ... ok test_logical_invert (__main__.CContextAPItests.test_logical_invert) ... ok test_logical_or (__main__.CContextAPItests.test_logical_or) ... ok test_logical_xor (__main__.CContextAPItests.test_logical_xor) ... ok test_max (__main__.CContextAPItests.test_max) ... ok test_max_mag (__main__.CContextAPItests.test_max_mag) ... ok test_min (__main__.CContextAPItests.test_min) ... ok test_min_mag (__main__.CContextAPItests.test_min_mag) ... ok test_minus (__main__.CContextAPItests.test_minus) ... ok test_multiply (__main__.CContextAPItests.test_multiply) ... ok test_next_minus (__main__.CContextAPItests.test_next_minus) ... ok test_next_plus (__main__.CContextAPItests.test_next_plus) ... ok test_next_toward (__main__.CContextAPItests.test_next_toward) ... ok test_none_args (__main__.CContextAPItests.test_none_args) ... ok test_normalize (__main__.CContextAPItests.test_normalize) ... ok test_number_class (__main__.CContextAPItests.test_number_class) ... ok test_pickle (__main__.CContextAPItests.test_pickle) ... ok test_plus (__main__.CContextAPItests.test_plus) ... ok test_power (__main__.CContextAPItests.test_power) ... ok test_quantize (__main__.CContextAPItests.test_quantize) ... ok test_remainder (__main__.CContextAPItests.test_remainder) ... ok test_remainder_near (__main__.CContextAPItests.test_remainder_near) ... ok test_rotate (__main__.CContextAPItests.test_rotate) ... ok test_same_quantum (__main__.CContextAPItests.test_same_quantum) ... ok test_scaleb (__main__.CContextAPItests.test_scaleb) ... ok test_shift (__main__.CContextAPItests.test_shift) ... ok test_sqrt (__main__.CContextAPItests.test_sqrt) ... ok test_subtract (__main__.CContextAPItests.test_subtract) ... ok test_to_eng_string (__main__.CContextAPItests.test_to_eng_string) ... ok test_to_integral_exact (__main__.CContextAPItests.test_to_integral_exact) ... ok test_to_integral_value (__main__.CContextAPItests.test_to_integral_value) ... ok test_to_sci_string (__main__.CContextAPItests.test_to_sci_string) ... ok test_flag_comparisons (__main__.CContextFlags.test_flag_comparisons) ... ok test_flags_irrelevant (__main__.CContextFlags.test_flags_irrelevant) ... ok test_float_comparison (__main__.CContextFlags.test_float_comparison) ... ok test_float_operation (__main__.CContextFlags.test_float_operation) ... ok test_float_operation_default (__main__.CContextFlags.test_float_operation_default) ... ok test_invalid_context (__main__.CContextInputValidation.test_invalid_context) ... ok test_context_subclassing (__main__.CContextSubclassing.test_context_subclassing) ... ok test_local_context_kwargs_does_not_overwrite_existing_argument (__main__.CContextWithStatement.test_local_context_kwargs_does_not_overwrite_existing_argument) ... ok test_localcontext (__main__.CContextWithStatement.test_localcontext) ... ok test_localcontext_kwargs (__main__.CContextWithStatement.test_localcontext_kwargs) ... ok test_localcontextarg (__main__.CContextWithStatement.test_localcontextarg) ... ok test_nested_with_statements (__main__.CContextWithStatement.test_nested_with_statements) ... ok test_with_statements_gc1 (__main__.CContextWithStatement.test_with_statements_gc1) ... ok test_with_statements_gc2 (__main__.CContextWithStatement.test_with_statements_gc2) ... ok test_with_statements_gc3 (__main__.CContextWithStatement.test_with_statements_gc3) ... ok test_adjusted (__main__.CCoverage.test_adjusted) ... ok test_canonical (__main__.CCoverage.test_canonical) ... ok test_context_repr (__main__.CCoverage.test_context_repr) ... ok test_copy (__main__.CCoverage.test_copy) ... ok test_create_decimal (__main__.CCoverage.test_create_decimal) ... ok test_divmod (__main__.CCoverage.test_divmod) ... ok test_implicit_context (__main__.CCoverage.test_implicit_context) ... ok test_int (__main__.CCoverage.test_int) ... ok test_power (__main__.CCoverage.test_power) ... ok test_quantize (__main__.CCoverage.test_quantize) ... ok test_radix (__main__.CCoverage.test_radix) ... ok test_rop (__main__.CCoverage.test_rop) ... ok test_round (__main__.CCoverage.test_round) ... ok test_explicit_context_create_decimal (__main__.CExplicitConstructionTest.test_explicit_context_create_decimal) ... ok test_explicit_context_create_from_float (__main__.CExplicitConstructionTest.test_explicit_context_create_from_float) ... ok test_explicit_empty (__main__.CExplicitConstructionTest.test_explicit_empty) ... ok test_explicit_from_Decimal (__main__.CExplicitConstructionTest.test_explicit_from_Decimal) ... ok test_explicit_from_None (__main__.CExplicitConstructionTest.test_explicit_from_None) ... ok test_explicit_from_bool (__main__.CExplicitConstructionTest.test_explicit_from_bool) ... ok test_explicit_from_float (__main__.CExplicitConstructionTest.test_explicit_from_float) ... ok test_explicit_from_int (__main__.CExplicitConstructionTest.test_explicit_from_int) ... ok test_explicit_from_list (__main__.CExplicitConstructionTest.test_explicit_from_list) ... ok test_explicit_from_string (__main__.CExplicitConstructionTest.test_explicit_from_string) ... ok test_explicit_from_tuples (__main__.CExplicitConstructionTest.test_explicit_from_tuples) ... ok test_unicode_digits (__main__.CExplicitConstructionTest.test_unicode_digits) ... ok test_decimal_from_float_argument_type (__main__.CFormatTest.test_decimal_from_float_argument_type) ... ok test_deprecated_N_format (__main__.CFormatTest.test_deprecated_N_format) ... ok test_formatting (__main__.CFormatTest.test_formatting) ... ok test_n_format (__main__.CFormatTest.test_n_format) ... ok test_negative_zero_bad_format (__main__.CFormatTest.test_negative_zero_bad_format) ... ok test_negative_zero_format_directed_rounding (__main__.CFormatTest.test_negative_zero_format_directed_rounding) ... ok test_wide_char_separator_decimal_point (__main__.CFormatTest.test_wide_char_separator_decimal_point) ... skipped "inappropriate decimal point separator ('.' not '\\u066b')" test_c_context (__main__.CFunctionality.test_c_context) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_c_ieee_context (__main__.CFunctionality.test_c_ieee_context) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_constants (__main__.CFunctionality.test_constants) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_implicit_from_Decimal (__main__.CImplicitConstructionTest.test_implicit_from_Decimal) ... ok test_implicit_from_None (__main__.CImplicitConstructionTest.test_implicit_from_None) ... ok test_implicit_from_float (__main__.CImplicitConstructionTest.test_implicit_from_float) ... ok test_implicit_from_int (__main__.CImplicitConstructionTest.test_implicit_from_int) ... ok test_implicit_from_string (__main__.CImplicitConstructionTest.test_implicit_from_string) ... ok test_rop (__main__.CImplicitConstructionTest.test_rop) ... ok test_abc (__main__.CPythonAPItests.test_abc) ... ok test_complex (__main__.CPythonAPItests.test_complex) ... ok test_create_decimal_from_float (__main__.CPythonAPItests.test_create_decimal_from_float) ... ok test_exception_hierarchy (__main__.CPythonAPItests.test_exception_hierarchy) ... ok test_from_float (__main__.CPythonAPItests.test_from_float) ... ok test_int (__main__.CPythonAPItests.test_int) ... ok test_named_parameters (__main__.CPythonAPItests.test_named_parameters) ... ok test_pickle (__main__.CPythonAPItests.test_pickle) ... ok test_quantize (__main__.CPythonAPItests.test_quantize) ... ok test_small_ints (__main__.CPythonAPItests.test_small_ints) ... ok test_trunc (__main__.CPythonAPItests.test_trunc) ... ok test_context_templates (__main__.CSpecialContexts.test_context_templates) ... ok test_default_context (__main__.CSpecialContexts.test_default_context) ... ok test_threading (__main__.CThreadingTest.test_threading) ... ok test_as_integer_ratio (__main__.CUsabilityTest.test_as_integer_ratio) ... ok test_as_nonzero (__main__.CUsabilityTest.test_as_nonzero) ... ok test_as_tuple (__main__.CUsabilityTest.test_as_tuple) ... ok test_comparison_operators (__main__.CUsabilityTest.test_comparison_operators) ... ok test_conversions_from_int (__main__.CUsabilityTest.test_conversions_from_int) ... ok test_copy_and_deepcopy_methods (__main__.CUsabilityTest.test_copy_and_deepcopy_methods) ... ok test_decimal_complex_comparison (__main__.CUsabilityTest.test_decimal_complex_comparison) ... ok test_decimal_float_comparison (__main__.CUsabilityTest.test_decimal_float_comparison) ... ok test_decimal_fraction_comparison (__main__.CUsabilityTest.test_decimal_fraction_comparison) ... ok test_eval_round_trip (__main__.CUsabilityTest.test_eval_round_trip) ... ok test_hash_method (__main__.CUsabilityTest.test_hash_method) ... ok test_hash_method_nan (__main__.CUsabilityTest.test_hash_method_nan) ... ok test_implicit_context (__main__.CUsabilityTest.test_implicit_context) ... ok test_min_and_max_methods (__main__.CUsabilityTest.test_min_and_max_methods) ... ok test_nan_to_float (__main__.CUsabilityTest.test_nan_to_float) ... ok test_none_args (__main__.CUsabilityTest.test_none_args) ... ok test_snan_to_float (__main__.CUsabilityTest.test_snan_to_float) ... ok test_subclassing (__main__.CUsabilityTest.test_subclassing) ... ok test_tonum_methods (__main__.CUsabilityTest.test_tonum_methods) ... ok test_tostring_methods (__main__.CUsabilityTest.test_tostring_methods) ... ok test_bignum (__main__.CWhitebox.test_bignum) ... ok test_c_context_errors (__main__.CWhitebox.test_c_context_errors) ... ok test_c_context_errors_extra (__main__.CWhitebox.test_c_context_errors_extra) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_c_context_repr (__main__.CWhitebox.test_c_context_repr) ... ok test_c_context_templates (__main__.CWhitebox.test_c_context_templates) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_c_disallow_instantiation (__main__.CWhitebox.test_c_disallow_instantiation) ... ok test_c_format (__main__.CWhitebox.test_c_format) ... ok test_c_funcs (__main__.CWhitebox.test_c_funcs) ... ok test_c_immutable_types (__main__.CWhitebox.test_c_immutable_types) ... ok test_c_input_restriction (__main__.CWhitebox.test_c_input_restriction) ... ok test_c_integral (__main__.CWhitebox.test_c_integral) ... ok test_c_round (__main__.CWhitebox.test_c_round) ... ok test_c_signal_dict (__main__.CWhitebox.test_c_signal_dict) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_c_signaldict_segfault (__main__.CWhitebox.test_c_signaldict_segfault) ... ok test_c_valid_context (__main__.CWhitebox.test_c_valid_context) ... ok test_c_valid_context_extra (__main__.CWhitebox.test_c_valid_context_extra) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY' test_exact_conversion (__main__.CWhitebox.test_exact_conversion) ... ok test_from_tuple (__main__.CWhitebox.test_from_tuple) ... ok test_internal_use_of_overridden_methods (__main__.CWhitebox.test_internal_use_of_overridden_methods) ... ok test_invalid_construction (__main__.CWhitebox.test_invalid_construction) ... ok test_invalid_override (__main__.CWhitebox.test_invalid_override) ... ok test_maxcontext_exact_arith (__main__.CWhitebox.test_maxcontext_exact_arith) ... python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug ok test_rounding_strings_interned (__main__.CWhitebox.test_rounding_strings_interned) ... ok test_sizeof (__main__.CWhitebox.test_sizeof) ... ok test_va_args_exceptions (__main__.CWhitebox.test_va_args_exceptions) ... ok test_context_attributes (__main__.CheckAttributes.test_context_attributes) ... ok test_decimal_attributes (__main__.CheckAttributes.test_decimal_attributes) ... ok test_module_attributes (__main__.CheckAttributes.test_module_attributes) ... ok test_addition (__main__.PyArithmeticOperatorsTest.test_addition) ... ok test_copy_sign (__main__.PyArithmeticOperatorsTest.test_copy_sign) ... ok test_division (__main__.PyArithmeticOperatorsTest.test_division) ... ok test_floor_div_module (__main__.PyArithmeticOperatorsTest.test_floor_div_module) ... ok test_floor_division (__main__.PyArithmeticOperatorsTest.test_floor_division) ... ok test_module (__main__.PyArithmeticOperatorsTest.test_module) ... ok test_multiplication (__main__.PyArithmeticOperatorsTest.test_multiplication) ... ok test_nan_comparisons (__main__.PyArithmeticOperatorsTest.test_nan_comparisons) ... ok test_powering (__main__.PyArithmeticOperatorsTest.test_powering) ... ok test_subtraction (__main__.PyArithmeticOperatorsTest.test_subtraction) ... ok test_unary_operators (__main__.PyArithmeticOperatorsTest.test_unary_operators) ... ok test__clamp (__main__.PyContextAPItests.test__clamp) ... ok test_abs (__main__.PyContextAPItests.test_abs) ... ok test_add (__main__.PyContextAPItests.test_add) ... ok test_compare (__main__.PyContextAPItests.test_compare) ... ok test_compare_signal (__main__.PyContextAPItests.test_compare_signal) ... ok test_compare_total (__main__.PyContextAPItests.test_compare_total) ... ok test_compare_total_mag (__main__.PyContextAPItests.test_compare_total_mag) ... ok test_copy (__main__.PyContextAPItests.test_copy) ... ok test_copy_abs (__main__.PyContextAPItests.test_copy_abs) ... ok test_copy_decimal (__main__.PyContextAPItests.test_copy_decimal) ... ok test_copy_negate (__main__.PyContextAPItests.test_copy_negate) ... ok test_copy_sign (__main__.PyContextAPItests.test_copy_sign) ... ok test_divide (__main__.PyContextAPItests.test_divide) ... ok test_divide_int (__main__.PyContextAPItests.test_divide_int) ... ok test_divmod (__main__.PyContextAPItests.test_divmod) ... ok test_equality_with_other_types (__main__.PyContextAPItests.test_equality_with_other_types) ... ok test_exp (__main__.PyContextAPItests.test_exp) ... ok test_fma (__main__.PyContextAPItests.test_fma) ... ok test_is_finite (__main__.PyContextAPItests.test_is_finite) ... ok test_is_infinite (__main__.PyContextAPItests.test_is_infinite) ... ok test_is_nan (__main__.PyContextAPItests.test_is_nan) ... ok test_is_normal (__main__.PyContextAPItests.test_is_normal) ... ok test_is_qnan (__main__.PyContextAPItests.test_is_qnan) ... ok test_is_signed (__main__.PyContextAPItests.test_is_signed) ... ok test_is_snan (__main__.PyContextAPItests.test_is_snan) ... ok test_is_subnormal (__main__.PyContextAPItests.test_is_subnormal) ... ok test_is_zero (__main__.PyContextAPItests.test_is_zero) ... ok test_ln (__main__.PyContextAPItests.test_ln) ... ok test_log10 (__main__.PyContextAPItests.test_log10) ... ok test_logb (__main__.PyContextAPItests.test_logb) ... ok test_logical_and (__main__.PyContextAPItests.test_logical_and) ... ok test_logical_invert (__main__.PyContextAPItests.test_logical_invert) ... ok test_logical_or (__main__.PyContextAPItests.test_logical_or) ... ok test_logical_xor (__main__.PyContextAPItests.test_logical_xor) ... ok test_max (__main__.PyContextAPItests.test_max) ... ok test_max_mag (__main__.PyContextAPItests.test_max_mag) ... ok test_min (__main__.PyContextAPItests.test_min) ... ok test_min_mag (__main__.PyContextAPItests.test_min_mag) ... ok test_minus (__main__.PyContextAPItests.test_minus) ... ok test_multiply (__main__.PyContextAPItests.test_multiply) ... ok test_next_minus (__main__.PyContextAPItests.test_next_minus) ... ok test_next_plus (__main__.PyContextAPItests.test_next_plus) ... ok test_next_toward (__main__.PyContextAPItests.test_next_toward) ... ok test_none_args (__main__.PyContextAPItests.test_none_args) ... ok test_normalize (__main__.PyContextAPItests.test_normalize) ... ok test_number_class (__main__.PyContextAPItests.test_number_class) ... ok test_pickle (__main__.PyContextAPItests.test_pickle) ... ok test_plus (__main__.PyContextAPItests.test_plus) ... ok test_power (__main__.PyContextAPItests.test_power) ... ok test_quantize (__main__.PyContextAPItests.test_quantize) ... ok test_remainder (__main__.PyContextAPItests.test_remainder) ... ok test_remainder_near (__main__.PyContextAPItests.test_remainder_near) ... ok test_rotate (__main__.PyContextAPItests.test_rotate) ... ok test_same_quantum (__main__.PyContextAPItests.test_same_quantum) ... ok test_scaleb (__main__.PyContextAPItests.test_scaleb) ... ok test_shift (__main__.PyContextAPItests.test_shift) ... ok test_sqrt (__main__.PyContextAPItests.test_sqrt) ... ok test_subtract (__main__.PyContextAPItests.test_subtract) ... ok test_to_eng_string (__main__.PyContextAPItests.test_to_eng_string) ... ok test_to_integral_exact (__main__.PyContextAPItests.test_to_integral_exact) ... ok test_to_integral_value (__main__.PyContextAPItests.test_to_integral_value) ... ok test_to_sci_string (__main__.PyContextAPItests.test_to_sci_string) ... ok test_flag_comparisons (__main__.PyContextFlags.test_flag_comparisons) ... ok test_flags_irrelevant (__main__.PyContextFlags.test_flags_irrelevant) ... ok test_float_comparison (__main__.PyContextFlags.test_float_comparison) ... ok test_float_operation (__main__.PyContextFlags.test_float_operation) ... ok test_float_operation_default (__main__.PyContextFlags.test_float_operation_default) ... ok test_invalid_context (__main__.PyContextInputValidation.test_invalid_context) ... ok test_context_subclassing (__main__.PyContextSubclassing.test_context_subclassing) ... ok test_local_context_kwargs_does_not_overwrite_existing_argument (__main__.PyContextWithStatement.test_local_context_kwargs_does_not_overwrite_existing_argument) ... ok test_localcontext (__main__.PyContextWithStatement.test_localcontext) ... ok test_localcontext_kwargs (__main__.PyContextWithStatement.test_localcontext_kwargs) ... ok test_localcontextarg (__main__.PyContextWithStatement.test_localcontextarg) ... ok test_nested_with_statements (__main__.PyContextWithStatement.test_nested_with_statements) ... ok test_with_statements_gc1 (__main__.PyContextWithStatement.test_with_statements_gc1) ... ok test_with_statements_gc2 (__main__.PyContextWithStatement.test_with_statements_gc2) ... ok test_with_statements_gc3 (__main__.PyContextWithStatement.test_with_statements_gc3) ... ok test_adjusted (__main__.PyCoverage.test_adjusted) ... ok test_canonical (__main__.PyCoverage.test_canonical) ... ok test_context_repr (__main__.PyCoverage.test_context_repr) ... ok test_copy (__main__.PyCoverage.test_copy) ... ok test_create_decimal (__main__.PyCoverage.test_create_decimal) ... ok test_divmod (__main__.PyCoverage.test_divmod) ... ok test_implicit_context (__main__.PyCoverage.test_implicit_context) ... ok test_int (__main__.PyCoverage.test_int) ... ok test_power (__main__.PyCoverage.test_power) ... ok test_quantize (__main__.PyCoverage.test_quantize) ... ok test_radix (__main__.PyCoverage.test_radix) ... ok test_rop (__main__.PyCoverage.test_rop) ... ok test_round (__main__.PyCoverage.test_round) ... ok test_explicit_context_create_decimal (__main__.PyExplicitConstructionTest.test_explicit_context_create_decimal) ... ok test_explicit_context_create_from_float (__main__.PyExplicitConstructionTest.test_explicit_context_create_from_float) ... ok test_explicit_empty (__main__.PyExplicitConstructionTest.test_explicit_empty) ... ok test_explicit_from_Decimal (__main__.PyExplicitConstructionTest.test_explicit_from_Decimal) ... ok test_explicit_from_None (__main__.PyExplicitConstructionTest.test_explicit_from_None) ... ok test_explicit_from_bool (__main__.PyExplicitConstructionTest.test_explicit_from_bool) ... ok test_explicit_from_float (__main__.PyExplicitConstructionTest.test_explicit_from_float) ... ok test_explicit_from_int (__main__.PyExplicitConstructionTest.test_explicit_from_int) ... ok test_explicit_from_list (__main__.PyExplicitConstructionTest.test_explicit_from_list) ... ok test_explicit_from_string (__main__.PyExplicitConstructionTest.test_explicit_from_string) ... ok test_explicit_from_tuples (__main__.PyExplicitConstructionTest.test_explicit_from_tuples) ... ok test_unicode_digits (__main__.PyExplicitConstructionTest.test_unicode_digits) ... ok test_decimal_from_float_argument_type (__main__.PyFormatTest.test_decimal_from_float_argument_type) ... ok test_deprecated_N_format (__main__.PyFormatTest.test_deprecated_N_format) ... ok test_formatting (__main__.PyFormatTest.test_formatting) ... ok test_n_format (__main__.PyFormatTest.test_n_format) ... ok test_negative_zero_bad_format (__main__.PyFormatTest.test_negative_zero_bad_format) ... ok test_negative_zero_format_directed_rounding (__main__.PyFormatTest.test_negative_zero_format_directed_rounding) ... ok test_wide_char_separator_decimal_point (__main__.PyFormatTest.test_wide_char_separator_decimal_point) ... skipped "inappropriate decimal point separator ('.' not '\\u066b')" test_py_alternate_formatting (__main__.PyFunctionality.test_py_alternate_formatting) ... ok test_implicit_from_Decimal (__main__.PyImplicitConstructionTest.test_implicit_from_Decimal) ... ok test_implicit_from_None (__main__.PyImplicitConstructionTest.test_implicit_from_None) ... ok test_implicit_from_float (__main__.PyImplicitConstructionTest.test_implicit_from_float) ... ok test_implicit_from_int (__main__.PyImplicitConstructionTest.test_implicit_from_int) ... ok test_implicit_from_string (__main__.PyImplicitConstructionTest.test_implicit_from_string) ... ok test_rop (__main__.PyImplicitConstructionTest.test_rop) ... ok test_abc (__main__.PyPythonAPItests.test_abc) ... ok test_complex (__main__.PyPythonAPItests.test_complex) ... ok test_create_decimal_from_float (__main__.PyPythonAPItests.test_create_decimal_from_float) ... ok test_exception_hierarchy (__main__.PyPythonAPItests.test_exception_hierarchy) ... ok test_from_float (__main__.PyPythonAPItests.test_from_float) ... ok test_int (__main__.PyPythonAPItests.test_int) ... ok test_named_parameters (__main__.PyPythonAPItests.test_named_parameters) ... ok test_pickle (__main__.PyPythonAPItests.test_pickle) ... ok test_quantize (__main__.PyPythonAPItests.test_quantize) ... ok test_small_ints (__main__.PyPythonAPItests.test_small_ints) ... ok test_trunc (__main__.PyPythonAPItests.test_trunc) ... ok test_context_templates (__main__.PySpecialContexts.test_context_templates) ... ok test_default_context (__main__.PySpecialContexts.test_default_context) ... ok test_threading (__main__.PyThreadingTest.test_threading) ... ok test_as_integer_ratio (__main__.PyUsabilityTest.test_as_integer_ratio) ... ok test_as_nonzero (__main__.PyUsabilityTest.test_as_nonzero) ... ok test_as_tuple (__main__.PyUsabilityTest.test_as_tuple) ... ok test_comparison_operators (__main__.PyUsabilityTest.test_comparison_operators) ... ok test_conversions_from_int (__main__.PyUsabilityTest.test_conversions_from_int) ... ok test_copy_and_deepcopy_methods (__main__.PyUsabilityTest.test_copy_and_deepcopy_methods) ... ok test_decimal_complex_comparison (__main__.PyUsabilityTest.test_decimal_complex_comparison) ... ok test_decimal_float_comparison (__main__.PyUsabilityTest.test_decimal_float_comparison) ... ok test_decimal_fraction_comparison (__main__.PyUsabilityTest.test_decimal_fraction_comparison) ... ok test_eval_round_trip (__main__.PyUsabilityTest.test_eval_round_trip) ... ok test_hash_method (__main__.PyUsabilityTest.test_hash_method) ... ok test_hash_method_nan (__main__.PyUsabilityTest.test_hash_method_nan) ... ok test_implicit_context (__main__.PyUsabilityTest.test_implicit_context) ... ok test_min_and_max_methods (__main__.PyUsabilityTest.test_min_and_max_methods) ... ok test_nan_to_float (__main__.PyUsabilityTest.test_nan_to_float) ... ok test_none_args (__main__.PyUsabilityTest.test_none_args) ... ok test_snan_to_float (__main__.PyUsabilityTest.test_snan_to_float) ... ok test_subclassing (__main__.PyUsabilityTest.test_subclassing) ... ok test_tonum_methods (__main__.PyUsabilityTest.test_tonum_methods) ... ok test_tostring_methods (__main__.PyUsabilityTest.test_tostring_methods) ... ok test_py__round (__main__.PyWhitebox.test_py__round) ... ok test_py_decimal_id (__main__.PyWhitebox.test_py_decimal_id) ... ok test_py_exact_power (__main__.PyWhitebox.test_py_exact_power) ... ok test_py_immutability_operations (__main__.PyWhitebox.test_py_immutability_operations) ... ok test_py_rescale (__main__.PyWhitebox.test_py_rescale) ... ok test_inspect_module (__main__.SignatureTest.test_inspect_module) ... ok test_inspect_types (__main__.SignatureTest.test_inspect_types) ... ok test_abs (__main__.CIBMTestCases.test_abs) ... ok test_add (__main__.CIBMTestCases.test_add) ... ok test_and (__main__.CIBMTestCases.test_and) ... ok test_base (__main__.CIBMTestCases.test_base) ... ok test_clamp (__main__.CIBMTestCases.test_clamp) ... ok test_class (__main__.CIBMTestCases.test_class) ... ok test_compare (__main__.CIBMTestCases.test_compare) ... ok test_comparetotal (__main__.CIBMTestCases.test_comparetotal) ... ok test_comparetotmag (__main__.CIBMTestCases.test_comparetotmag) ... ok test_copy (__main__.CIBMTestCases.test_copy) ... ok test_copyabs (__main__.CIBMTestCases.test_copyabs) ... ok test_copynegate (__main__.CIBMTestCases.test_copynegate) ... ok test_copysign (__main__.CIBMTestCases.test_copysign) ... ok test_ddAbs (__main__.CIBMTestCases.test_ddAbs) ... ok test_ddAdd (__main__.CIBMTestCases.test_ddAdd) ... ok test_ddAnd (__main__.CIBMTestCases.test_ddAnd) ... ok test_ddBase (__main__.CIBMTestCases.test_ddBase) ... ok test_ddCanonical (__main__.CIBMTestCases.test_ddCanonical) ... ok test_ddClass (__main__.CIBMTestCases.test_ddClass) ... ok test_ddCompare (__main__.CIBMTestCases.test_ddCompare) ... ok test_ddCompareSig (__main__.CIBMTestCases.test_ddCompareSig) ... ok test_ddCompareTotal (__main__.CIBMTestCases.test_ddCompareTotal) ... ok test_ddCompareTotalMag (__main__.CIBMTestCases.test_ddCompareTotalMag) ... ok test_ddCopy (__main__.CIBMTestCases.test_ddCopy) ... ok test_ddCopyAbs (__main__.CIBMTestCases.test_ddCopyAbs) ... ok test_ddCopyNegate (__main__.CIBMTestCases.test_ddCopyNegate) ... ok test_ddCopySign (__main__.CIBMTestCases.test_ddCopySign) ... ok test_ddDivide (__main__.CIBMTestCases.test_ddDivide) ... ok test_ddDivideInt (__main__.CIBMTestCases.test_ddDivideInt) ... ok test_ddEncode (__main__.CIBMTestCases.test_ddEncode) ... ok test_ddFMA (__main__.CIBMTestCases.test_ddFMA) ... ok test_ddInvert (__main__.CIBMTestCases.test_ddInvert) ... ok test_ddLogB (__main__.CIBMTestCases.test_ddLogB) ... ok test_ddMax (__main__.CIBMTestCases.test_ddMax) ... ok test_ddMaxMag (__main__.CIBMTestCases.test_ddMaxMag) ... ok test_ddMin (__main__.CIBMTestCases.test_ddMin) ... ok test_ddMinMag (__main__.CIBMTestCases.test_ddMinMag) ... ok test_ddMinus (__main__.CIBMTestCases.test_ddMinus) ... ok test_ddMultiply (__main__.CIBMTestCases.test_ddMultiply) ... ok test_ddNextMinus (__main__.CIBMTestCases.test_ddNextMinus) ... ok test_ddNextPlus (__main__.CIBMTestCases.test_ddNextPlus) ... ok test_ddNextToward (__main__.CIBMTestCases.test_ddNextToward) ... ok test_ddOr (__main__.CIBMTestCases.test_ddOr) ... ok test_ddPlus (__main__.CIBMTestCases.test_ddPlus) ... ok test_ddQuantize (__main__.CIBMTestCases.test_ddQuantize) ... ok test_ddReduce (__main__.CIBMTestCases.test_ddReduce) ... ok test_ddRemainder (__main__.CIBMTestCases.test_ddRemainder) ... ok test_ddRemainderNear (__main__.CIBMTestCases.test_ddRemainderNear) ... ok test_ddRotate (__main__.CIBMTestCases.test_ddRotate) ... ok test_ddSameQuantum (__main__.CIBMTestCases.test_ddSameQuantum) ... ok test_ddScaleB (__main__.CIBMTestCases.test_ddScaleB) ... ok test_ddShift (__main__.CIBMTestCases.test_ddShift) ... ok test_ddSubtract (__main__.CIBMTestCases.test_ddSubtract) ... ok test_ddToIntegral (__main__.CIBMTestCases.test_ddToIntegral) ... ok test_ddXor (__main__.CIBMTestCases.test_ddXor) ... ok test_decDouble (__main__.CIBMTestCases.test_decDouble) ... ok test_decQuad (__main__.CIBMTestCases.test_decQuad) ... ok test_decSingle (__main__.CIBMTestCases.test_decSingle) ... ok test_divide (__main__.CIBMTestCases.test_divide) ... ok test_divideint (__main__.CIBMTestCases.test_divideint) ... ok test_dqAbs (__main__.CIBMTestCases.test_dqAbs) ... ok test_dqAdd (__main__.CIBMTestCases.test_dqAdd) ... ok test_dqAnd (__main__.CIBMTestCases.test_dqAnd) ... ok test_dqBase (__main__.CIBMTestCases.test_dqBase) ... ok test_dqCanonical (__main__.CIBMTestCases.test_dqCanonical) ... ok test_dqClass (__main__.CIBMTestCases.test_dqClass) ... ok test_dqCompare (__main__.CIBMTestCases.test_dqCompare) ... ok test_dqCompareSig (__main__.CIBMTestCases.test_dqCompareSig) ... ok test_dqCompareTotal (__main__.CIBMTestCases.test_dqCompareTotal) ... ok test_dqCompareTotalMag (__main__.CIBMTestCases.test_dqCompareTotalMag) ... ok test_dqCopy (__main__.CIBMTestCases.test_dqCopy) ... ok test_dqCopyAbs (__main__.CIBMTestCases.test_dqCopyAbs) ... ok test_dqCopyNegate (__main__.CIBMTestCases.test_dqCopyNegate) ... ok test_dqCopySign (__main__.CIBMTestCases.test_dqCopySign) ... ok test_dqDivide (__main__.CIBMTestCases.test_dqDivide) ... ok test_dqDivideInt (__main__.CIBMTestCases.test_dqDivideInt) ... ok test_dqEncode (__main__.CIBMTestCases.test_dqEncode) ... ok test_dqFMA (__main__.CIBMTestCases.test_dqFMA) ... ok test_dqInvert (__main__.CIBMTestCases.test_dqInvert) ... ok test_dqLogB (__main__.CIBMTestCases.test_dqLogB) ... ok test_dqMax (__main__.CIBMTestCases.test_dqMax) ... ok test_dqMaxMag (__main__.CIBMTestCases.test_dqMaxMag) ... ok test_dqMin (__main__.CIBMTestCases.test_dqMin) ... ok test_dqMinMag (__main__.CIBMTestCases.test_dqMinMag) ... ok test_dqMinus (__main__.CIBMTestCases.test_dqMinus) ... ok test_dqMultiply (__main__.CIBMTestCases.test_dqMultiply) ... ok test_dqNextMinus (__main__.CIBMTestCases.test_dqNextMinus) ... ok test_dqNextPlus (__main__.CIBMTestCases.test_dqNextPlus) ... ok test_dqNextToward (__main__.CIBMTestCases.test_dqNextToward) ... ok test_dqOr (__main__.CIBMTestCases.test_dqOr) ... ok test_dqPlus (__main__.CIBMTestCases.test_dqPlus) ... ok test_dqQuantize (__main__.CIBMTestCases.test_dqQuantize) ... ok test_dqReduce (__main__.CIBMTestCases.test_dqReduce) ... ok test_dqRemainder (__main__.CIBMTestCases.test_dqRemainder) ... ok test_dqRemainderNear (__main__.CIBMTestCases.test_dqRemainderNear) ... ok test_dqRotate (__main__.CIBMTestCases.test_dqRotate) ... ok test_dqSameQuantum (__main__.CIBMTestCases.test_dqSameQuantum) ... ok test_dqScaleB (__main__.CIBMTestCases.test_dqScaleB) ... ok test_dqShift (__main__.CIBMTestCases.test_dqShift) ... ok test_dqSubtract (__main__.CIBMTestCases.test_dqSubtract) ... ok test_dqToIntegral (__main__.CIBMTestCases.test_dqToIntegral) ... ok test_dqXor (__main__.CIBMTestCases.test_dqXor) ... ok test_dsBase (__main__.CIBMTestCases.test_dsBase) ... ok test_dsEncode (__main__.CIBMTestCases.test_dsEncode) ... ok test_exp (__main__.CIBMTestCases.test_exp) ... ok test_extra (__main__.CIBMTestCases.test_extra) ... ok test_fma (__main__.CIBMTestCases.test_fma) ... ok test_inexact (__main__.CIBMTestCases.test_inexact) ... ok test_invert (__main__.CIBMTestCases.test_invert) ... ok test_ln (__main__.CIBMTestCases.test_ln) ... ok test_log10 (__main__.CIBMTestCases.test_log10) ... ok test_logb (__main__.CIBMTestCases.test_logb) ... ok test_max (__main__.CIBMTestCases.test_max) ... ok test_maxmag (__main__.CIBMTestCases.test_maxmag) ... ok test_min (__main__.CIBMTestCases.test_min) ... ok test_minmag (__main__.CIBMTestCases.test_minmag) ... ok test_minus (__main__.CIBMTestCases.test_minus) ... ok test_multiply (__main__.CIBMTestCases.test_multiply) ... ok test_nextminus (__main__.CIBMTestCases.test_nextminus) ... ok test_nextplus (__main__.CIBMTestCases.test_nextplus) ... ok test_nexttoward (__main__.CIBMTestCases.test_nexttoward) ... ok test_or (__main__.CIBMTestCases.test_or) ... ok test_plus (__main__.CIBMTestCases.test_plus) ... ok test_power (__main__.CIBMTestCases.test_power) ... ok test_powersqrt (__main__.CIBMTestCases.test_powersqrt) ... ok test_quantize (__main__.CIBMTestCases.test_quantize) ... ok test_randomBound32 (__main__.CIBMTestCases.test_randomBound32) ... ok test_randoms (__main__.CIBMTestCases.test_randoms) ... ok test_reduce (__main__.CIBMTestCases.test_reduce) ... ok test_remainder (__main__.CIBMTestCases.test_remainder) ... ok test_remainderNear (__main__.CIBMTestCases.test_remainderNear) ... ok test_rescale (__main__.CIBMTestCases.test_rescale) ... ok test_rotate (__main__.CIBMTestCases.test_rotate) ... ok test_rounding (__main__.CIBMTestCases.test_rounding) ... ok test_samequantum (__main__.CIBMTestCases.test_samequantum) ... ok test_scaleb (__main__.CIBMTestCases.test_scaleb) ... ok test_shift (__main__.CIBMTestCases.test_shift) ... ok test_squareroot (__main__.CIBMTestCases.test_squareroot) ... ok test_subtract (__main__.CIBMTestCases.test_subtract) ... ok test_testall (__main__.CIBMTestCases.test_testall) ... ok test_tointegral (__main__.CIBMTestCases.test_tointegral) ... ok test_tointegralx (__main__.CIBMTestCases.test_tointegralx) ... ok test_xor (__main__.CIBMTestCases.test_xor) ... ok test_abs (__main__.PyIBMTestCases.test_abs) ... ok test_add (__main__.PyIBMTestCases.test_add) ... ok test_and (__main__.PyIBMTestCases.test_and) ... ok test_base (__main__.PyIBMTestCases.test_base) ... ok test_clamp (__main__.PyIBMTestCases.test_clamp) ... ok test_class (__main__.PyIBMTestCases.test_class) ... ok test_compare (__main__.PyIBMTestCases.test_compare) ... ok test_comparetotal (__main__.PyIBMTestCases.test_comparetotal) ... ok test_comparetotmag (__main__.PyIBMTestCases.test_comparetotmag) ... ok test_copy (__main__.PyIBMTestCases.test_copy) ... ok test_copyabs (__main__.PyIBMTestCases.test_copyabs) ... ok test_copynegate (__main__.PyIBMTestCases.test_copynegate) ... ok test_copysign (__main__.PyIBMTestCases.test_copysign) ... ok test_ddAbs (__main__.PyIBMTestCases.test_ddAbs) ... ok test_ddAdd (__main__.PyIBMTestCases.test_ddAdd) ... ok test_ddAnd (__main__.PyIBMTestCases.test_ddAnd) ... ok test_ddBase (__main__.PyIBMTestCases.test_ddBase) ... ok test_ddCanonical (__main__.PyIBMTestCases.test_ddCanonical) ... ok test_ddClass (__main__.PyIBMTestCases.test_ddClass) ... ok test_ddCompare (__main__.PyIBMTestCases.test_ddCompare) ... ok test_ddCompareSig (__main__.PyIBMTestCases.test_ddCompareSig) ... ok test_ddCompareTotal (__main__.PyIBMTestCases.test_ddCompareTotal) ... ok test_ddCompareTotalMag (__main__.PyIBMTestCases.test_ddCompareTotalMag) ... ok test_ddCopy (__main__.PyIBMTestCases.test_ddCopy) ... ok test_ddCopyAbs (__main__.PyIBMTestCases.test_ddCopyAbs) ... ok test_ddCopyNegate (__main__.PyIBMTestCases.test_ddCopyNegate) ... ok test_ddCopySign (__main__.PyIBMTestCases.test_ddCopySign) ... ok test_ddDivide (__main__.PyIBMTestCases.test_ddDivide) ... ok test_ddDivideInt (__main__.PyIBMTestCases.test_ddDivideInt) ... ok test_ddEncode (__main__.PyIBMTestCases.test_ddEncode) ... ok test_ddFMA (__main__.PyIBMTestCases.test_ddFMA) ... ok test_ddInvert (__main__.PyIBMTestCases.test_ddInvert) ... ok test_ddLogB (__main__.PyIBMTestCases.test_ddLogB) ... ok test_ddMax (__main__.PyIBMTestCases.test_ddMax) ... ok test_ddMaxMag (__main__.PyIBMTestCases.test_ddMaxMag) ... ok test_ddMin (__main__.PyIBMTestCases.test_ddMin) ... ok test_ddMinMag (__main__.PyIBMTestCases.test_ddMinMag) ... ok test_ddMinus (__main__.PyIBMTestCases.test_ddMinus) ... ok test_ddMultiply (__main__.PyIBMTestCases.test_ddMultiply) ... ok test_ddNextMinus (__main__.PyIBMTestCases.test_ddNextMinus) ... ok test_ddNextPlus (__main__.PyIBMTestCases.test_ddNextPlus) ... ok test_ddNextToward (__main__.PyIBMTestCases.test_ddNextToward) ... ok test_ddOr (__main__.PyIBMTestCases.test_ddOr) ... ok test_ddPlus (__main__.PyIBMTestCases.test_ddPlus) ... ok test_ddQuantize (__main__.PyIBMTestCases.test_ddQuantize) ... ok test_ddReduce (__main__.PyIBMTestCases.test_ddReduce) ... ok test_ddRemainder (__main__.PyIBMTestCases.test_ddRemainder) ... ok test_ddRemainderNear (__main__.PyIBMTestCases.test_ddRemainderNear) ... ok test_ddRotate (__main__.PyIBMTestCases.test_ddRotate) ... ok test_ddSameQuantum (__main__.PyIBMTestCases.test_ddSameQuantum) ... ok test_ddScaleB (__main__.PyIBMTestCases.test_ddScaleB) ... ok test_ddShift (__main__.PyIBMTestCases.test_ddShift) ... ok test_ddSubtract (__main__.PyIBMTestCases.test_ddSubtract) ... ok test_ddToIntegral (__main__.PyIBMTestCases.test_ddToIntegral) ... ok test_ddXor (__main__.PyIBMTestCases.test_ddXor) ... ok test_decDouble (__main__.PyIBMTestCases.test_decDouble) ... ok test_decQuad (__main__.PyIBMTestCases.test_decQuad) ... ok test_decSingle (__main__.PyIBMTestCases.test_decSingle) ... ok test_divide (__main__.PyIBMTestCases.test_divide) ... ok test_divideint (__main__.PyIBMTestCases.test_divideint) ... ok test_dqAbs (__main__.PyIBMTestCases.test_dqAbs) ... ok test_dqAdd (__main__.PyIBMTestCases.test_dqAdd) ... ok test_dqAnd (__main__.PyIBMTestCases.test_dqAnd) ... ok test_dqBase (__main__.PyIBMTestCases.test_dqBase) ... ok test_dqCanonical (__main__.PyIBMTestCases.test_dqCanonical) ... ok test_dqClass (__main__.PyIBMTestCases.test_dqClass) ... ok test_dqCompare (__main__.PyIBMTestCases.test_dqCompare) ... ok test_dqCompareSig (__main__.PyIBMTestCases.test_dqCompareSig) ... ok test_dqCompareTotal (__main__.PyIBMTestCases.test_dqCompareTotal) ... ok test_dqCompareTotalMag (__main__.PyIBMTestCases.test_dqCompareTotalMag) ... ok test_dqCopy (__main__.PyIBMTestCases.test_dqCopy) ... ok test_dqCopyAbs (__main__.PyIBMTestCases.test_dqCopyAbs) ... ok test_dqCopyNegate (__main__.PyIBMTestCases.test_dqCopyNegate) ... ok test_dqCopySign (__main__.PyIBMTestCases.test_dqCopySign) ... ok test_dqDivide (__main__.PyIBMTestCases.test_dqDivide) ... ok test_dqDivideInt (__main__.PyIBMTestCases.test_dqDivideInt) ... ok test_dqEncode (__main__.PyIBMTestCases.test_dqEncode) ... ok test_dqFMA (__main__.PyIBMTestCases.test_dqFMA) ... ok test_dqInvert (__main__.PyIBMTestCases.test_dqInvert) ... ok test_dqLogB (__main__.PyIBMTestCases.test_dqLogB) ... ok test_dqMax (__main__.PyIBMTestCases.test_dqMax) ... ok test_dqMaxMag (__main__.PyIBMTestCases.test_dqMaxMag) ... ok test_dqMin (__main__.PyIBMTestCases.test_dqMin) ... ok test_dqMinMag (__main__.PyIBMTestCases.test_dqMinMag) ... ok test_dqMinus (__main__.PyIBMTestCases.test_dqMinus) ... ok test_dqMultiply (__main__.PyIBMTestCases.test_dqMultiply) ... ok test_dqNextMinus (__main__.PyIBMTestCases.test_dqNextMinus) ... ok test_dqNextPlus (__main__.PyIBMTestCases.test_dqNextPlus) ... ok test_dqNextToward (__main__.PyIBMTestCases.test_dqNextToward) ... ok test_dqOr (__main__.PyIBMTestCases.test_dqOr) ... ok test_dqPlus (__main__.PyIBMTestCases.test_dqPlus) ... ok test_dqQuantize (__main__.PyIBMTestCases.test_dqQuantize) ... ok test_dqReduce (__main__.PyIBMTestCases.test_dqReduce) ... ok test_dqRemainder (__main__.PyIBMTestCases.test_dqRemainder) ... ok test_dqRemainderNear (__main__.PyIBMTestCases.test_dqRemainderNear) ... ok test_dqRotate (__main__.PyIBMTestCases.test_dqRotate) ... ok test_dqSameQuantum (__main__.PyIBMTestCases.test_dqSameQuantum) ... ok test_dqScaleB (__main__.PyIBMTestCases.test_dqScaleB) ... ok test_dqShift (__main__.PyIBMTestCases.test_dqShift) ... ok test_dqSubtract (__main__.PyIBMTestCases.test_dqSubtract) ... ok test_dqToIntegral (__main__.PyIBMTestCases.test_dqToIntegral) ... ok test_dqXor (__main__.PyIBMTestCases.test_dqXor) ... ok test_dsBase (__main__.PyIBMTestCases.test_dsBase) ... ok test_dsEncode (__main__.PyIBMTestCases.test_dsEncode) ... ok test_exp (__main__.PyIBMTestCases.test_exp) ... ok test_extra (__main__.PyIBMTestCases.test_extra) ... ok test_fma (__main__.PyIBMTestCases.test_fma) ... ok test_inexact (__main__.PyIBMTestCases.test_inexact) ... ok test_invert (__main__.PyIBMTestCases.test_invert) ... ok test_ln (__main__.PyIBMTestCases.test_ln) ... ok test_log10 (__main__.PyIBMTestCases.test_log10) ... ok test_logb (__main__.PyIBMTestCases.test_logb) ... ok test_max (__main__.PyIBMTestCases.test_max) ... ok test_maxmag (__main__.PyIBMTestCases.test_maxmag) ... ok test_min (__main__.PyIBMTestCases.test_min) ... ok test_minmag (__main__.PyIBMTestCases.test_minmag) ... ok test_minus (__main__.PyIBMTestCases.test_minus) ... ok test_multiply (__main__.PyIBMTestCases.test_multiply) ... ok test_nextminus (__main__.PyIBMTestCases.test_nextminus) ... ok test_nextplus (__main__.PyIBMTestCases.test_nextplus) ... ok test_nexttoward (__main__.PyIBMTestCases.test_nexttoward) ... ok test_or (__main__.PyIBMTestCases.test_or) ... ok test_plus (__main__.PyIBMTestCases.test_plus) ... ok test_power (__main__.PyIBMTestCases.test_power) ... ok test_powersqrt (__main__.PyIBMTestCases.test_powersqrt) ... ok test_quantize (__main__.PyIBMTestCases.test_quantize) ... ok test_randomBound32 (__main__.PyIBMTestCases.test_randomBound32) ... ok test_randoms (__main__.PyIBMTestCases.test_randoms) ... ok test_reduce (__main__.PyIBMTestCases.test_reduce) ... ok test_remainder (__main__.PyIBMTestCases.test_remainder) ... ok test_remainderNear (__main__.PyIBMTestCases.test_remainderNear) ... ok test_rescale (__main__.PyIBMTestCases.test_rescale) ... ok test_rotate (__main__.PyIBMTestCases.test_rotate) ... ok test_rounding (__main__.PyIBMTestCases.test_rounding) ... ok test_samequantum (__main__.PyIBMTestCases.test_samequantum) ... ok test_scaleb (__main__.PyIBMTestCases.test_scaleb) ... ok test_shift (__main__.PyIBMTestCases.test_shift) ... ok test_squareroot (__main__.PyIBMTestCases.test_squareroot) ... ok test_subtract (__main__.PyIBMTestCases.test_subtract) ... ok test_testall (__main__.PyIBMTestCases.test_testall) ... ok test_tointegral (__main__.PyIBMTestCases.test_tointegral) ... ok test_tointegralx (__main__.PyIBMTestCases.test_tointegralx) ... ok test_xor (__main__.PyIBMTestCases.test_xor) ... ok Context (decimal) Doctest: decimal.Context ... ok compare_total (decimal.Decimal) Doctest: decimal.Decimal.compare_total ... ok copy_sign (decimal.Decimal) Doctest: decimal.Decimal.copy_sign ... ok fma (decimal.Decimal) Doctest: decimal.Decimal.fma ... ok from_float (decimal.Decimal) Doctest: decimal.Decimal.from_float ... ok quantize (decimal.Decimal) Doctest: decimal.Decimal.quantize ... ok decimal () Doctest: decimal ... ok abs (decimal.Context) Doctest: decimal.Context.abs ... ok add (decimal.Context) Doctest: decimal.Context.add ... ok canonical (decimal.Context) Doctest: decimal.Context.canonical ... ok compare (decimal.Context) Doctest: decimal.Context.compare ... ok compare_signal (decimal.Context) Doctest: decimal.Context.compare_signal ... ok compare_total (decimal.Context) Doctest: decimal.Context.compare_total ... ok copy_abs (decimal.Context) Doctest: decimal.Context.copy_abs ... ok copy_decimal (decimal.Context) Doctest: decimal.Context.copy_decimal ... ok copy_negate (decimal.Context) Doctest: decimal.Context.copy_negate ... ok copy_sign (decimal.Context) Doctest: decimal.Context.copy_sign ... ok create_decimal_from_float (decimal.Context) Doctest: decimal.Context.create_decimal_from_float ... ok divide (decimal.Context) Doctest: decimal.Context.divide ... ok divide_int (decimal.Context) Doctest: decimal.Context.divide_int ... ok divmod (decimal.Context) Doctest: decimal.Context.divmod ... ok exp (decimal.Context) Doctest: decimal.Context.exp ... ok fma (decimal.Context) Doctest: decimal.Context.fma ... ok is_canonical (decimal.Context) Doctest: decimal.Context.is_canonical ... ok is_finite (decimal.Context) Doctest: decimal.Context.is_finite ... ok is_infinite (decimal.Context) Doctest: decimal.Context.is_infinite ... ok is_nan (decimal.Context) Doctest: decimal.Context.is_nan ... ok is_normal (decimal.Context) Doctest: decimal.Context.is_normal ... ok is_qnan (decimal.Context) Doctest: decimal.Context.is_qnan ... ok is_signed (decimal.Context) Doctest: decimal.Context.is_signed ... ok is_snan (decimal.Context) Doctest: decimal.Context.is_snan ... ok is_subnormal (decimal.Context) Doctest: decimal.Context.is_subnormal ... ok is_zero (decimal.Context) Doctest: decimal.Context.is_zero ... ok ln (decimal.Context) Doctest: decimal.Context.ln ... ok log10 (decimal.Context) Doctest: decimal.Context.log10 ... ok logb (decimal.Context) Doctest: decimal.Context.logb ... ok logical_and (decimal.Context) Doctest: decimal.Context.logical_and ... ok logical_invert (decimal.Context) Doctest: decimal.Context.logical_invert ... ok logical_or (decimal.Context) Doctest: decimal.Context.logical_or ... ok logical_xor (decimal.Context) Doctest: decimal.Context.logical_xor ... ok max (decimal.Context) Doctest: decimal.Context.max ... ok max_mag (decimal.Context) Doctest: decimal.Context.max_mag ... ok min (decimal.Context) Doctest: decimal.Context.min ... ok min_mag (decimal.Context) Doctest: decimal.Context.min_mag ... ok minus (decimal.Context) Doctest: decimal.Context.minus ... ok multiply (decimal.Context) Doctest: decimal.Context.multiply ... ok next_minus (decimal.Context) Doctest: decimal.Context.next_minus ... ok next_plus (decimal.Context) Doctest: decimal.Context.next_plus ... ok next_toward (decimal.Context) Doctest: decimal.Context.next_toward ... ok normalize (decimal.Context) Doctest: decimal.Context.normalize ... ok number_class (decimal.Context) Doctest: decimal.Context.number_class ... ok plus (decimal.Context) Doctest: decimal.Context.plus ... ok power (decimal.Context) Doctest: decimal.Context.power ... ok quantize (decimal.Context) Doctest: decimal.Context.quantize ... ok radix (decimal.Context) Doctest: decimal.Context.radix ... ok remainder (decimal.Context) Doctest: decimal.Context.remainder ... ok remainder_near (decimal.Context) Doctest: decimal.Context.remainder_near ... ok rotate (decimal.Context) Doctest: decimal.Context.rotate ... ok same_quantum (decimal.Context) Doctest: decimal.Context.same_quantum ... ok scaleb (decimal.Context) Doctest: decimal.Context.scaleb ... ok shift (decimal.Context) Doctest: decimal.Context.shift ... ok sqrt (decimal.Context) Doctest: decimal.Context.sqrt ... ok subtract (decimal.Context) Doctest: decimal.Context.subtract ... ok to_eng_string (decimal.Context) Doctest: decimal.Context.to_eng_string ... ok to_integral_exact (decimal.Context) Doctest: decimal.Context.to_integral_exact ... ok to_integral_value (decimal.Context) Doctest: decimal.Context.to_integral_value ... ok __new__ (decimal.Decimal) Doctest: decimal.Decimal.__new__ ... ok __round__ (decimal.Decimal) Doctest: decimal.Decimal.__round__ ... ok as_integer_ratio (decimal.Decimal) Doctest: decimal.Decimal.as_integer_ratio ... ok from_float (decimal.Decimal) Doctest: decimal.Decimal.from_float ... ok localcontext (decimal) Doctest: decimal.localcontext ... ok ---------------------------------------------------------------------- Ran 709 tests in 13.349s OK (skipped=9) ```
debohman commented 1 year ago
% git describe
v3.12.0b1-2021-gea7b53ff677

To be clear: this is top of tree main.

debohman commented 1 year ago

To answer the question about how I am building Python:

CC=clang CXX=clang++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-optimizations --with-lto=full
debohman commented 1 year ago

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe:

% nm -g build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so | grep _PyExc_ValueError
                 U _PyExc_ValueError
nm -g python.exe | grep _PyExc_ValueError                                                                          
0000000100581080 D _PyExc_ValueError
debohman commented 1 year ago

Something must have changed in the runtime module loading in main.

vstinner commented 1 year ago

SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)

It's syntax that Python cannot locate the unicodedata shared library. Can you import it if you run Python manually? Was it built?

vstinner commented 1 year ago

Can the issue be reproduced on other platforms than macOS?

debohman commented 1 year ago

SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)

It's syntax that Python cannot locate the unicodedata shared library. Can you import it if you run Python manually? Was it built?

% python.exe                                                       
Python 3.13.0a0 (main, Oct  9 2023, 18:27:16) [Clang 17.0.1] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python313.zip', '/tera/tera/debo/Projects/Python/main/Lib', '/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13']
>>> import unicodedata
>>> unicodedata.
unicodedata.UCD()              unicodedata.digit(             unicodedata.normalize(
unicodedata.bidirectional(     unicodedata.east_asian_width(  unicodedata.numeric(
unicodedata.category(          unicodedata.is_normalized(     unicodedata.ucd_3_2_0
unicodedata.combining(         unicodedata.lookup(            unicodedata.unidata_version
unicodedata.decimal(           unicodedata.mirrored(          
unicodedata.decomposition(     unicodedata.name(              
debohman commented 1 year ago

Can the issue be reproduced on other platforms than macOS?

Perhaps @mdboom can comment about what platform he is using in his comment above.

debohman commented 1 year ago

I see now that test_embed uses Programs/_testembed to execute. I don't know how embedding works, but clearly something has broken in 3.13. It works properly in 3.12.0 built with the same toolchain.

Under 3.13:

% Programs/_testembed test_init_main
Run Python code before _Py_InitializeMain
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so

Under 3.12.0:

% Programs/_testembed test_init_main
Run Python code before _Py_InitializeMain
{"global_config": {"Py_FileSystemDefaultEncoding": "utf-8", "Py_HasFileSystemDefaultEncoding": 0, "Py_FileSystemDefaultEncodeErrors": "surrogateescape", "_Py_HasFileSystemDefaultEncodeErrors": 0, "Py_UTF8Mode": 0, "Py_DebugFlag": 0, "Py_VerboseFlag": 0, "Py_QuietFlag": 0, "Py_InteractiveFlag": 0, "Py_InspectFlag": 0, "Py_OptimizeFlag": 0, "Py_NoSiteFlag": 0, "Py_BytesWarningFlag": 0, "Py_FrozenFlag": 0, "Py_IgnoreEnvironmentFlag": 0, "Py_DontWriteBytecodeFlag": 0, "Py_NoUserSiteDirectory": 0, "Py_UnbufferedStdioFlag": 0, "Py_HashRandomizationFlag": 1, "Py_IsolatedFlag": 0}, "pre_config": {"_config_init": 2, "parse_argv": 1, "isolated": 0, "use_environment": 1, "configure_locale": 1, "coerce_c_locale": 0, "coerce_c_locale_warn": 0, "utf8_mode": 0, "dev_mode": 0, "allocator": 0}, "config": {"_config_init": 2, "isolated": 0, "use_environment": 1, "dev_mode": 0, "install_signal_handlers": 1, "use_hash_seed": 0, "hash_seed": 0, "faulthandler": 0, "tracemalloc": 0, "perf_profiling": 0, "import_time": 0, "code_debug_ranges": 1, "show_ref_count": 0, "dump_refs": 0, "malloc_stats": 0, "filesystem_encoding": "utf-8", "filesystem_errors": "surrogateescape", "pycache_prefix": null, "program_name": "./python3", "parse_argv": 2, "argv": ["-c", "arg2"], "xoptions": [], "warnoptions": [], "pythonpath_env": null, "home": null, "module_search_paths_set": 1, "module_search_paths": ["/usr/local/lib/python312.zip", "/tera/tera/debo/Projects/Python/v3.12.0/Lib", "/tera/tera/debo/Projects/Python/v3.12.0/build/lib.macosx-10.12-x86_64-3.12"], "stdlib_dir": "/tera/tera/debo/Projects/Python/v3.12.0/Lib", "executable": "/tera/tera/debo/Projects/Python/v3.12.0/python3", "base_executable": "/tera/tera/debo/Projects/Python/v3.12.0/python3", "prefix": "/usr/local", "base_prefix": "/usr/local", "exec_prefix": "/usr/local", "base_exec_prefix": "/usr/local", "platlibdir": "lib", "site_import": 1, "bytes_warning": 0, "warn_default_encoding": 0, "inspect": 0, "interactive": 0, "optimization_level": 0, "parser_debug": 0, "write_bytecode": 1, "verbose": 0, "quiet": 0, "user_site_directory": 1, "configure_c_stdio": 1, "buffered_stdio": 1, "stdio_encoding": "utf-8", "stdio_errors": "strict", "skip_source_first_line": 0, "run_command": "import _testinternalcapi, json; print(json.dumps(_testinternalcapi.get_configs()))\n", "run_module": null, "run_filename": null, "_install_importlib": 1, "check_hash_pycs_mode": "default", "pathconfig_warnings": 1, "_init_main": 0, "orig_argv": ["python3", "-c", "import _testinternalcapi, json; print(json.dumps(_testinternalcapi.get_configs()))", "arg2"], "use_frozen_modules": 1, "safe_path": 0, "_is_python_build": 1, "int_max_str_digits": 4300}}
vstinner commented 1 year ago

I don't understand this test_embed error neither:

ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2):
Symbol not found: _PyBaseObject_Type

In Include/object.h, PyBaseObject_Type variable is exported by:

PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */

Log:

% python.exe Lib/test/test_embed.py
.....................--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', 'import dis\nimport importlib._bootstrap\nimport opcode\nimport test.test_dis\n\ndef is_specialized(f):\n    for instruction in dis.get_instructions(f, adaptive=True):\n        opname = instruction.opname\n        if (\n            opname in opcode._specialized_opmap\n            # Exclude superinstructions:\n            and "__" not in opname\n        ):\n            return True\n    return False\n\nfunc = importlib._bootstrap._handle_fromlist\n\n# "copy" the code to un-specialize it:\nfunc.__code__ = func.__code__.replace()\n\nassert not is_specialized(func), "specialized instructions found"\n\nfor i in range(test.test_dis.ADAPTIVE_WARMUP_DELAY):\n    func(importlib._bootstrap, ["x"], lambda *args: None)\n\nassert is_specialized(func), "no specialized instructions found"\n\nprint("Tests passed")\n'] failed ---
stdout:

stderr:
--- Loop #1 ---
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in <module>
    from opcode import *
  File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in <module>
    import _opcode
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so
vstinner commented 1 year ago

Python/dynload_shlib.c adds a lead underscore:

#if (defined(__OpenBSD__) || defined(__NetBSD__)) && !defined(__ELF__)
#define LEAD_UNDERSCORE "_" 
#else             
#define LEAD_UNDERSCORE ""
#endif 
...
    PyOS_snprintf(funcname, sizeof(funcname),
                  LEAD_UNDERSCORE "%.20s_%.200s", prefix, shortname);
vstinner commented 1 year ago

cc @sobolevn @corona10: Can you reproduce these issues?

debohman commented 1 year ago

I think it is a problem with embedding on my platform in 3.13, which I assume enables executing Python code from inside a a C program. As I have demonstrated, it works fine in 3.12.0 with the same exact toolchain.

debohman commented 1 year ago

I suspect that the problem occurs when Python code being executed in an embedded environment tries to import a runtime loaded module. That is why much of test_embed fails.

vstinner commented 1 year ago

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe

In the Python API, the variable is called PyExc_ValueError without the leading underscore.

vstinner commented 1 year ago

CC=clang CXX=clang++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-optimizations --with-lto=full

Do you reproduce the issue with a more classic command?

CC=clang CXX=clang++ ./configure

then:

make && ./python.exe -m test -v test_embed

debohman commented 1 year ago

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe

In the Python API, the variable is called PyExc_ValueError without the leading underscore.

That is because macOS uses the traditional C symbol naming, which places an underscore before C symbols.

vstinner commented 1 year ago

Aha, I can reproduce some issues on Linux: 8 tests failed with "env changed".

$ CC=clang ./configure --enable-optimizations
$ make
(...)
touch profile-gen-stamp
make[1]: Leaving directory '/home/vstinner/python/main'
# Next, run the profile task to generate the profile information.
LLVM_PROFILE_FILE="code-%p.profclangr"  ./python -m test --pgo --timeout=
Using random seed 297553162
0:00:00 load avg: 6.89 Run 44 tests sequentially
0:00:00 load avg: 6.89 [ 1/44] test_array
0:00:00 load avg: 6.89 [ 2/44] test_base64
0:00:00 load avg: 6.89 [ 3/44] test_binascii -- test_base64 failed (env changed)
0:00:00 load avg: 6.89 [ 4/44] test_binop
0:00:00 load avg: 6.89 [ 5/44] test_bisect
0:00:00 load avg: 6.89 [ 6/44] test_bytes
0:00:03 load avg: 6.89 [ 7/44] test_bz2 -- test_bytes failed (env changed)
0:00:04 load avg: 6.89 [ 8/44] test_cmath
0:00:04 load avg: 6.89 [ 9/44] test_codecs
0:00:05 load avg: 6.42 [10/44] test_collections
0:00:05 load avg: 6.42 [11/44] test_complex
0:00:05 load avg: 6.42 [12/44] test_dataclasses
0:00:06 load avg: 6.42 [13/44] test_datetime
0:00:09 load avg: 5.91 [14/44] test_decimal
0:00:12 load avg: 5.91 [15/44] test_difflib
0:00:13 load avg: 5.91 [16/44] test_embed
0:00:17 load avg: 5.51 [17/44] test_float -- test_embed failed (env changed)
0:00:17 load avg: 5.51 [18/44] test_fstring
0:00:18 load avg: 5.51 [19/44] test_functools
0:00:18 load avg: 5.51 [20/44] test_generators
0:00:18 load avg: 5.51 [21/44] test_hashlib
0:00:19 load avg: 5.51 [22/44] test_heapq
0:00:19 load avg: 5.15 [23/44] test_int
0:00:20 load avg: 5.15 [24/44] test_itertools
0:00:22 load avg: 5.15 [25/44] test_json
0:00:23 load avg: 5.15 [26/44] test_long -- test_json failed (env changed)
0:00:25 load avg: 4.82 [27/44] test_lzma
0:00:25 load avg: 4.82 [28/44] test_math
0:00:26 load avg: 4.82 [29/44] test_memoryview
0:00:27 load avg: 4.82 [30/44] test_operator
0:00:27 load avg: 4.82 [31/44] test_ordered_dict
0:00:28 load avg: 4.82 [32/44] test_patma
0:00:28 load avg: 4.82 [33/44] test_pickle
0:00:31 load avg: 4.51 [34/44] test_pprint
0:00:31 load avg: 4.51 [35/44] test_re
0:00:32 load avg: 4.51 [36/44] test_set
0:00:35 load avg: 4.23 [37/44] test_sqlite3
0:00:35 load avg: 4.23 [38/44] test_statistics -- test_sqlite3 failed (env changed)
0:00:37 load avg: 4.23 [39/44] test_str
0:00:38 load avg: 4.23 [40/44] test_struct -- test_str failed (env changed)
0:00:39 load avg: 4.23 [41/44] test_tabnanny -- test_struct failed (env changed)
0:00:39 load avg: 3.97 [42/44] test_time -- test_tabnanny failed (env changed)
0:00:41 load avg: 3.97 [43/44] test_xml_etree
0:00:42 load avg: 3.97 [44/44] test_xml_etree_c

Total duration: 43.1 sec
Total tests: run=8,990 skipped=187
Total test files: run=44/44 env_changed=8
Result: SUCCESS

Example:

vstinner@mona$ LLVM_PROFILE_FILE=code-%p.profclangr ./python -m test --fail-env-changed test_bytes -m test_check_encoding_errors -v
== CPython 3.13.0a0 (heads/main:732532b0af, Oct 11 2023, 00:54:44) [Clang 16.0.6 (Fedora 16.0.6-3.fc38)]
== Linux-6.5.5-200.fc38.x86_64-x86_64-with-glibc2.37 little-endian
== Python build: release
== cwd: /home/vstinner/python/main/build/test_python_worker_31170æ
== CPU count: 12
== encodings: locale=UTF-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests

Using random seed 4098483406
0:00:00 load avg: 1.57 Run 1 test sequentially
0:00:00 load avg: 1.57 [1/1] test_bytes
test_check_encoding_errors (test.test_bytes.ByteArrayTest.test_check_encoding_errors) ... ok
test_check_encoding_errors (test.test_bytes.BytesTest.test_check_encoding_errors) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.053s

OK
Warning -- files was modified by test_bytes
Warning --   Before: []
Warning --   After:  ['code-31172.profclangr', 'code-31173.profclangr', 'code-31174.profclangr'] 
test_bytes failed (env changed)

== Tests result: ENV CHANGED ==

1 test altered the execution environment (env changed):
    test_bytes

Total duration: 97 ms
Total tests: run=2 (filtered)
Total test files: run=1/1 (filtered) env_changed=1
Result: ENV CHANGED

Each subprocess spawned by tests create a code-<pid>.profclangr file.

debohman commented 1 year ago

Okay, here is what I have determined so far: Programs/_testembed has no symbols in 3.13! That is why the runtime loading is failing. I am trying to figure out what is different in the build environment for Programs/_testembed between 3.12 and 3.13.

vstinner commented 1 year ago

Tests spawning subprocesses create many code-<pid>.profclangr files in the current directory. It's unclear to me if they should be used to train the PGO build or not.

PR #110654 avoids the warning, but .profclangr created by subprocesses are still removed, since regrtest starts by creating a temporary directory and changes the current working directory for this one.

vstinner commented 1 year ago

If you want to to bisect the test_embed regression, you can use ./configure PROFILE_TASK="-m test --pgo test_embed" command to only run test_embed. Oh. But before, failures of the profile task were ignored by || true:

        $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
debohman commented 1 year ago

I found the problem. The offending commit is 3e3a7da590e1c3e5f03802e538f26c5204889c82. After reverting that and rebuilding from scratch:

``` % ./python.exe -m test -v test_embed == CPython 3.13.0a0 (main, Oct 10 2023, 18:03:59) [Clang 17.0.1] == macOS-10.12.6-x86_64-i386-64bit little-endian == Python build: release LTO == cwd: /tera/tera/debo/Projects/Python/main/build/test_python_worker_82633æ == CPU count: 24 == encodings: locale=UTF-8 FS=utf-8 == resources: all test resources are disabled, use -u option to unskip tests Using random seed 878659710 Raised RLIMIT_NOFILE: 256 -> 1024 0:00:00 load avg: 1.52 Run 1 test sequentially 0:00:00 load avg: 1.52 [1/1] test_embed test_audit (test.test_embed.AuditingTests.test_audit) ... ok test_audit_run_command (test.test_embed.AuditingTests.test_audit_run_command) ... ok test_audit_run_file (test.test_embed.AuditingTests.test_audit_run_file) ... ok test_audit_run_interactivehook (test.test_embed.AuditingTests.test_audit_run_interactivehook) ... ok test_audit_run_startup (test.test_embed.AuditingTests.test_audit_run_startup) ... ok test_audit_run_stdin (test.test_embed.AuditingTests.test_audit_run_stdin) ... ok test_audit_subinterpreter (test.test_embed.AuditingTests.test_audit_subinterpreter) ... ok test_audit_tuple (test.test_embed.AuditingTests.test_audit_tuple) ... ok test_get_incomplete_frame (test.test_embed.AuditingTests.test_get_incomplete_frame) ... ok test_open_code_hook (test.test_embed.AuditingTests.test_open_code_hook) ... ok test_bpo20891 (test.test_embed.EmbeddingTests.test_bpo20891) bpo-20891: Calling PyGILState_Ensure in a non-Python thread must not ... ok test_finalize_structseq (test.test_embed.EmbeddingTests.test_finalize_structseq) ... ok test_forced_io_encoding (test.test_embed.EmbeddingTests.test_forced_io_encoding) ... ok test_initialize_pymain (test.test_embed.EmbeddingTests.test_initialize_pymain) bpo-34008: Calling Py_Main() after Py_Initialize() must not fail. ... ok test_initialize_twice (test.test_embed.EmbeddingTests.test_initialize_twice) bpo-33932: Calling Py_Initialize() twice should do nothing (and not ... ok test_pre_initialization_api (test.test_embed.EmbeddingTests.test_pre_initialization_api) Checks some key parts of the C-API that need to work before the runtime ... ok test_pre_initialization_sys_options (test.test_embed.EmbeddingTests.test_pre_initialization_sys_options) Checks that sys.warnoptions and sys._xoptions can be set before the ... ok test_repeated_init_and_inittab (test.test_embed.EmbeddingTests.test_repeated_init_and_inittab) ... ok test_run_main (test.test_embed.EmbeddingTests.test_run_main) ... ok test_run_main_loop (test.test_embed.EmbeddingTests.test_run_main_loop) ... ok test_simple_initialization_api (test.test_embed.EmbeddingTests.test_simple_initialization_api) ... ok test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE (test.test_embed.EmbeddingTests.test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE) ... ok test_subinterps_different_ids (test.test_embed.EmbeddingTests.test_subinterps_different_ids) ... ok test_subinterps_distinct_state (test.test_embed.EmbeddingTests.test_subinterps_distinct_state) ... ok test_subinterps_main (test.test_embed.EmbeddingTests.test_subinterps_main) ... ok test_ucnhash_capi_reset (test.test_embed.EmbeddingTests.test_ucnhash_capi_reset) ... ok test_get_argc_argv (test.test_embed.InitConfigTests.test_get_argc_argv) ... ok test_getpath_abspath_win32 (test.test_embed.InitConfigTests.test_getpath_abspath_win32) ... skipped 'specific to Windows' test_global_pathconfig (test.test_embed.InitConfigTests.test_global_pathconfig) ... ok test_init_compat_config (test.test_embed.InitConfigTests.test_init_compat_config) ... ok test_init_compat_env (test.test_embed.InitConfigTests.test_init_compat_env) ... ok test_init_default_config (test.test_embed.InitConfigTests.test_init_default_config) ... ok test_init_dev_mode (test.test_embed.InitConfigTests.test_init_dev_mode) ... ok test_init_dont_configure_locale (test.test_embed.InitConfigTests.test_init_dont_configure_locale) ... ok test_init_dont_parse_argv (test.test_embed.InitConfigTests.test_init_dont_parse_argv) ... ok test_init_env_dev_mode (test.test_embed.InitConfigTests.test_init_env_dev_mode) ... ok test_init_env_dev_mode_alloc (test.test_embed.InitConfigTests.test_init_env_dev_mode_alloc) ... ok test_init_from_config (test.test_embed.InitConfigTests.test_init_from_config) ... ok test_init_global_config (test.test_embed.InitConfigTests.test_init_global_config) ... ok test_init_is_python_build_with_home (test.test_embed.InitConfigTests.test_init_is_python_build_with_home) ... ok test_init_isolated_config (test.test_embed.InitConfigTests.test_init_isolated_config) ... ok test_init_isolated_flag (test.test_embed.InitConfigTests.test_init_isolated_flag) ... ok test_init_main (test.test_embed.InitConfigTests.test_init_main) ... ok test_init_main_interpreter_settings (test.test_embed.InitConfigTests.test_init_main_interpreter_settings) ... ok test_init_parse_argv (test.test_embed.InitConfigTests.test_init_parse_argv) ... ok test_init_pybuilddir (test.test_embed.InitConfigTests.test_init_pybuilddir) ... ok test_init_pybuilddir_win32 (test.test_embed.InitConfigTests.test_init_pybuilddir_win32) ... skipped 'See test_init_pybuilddir' test_init_python_config (test.test_embed.InitConfigTests.test_init_python_config) ... ok test_init_python_env (test.test_embed.InitConfigTests.test_init_python_env) ... ok test_init_pyvenv_cfg (test.test_embed.InitConfigTests.test_init_pyvenv_cfg) ... ok test_init_read_set (test.test_embed.InitConfigTests.test_init_read_set) ... skipped 'as of 3.11 this test no longer works because path calculations do not occur on read' test_init_run_main (test.test_embed.InitConfigTests.test_init_run_main) ... ok test_init_set_config (test.test_embed.InitConfigTests.test_init_set_config) ... ok test_init_setpath (test.test_embed.InitConfigTests.test_init_setpath) ... ok test_init_setpath_config (test.test_embed.InitConfigTests.test_init_setpath_config) ... ok test_init_setpythonhome (test.test_embed.InitConfigTests.test_init_setpythonhome) ... ok test_init_sys_add (test.test_embed.InitConfigTests.test_init_sys_add) ... ok test_init_use_frozen_modules (test.test_embed.InitConfigTests.test_init_use_frozen_modules) ... ok test_init_warnoptions (test.test_embed.InitConfigTests.test_init_warnoptions) ... ok test_preinit_compat_config (test.test_embed.InitConfigTests.test_preinit_compat_config) ... ok test_preinit_dont_parse_argv (test.test_embed.InitConfigTests.test_preinit_dont_parse_argv) ... ok test_preinit_isolated1 (test.test_embed.InitConfigTests.test_preinit_isolated1) ... ok test_preinit_isolated2 (test.test_embed.InitConfigTests.test_preinit_isolated2) ... ok test_preinit_isolated_config (test.test_embed.InitConfigTests.test_preinit_isolated_config) ... ok test_preinit_parse_argv (test.test_embed.InitConfigTests.test_preinit_parse_argv) ... ok test_preinit_python_config (test.test_embed.InitConfigTests.test_preinit_python_config) ... ok test_frozenmain (test.test_embed.MiscTests.test_frozenmain) ... ok test_no_memleak (test.test_embed.MiscTests.test_no_memleak) ... skipped '-X showrefcount requires a Python debug build' test_unicode_id_init (test.test_embed.MiscTests.test_unicode_id_init) ... ok test_set_config (test.test_embed.SetConfigTests.test_set_config) ... ok test_disallow_instantiation (test.test_embed.StdPrinterTests.test_disallow_instantiation) ... ok test_methods (test.test_embed.StdPrinterTests.test_methods) ... ok test_write (test.test_embed.StdPrinterTests.test_write) ... ok ---------------------------------------------------------------------- Ran 69 tests in 5.428s OK (skipped=4) == Tests result: SUCCESS == 1 test OK. Total duration: 5.5 sec Total tests: run=69 skipped=4 Total test files: run=1/1 Result: SUCCESS ```
vstinner commented 1 year ago

Can you reproduce the issue without PGO, just with LTO? In short, does the following command reproduce your issue?

CC=clang ./configure --with-lto=full && make && ./python -m test test_embed -v

On Fedora 38 with clang 16 (clang version 16.0.6 (Fedora 16.0.6-3.fc38)), I get:

$ CC=clang LD=clang ./configure --with-lto=full
$ grep NOLTO= Makefile
CONFIGURE_LDFLAGS_NOLTO=-flto=thin
PY_LDFLAGS_NOLTO=$(PY_LDFLAGS) $(CONFIGURE_LDFLAGS_NOLTO) $(LDFLAGS_NODIST)

$ make

$ ./Programs/_testembed test_audit; echo $?
0
$ ./python -m test test_embed 
(...)
Total duration: 2.9 sec
Total tests: run=69 skipped=4
Total test files: run=1/1
Result: SUCCESS

The NOLTO value comes from configure.ac:

if test "$Py_LTO" = 'true' ; then
  case $CC in
    *clang*)
      LDFLAGS_NOLTO="-fno-lto"
      dnl Clang linker requires -flto in order to link objects with LTO information.
      dnl Thin LTO is faster and works for object files with full LTO information, too.
      AX_CHECK_COMPILE_FLAG([-flto=thin],[LDFLAGS_NOLTO="-flto=thin"],[LDFLAGS_NOLTO="-flto"])
vstinner commented 1 year ago

@mdboom:

We are running into this bug on the CPython benchmarking infrastructure, too. git bisect says the first bad commit is https://github.com/python/cpython/commit/6ab6040054e5ca2d3eb7833dc8bf4eb0bbaa0aac.

What is your macOS version? What is your LLVM clang version?

vstinner commented 1 year ago

I found the problem. The offending commit is https://github.com/python/cpython/commit/3e3a7da590e1c3e5f03802e538f26c5204889c82.

Great bisection, that's very helpful, thanks a lot!

debohman commented 1 year ago

Can you reproduce the issue without PGO, just with LTO? In short, does the following command reproduce your issue?

I was testing with LTO and without PGO, now I am rebuilding with LTO and PGO.

vstinner commented 1 year ago

I was testing with LTO and without PGO

Ok, so the issue only comes from LTO=full.

debohman commented 1 year ago

It seems to be the embedding that is somehow tripped up by this.

debohman commented 1 year ago

I don't think we have established that LLVM 17 is the problem. To do that we would need to try building with LLVM 16.

debohman commented 1 year ago

Building with PGO and LTO are fine now.

vstinner commented 1 year ago

Test on Fedora Rawhide with LLVM clang 17:

$ CC=clang LD=clang ./configure --with-lto=full
$ make -j10 

$ ./Programs/_testembed test_audit; echo $?
0

$ ./python -m test test_embed 
(...)
Total duration: 4.7 sec
Total tests: run=69 skipped=4
Total test files: run=1/1
Result: SUCCESS

It works as expected. By the way, PGO+LTO build is tested on Fedora Rawhide on multiple architectures:

vstinner commented 1 year ago

Building with PGO and LTO are fine now.

Would you mind to elaborate "now"? Before you wrote that it didn't work. What changed? Are you still testing the latest main branch?

You're doing tests on macOS 10.12.6 with Clang 17.0.1, right?

vstinner commented 1 year ago

I don't think we have established that LLVM 17 is the problem.

I added "on macOS" to the issue title :-)

debohman commented 1 year ago

Building with PGO and LTO are fine now.

Would you mind to elaborate "now"? Before you wrote that it didn't work. What changed? Are you still testing the latest main branch?

You're doing tests on macOS 10.12.6 with Clang 17.0.1, right?

Sorry, with https://github.com/python/cpython/commit/3e3a7da590e1c3e5f03802e538f26c5204889c82 reverted.

vstinner commented 1 year ago

To do that we would need to try building with LLVM 16.

If you can run your test with LLVM 16 on macOS, that would be nice yes, since I fail to reproduce the issue on Linux with LLVM 17.

debohman commented 1 year ago

To do that we would need to try building with LLVM 16.

If you can run your test with LLVM 16 on macOS, that would be nice yes, since I fail to reproduce the issue on Linux with LLVM 17.

Yes, I will try that, but it will have to be later. It is past dinnertime now.

debohman commented 1 year ago

The issue exists when building with LLVM 16, and backing out commit 3e3a7da resolves it.

vstinner commented 1 year ago

@corona10: Should we just give up on the "NOLTO" idea, building some object files with LTO (full) or then attempt to use a different LTO mode (thin) to link them? Nor only revert https://github.com/python/cpython/commit/3e3a7da590e1c3e5f03802e538f26c5204889c82 but also remove NOLTO variables.

corona10 commented 1 year ago

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

@debohman Are you using a custom compiler toolchain rather than using the Apple basic toolchain?

corona10 commented 1 year ago

Nor only revert https://github.com/python/cpython/commit/3e3a7da590e1c3e5f03802e538f26c5204889c82 but also remove NOLTO variables.

I am okay with reverting the PR, IIUC it was just intended to speed up the build, but I need to know what effect will occur if drop the "NOLTO" idea.

corona10 commented 1 year ago

If we drop the "NOLTO" idea, it will occur https://github.com/python/cpython/issues/96761 again. Please let me know If I misunderstand.

corona10 commented 1 year ago

Or do you intend to revert https://github.com/python/cpython/pull/29859 too?

debohman commented 1 year ago

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

@debohman Are you using a custom compiler toolchain rather than using the Apple basic toolchain?

The stock linker is being used, the rest of the toolchain is the newer llvm / clang.

mdboom commented 1 year ago

What is your macOS version? What is your LLVM clang version?

It's macOS 13.6

% clang --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
% uname -a
Darwin CPythons-Mac-mini.local 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:30 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_ARM64_T8103 arm64

I'm building CPython as follows:

./configure --with-openssl=$(brew --prefix openssl) --enable-optimizations --with-lto
make -j