-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed
Labels
buildThe build process and cross-buildThe build process and cross-buildtopic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
When building CPython with both AddressSanitizer and the experimental JIT enabled, the build fails during the frozen module generation step. _bootstrap_python triggers a LeakSanitizer error, causing make to abort.
Steps to reproduce:
- Configure:
CC=clang-21 CXX=clang++-21 ./configure --with-pydebug --with-address-sanitizer --enable-experimental-jit=yes - Build:
make -j
Actual Result:
The build fails when running _freeze_module.py for various modules (e.g., abc, io, os) due to memory leaks detected in the JIT optimizer.
Logs:
./_bootstrap_python ./Programs/_freeze_module.py abc ./Lib/abc.py Python/frozen_modules/abc.h
./_bootstrap_python ./Programs/_freeze_module.py codecs ./Lib/codecs.py Python/frozen_modules/codecs.h
./_bootstrap_python ./Programs/_freeze_module.py io ./Lib/io.py Python/frozen_modules/io.h
./_bootstrap_python ./Programs/_freeze_module.py _collections_abc ./Lib/_collections_abc.py Python/frozen_modules/_collections_abc.h
./_bootstrap_python ./Programs/_freeze_module.py _sitebuiltins ./Lib/_sitebuiltins.py Python/frozen_modules/_sitebuiltins.h
./_bootstrap_python ./Programs/_freeze_module.py genericpath ./Lib/genericpath.py Python/frozen_modules/genericpath.h
./_bootstrap_python ./Programs/_freeze_module.py ntpath ./Lib/ntpath.py Python/frozen_modules/ntpath.h
./_bootstrap_python ./Programs/_freeze_module.py posixpath ./Lib/posixpath.py Python/frozen_modules/posixpath.h
./_bootstrap_python ./Programs/_freeze_module.py os ./Lib/os.py Python/frozen_modules/os.h
./_bootstrap_python ./Programs/_freeze_module.py site ./Lib/site.py Python/frozen_modules/site.h
./_bootstrap_python ./Programs/_freeze_module.py stat ./Lib/stat.py Python/frozen_modules/stat.h
./_bootstrap_python ./Programs/_freeze_module.py importlib.util ./Lib/importlib/util.py Python/frozen_modules/importlib.util.h
./_bootstrap_python ./Programs/_freeze_module.py importlib.machinery ./Lib/importlib/machinery.py Python/frozen_modules/importlib.machinery.h
./_bootstrap_python ./Programs/_freeze_module.py runpy ./Lib/runpy.py Python/frozen_modules/runpy.h
./_bootstrap_python ./Programs/_freeze_module.py __hello__ ./Lib/__hello__.py Python/frozen_modules/__hello__.h
./_bootstrap_python ./Programs/_freeze_module.py __phello__ ./Lib/__phello__/__init__.py Python/frozen_modules/__phello__.h
./_bootstrap_python ./Programs/_freeze_module.py __phello__.ham ./Lib/__phello__/ham/__init__.py Python/frozen_modules/__phello__.ham.h
./_bootstrap_python ./Programs/_freeze_module.py __phello__.ham.eggs ./Lib/__phello__/ham/eggs.py Python/frozen_modules/__phello__.ham.eggs.h
./_bootstrap_python ./Programs/_freeze_module.py __phello__.spam ./Lib/__phello__/spam.py Python/frozen_modules/__phello__.spam.h
./_bootstrap_python ./Programs/_freeze_module.py frozen_only ./Tools/freeze/flag.py Python/frozen_modules/frozen_only.h
=================================================================
==101792==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 928 byte(s) in 1 object(s) allocated from:
#0 0x55a04fc50e05 in malloc (/home/boss/projects/oss/cpython/main/_bootstrap_python+0x3c0e05) (BuildId: feb0b0ad7812cf194946c046f537c5966b282e6d)
#1 0x55a04ffd4df1 in _PyMem_DebugRawAlloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:2889:24
#2 0x55a04ffd4df1 in _PyMem_DebugRawMalloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:2922:12
#3 0x55a04ffd4df1 in _PyMem_DebugMalloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:3087:12
#4 0x55a050303b30 in _PyObject_MallocWithType /home/boss/projects/oss/cpython/main/./Include/internal/pycore_object_alloc.h:46:17
#5 0x55a050303b30 in gc_alloc /home/boss/projects/oss/cpython/main/Python/gc.c:2352:17
#6 0x55a050303b30 in _PyObject_GC_NewVar /home/boss/projects/oss/cpython/main/Python/gc.c:2394:25
#7 0x55a05074c0c5 in allocate_executor /home/boss/projects/oss/cpython/main/Python/optimizer.c:1245:30
#8 0x55a05074c0c5 in make_executor_from_uops /home/boss/projects/oss/cpython/main/Python/optimizer.c:1332:35
#9 0x55a05074c0c5 in uop_optimize /home/boss/projects/oss/cpython/main/Python/optimizer.c:1510:35
#10 0x55a05074c0c5 in _PyOptimizer_Optimize /home/boss/projects/oss/cpython/main/Python/optimizer.c:164:15
#11 0x55a0502632c3 in stop_tracing_and_jit /home/boss/projects/oss/cpython/main/Python/ceval.c:1405:15
#12 0x55a05021f2bd in _PyEval_EvalFrameDefault /home/boss/projects/oss/cpython/main/Python/generated_cases.c.h:11637:27
#13 0x55a04fecbe0a in _PyEval_EvalFrame /home/boss/projects/oss/cpython/main/./Include/internal/pycore_ceval.h:119:16
#14 0x55a04fecbe0a in gen_send_ex2 /home/boss/projects/oss/cpython/main/Objects/genobject.c:259:24
#15 0x55a04fec61e1 in gen_iternext /home/boss/projects/oss/cpython/main/Objects/genobject.c:636:9
#16 0x55a04ff0c128 in list_extend_iter_lock_held /home/boss/projects/oss/cpython/main/Objects/listobject.c:1263:26
#17 0x55a04ff03670 in _list_extend /home/boss/projects/oss/cpython/main/Objects/listobject.c:1452:15
#18 0x55a04ff031d8 in list_extend_impl /home/boss/projects/oss/cpython/main/Objects/listobject.c:1471:9
#19 0x55a04ff031d8 in list_extend /home/boss/projects/oss/cpython/main/Objects/clinic/listobject.c.h:145:20
#20 0x55a04ff031d8 in _PyList_Extend /home/boss/projects/oss/cpython/main/Objects/listobject.c:1480:12
#21 0x55a04fe14697 in PySequence_List /home/boss/projects/oss/cpython/main/Objects/abstract.c:2086:10
#22 0x55a04fe14abb in PySequence_Fast /home/boss/projects/oss/cpython/main/Objects/abstract.c:2117:9
#23 0x55a0500bf535 in PyUnicode_Join /home/boss/projects/oss/cpython/main/Objects/unicodeobject.c:9961:12
#24 0x55a050238553 in _PyEval_EvalFrameDefault /home/boss/projects/oss/cpython/main/Python/generated_cases.c.h:3775:35
#25 0x55a0501fc1f7 in _PyEval_EvalFrame /home/boss/projects/oss/cpython/main/./Include/internal/pycore_ceval.h:119:16
#26 0x55a0501fc1f7 in _PyEval_Vector /home/boss/projects/oss/cpython/main/Python/ceval.c:2482:12
#27 0x55a0501fbbf1 in PyEval_EvalCode /home/boss/projects/oss/cpython/main/Python/ceval.c:1008:21
#28 0x55a0507e261e in run_eval_code_obj /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1366:12
#29 0x55a0507e17cb in run_mod /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1469:19
#30 0x55a0507dbcdc in pyrun_file /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1294:15
#31 0x55a0507d986c in _PyRun_SimpleFileObject /home/boss/projects/oss/cpython/main/Python/pythonrun.c:518:13
#32 0x55a0507d8bad in _PyRun_AnyFileObject /home/boss/projects/oss/cpython/main/Python/pythonrun.c:81:15
#33 0x55a05085637a in pymain_run_file_obj /home/boss/projects/oss/cpython/main/Modules/main.c:410:15
#34 0x55a05085637a in pymain_run_file /home/boss/projects/oss/cpython/main/Modules/main.c:429:15
#35 0x55a0508543b3 in pymain_run_python /home/boss/projects/oss/cpython/main/Modules/main.c:691:21
#36 0x55a0508543b3 in Py_RunMain /home/boss/projects/oss/cpython/main/Modules/main.c:772:5
#37 0x55a0509fbeeb in main /home/boss/projects/oss/cpython/main/Programs/_bootstrap_python.c:100:12
#38 0x7f98d8627634 (/usr/lib/libc.so.6+0x27634) (BuildId: 2f722da304c0a508c891285e6840199c35019c8d)
#39 0x7f98d86276e8 in __libc_start_main (/usr/lib/libc.so.6+0x276e8) (BuildId: 2f722da304c0a508c891285e6840199c35019c8d)
#40 0x55a04fb4d314 in _start (/home/boss/projects/oss/cpython/main/_bootstrap_python+0x2bd314) (BuildId: feb0b0ad7812cf194946c046f537c5966b282e6d)
SUMMARY: AddressSanitizer: 928 byte(s) leaked in 1 allocation(s).
=================================================================
==101793==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 928 byte(s) in 1 object(s) allocated from:
#0 0x55ad07d8be05 in malloc (/home/boss/projects/oss/cpython/main/_bootstrap_python+0x3c0e05) (BuildId: feb0b0ad7812cf194946c046f537c5966b282e6d)
#1 0x55ad0810fdf1 in _PyMem_DebugRawAlloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:2889:24
#2 0x55ad0810fdf1 in _PyMem_DebugRawMalloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:2922:12
#3 0x55ad0810fdf1 in _PyMem_DebugMalloc /home/boss/projects/oss/cpython/main/Objects/obmalloc.c:3087:12
#4 0x55ad0843eb30 in _PyObject_MallocWithType /home/boss/projects/oss/cpython/main/./Include/internal/pycore_object_alloc.h:46:17
#5 0x55ad0843eb30 in gc_alloc /home/boss/projects/oss/cpython/main/Python/gc.c:2352:17
#6 0x55ad0843eb30 in _PyObject_GC_NewVar /home/boss/projects/oss/cpython/main/Python/gc.c:2394:25
#7 0x55ad088870c5 in allocate_executor /home/boss/projects/oss/cpython/main/Python/optimizer.c:1245:30
#8 0x55ad088870c5 in make_executor_from_uops /home/boss/projects/oss/cpython/main/Python/optimizer.c:1332:35
#9 0x55ad088870c5 in uop_optimize /home/boss/projects/oss/cpython/main/Python/optimizer.c:1510:35
#10 0x55ad088870c5 in _PyOptimizer_Optimize /home/boss/projects/oss/cpython/main/Python/optimizer.c:164:15
#11 0x55ad0839e2c3 in stop_tracing_and_jit /home/boss/projects/oss/cpython/main/Python/ceval.c:1405:15
#12 0x55ad0835a2bd in _PyEval_EvalFrameDefault /home/boss/projects/oss/cpython/main/Python/generated_cases.c.h:11637:27
#13 0x55ad08006e0a in _PyEval_EvalFrame /home/boss/projects/oss/cpython/main/./Include/internal/pycore_ceval.h:119:16
#14 0x55ad08006e0a in gen_send_ex2 /home/boss/projects/oss/cpython/main/Objects/genobject.c:259:24
#15 0x55ad080011e1 in gen_iternext /home/boss/projects/oss/cpython/main/Objects/genobject.c:636:9
#16 0x55ad08047128 in list_extend_iter_lock_held /home/boss/projects/oss/cpython/main/Objects/listobject.c:1263:26
#17 0x55ad0803e670 in _list_extend /home/boss/projects/oss/cpython/main/Objects/listobject.c:1452:15
#18 0x55ad0803e1d8 in list_extend_impl /home/boss/projects/oss/cpython/main/Objects/listobject.c:1471:9
#19 0x55ad0803e1d8 in list_extend /home/boss/projects/oss/cpython/main/Objects/clinic/listobject.c.h:145:20
#20 0x55ad0803e1d8 in _PyList_Extend /home/boss/projects/oss/cpython/main/Objects/listobject.c:1480:12
#21 0x55ad07f4f697 in PySequence_List /home/boss/projects/oss/cpython/main/Objects/abstract.c:2086:10
#22 0x55ad07f4fabb in PySequence_Fast /home/boss/projects/oss/cpython/main/Objects/abstract.c:2117:9
#23 0x55ad081fa535 in PyUnicode_Join /home/boss/projects/oss/cpython/main/Objects/unicodeobject.c:9961:12
#24 0x55ad08373553 in _PyEval_EvalFrameDefault /home/boss/projects/oss/cpython/main/Python/generated_cases.c.h:3775:35
#25 0x55ad083371f7 in _PyEval_EvalFrame /home/boss/projects/oss/cpython/main/./Include/internal/pycore_ceval.h:119:16
#26 0x55ad083371f7 in _PyEval_Vector /home/boss/projects/oss/cpython/main/Python/ceval.c:2482:12
#27 0x55ad08336bf1 in PyEval_EvalCode /home/boss/projects/oss/cpython/main/Python/ceval.c:1008:21
#28 0x55ad0891d61e in run_eval_code_obj /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1366:12
#29 0x55ad0891c7cb in run_mod /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1469:19
#30 0x55ad08916cdc in pyrun_file /home/boss/projects/oss/cpython/main/Python/pythonrun.c:1294:15
#31 0x55ad0891486c in _PyRun_SimpleFileObject /home/boss/projects/oss/cpython/main/Python/pythonrun.c:518:13
#32 0x55ad08913bad in _PyRun_AnyFileObject /home/boss/projects/oss/cpython/main/Python/pythonrun.c:81:15
#33 0x55ad0899137a in pymain_run_file_obj /home/boss/projects/oss/cpython/main/Modules/main.c:410:15
#34 0x55ad0899137a in pymain_run_file /home/boss/projects/oss/cpython/main/Modules/main.c:429:15
#35 0x55ad0898f3b3 in pymain_run_python /home/boss/projects/oss/cpython/main/Modules/main.c:691:21
#36 0x55ad0898f3b3 in Py_RunMain /home/boss/projects/oss/cpython/main/Modules/main.c:772:5
#37 0x55ad08b36eeb in main /home/boss/projects/oss/cpython/main/Programs/_bootstrap_python.c:100:12
#38 0x7fb048027634 (/usr/lib/libc.so.6+0x27634) (BuildId: 2f722da304c0a508c891285e6840199c35019c8d)
#39 0x7fb0480276e8 in __libc_start_main (/usr/lib/libc.so.6+0x276e8) (BuildId: 2f722da304c0a508c891285e6840199c35019c8d)
#40 0x55ad07c88314 in _start (/home/boss/projects/oss/cpython/main/_bootstrap_python+0x2bd314) (BuildId: feb0b0ad7812cf194946c046f537c5966b282e6d)
SUMMARY: AddressSanitizer: 928 byte(s) leaked in 1 allocation(s).
make: *** [Makefile:1965: Python/frozen_modules/_collections_abc.h] Error 1
make: *** [Makefile:1980: Python/frozen_modules/os.h] Error 1
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Metadata
Metadata
Assignees
Labels
buildThe build process and cross-buildThe build process and cross-buildtopic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error