[New-bugs-announce] [issue40953] _PyWideStringList_Copy breaks asan builds
Christian Heimes
report at bugs.python.org
Fri Jun 12 03:30:34 EDT 2020
New submission from Christian Heimes <lists at cheimes.de>:
It's not possible to build Python with address sanitizer and memory leak checker asan.
$ ./configure --with-address-sanitizer --with-undefined-behavior-sanitizer
$ make
...
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
=================================================================
==1585722==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7fa404ea9667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667)
#1 0x9ab398 in _PyWideStringList_Copy Python/initconfig.c:315
#2 0x9b48bd in _PyConfig_Copy Python/initconfig.c:857
#3 0xa20b4c in _PyInterpreterState_SetConfig Python/pystate.c:1834
#4 0xa07a14 in pycore_create_interpreter Python/pylifecycle.c:554
#5 0xa07a14 in pyinit_config Python/pylifecycle.c:759
#6 0xa07a14 in pyinit_core Python/pylifecycle.c:926
#7 0xa09b17 in Py_InitializeFromConfig Python/pylifecycle.c:1136
#8 0x4766c2 in pymain_init Modules/main.c:66
#9 0x47bd12 in pymain_main Modules/main.c:653
#10 0x47bd12 in Py_BytesMain Modules/main.c:686
#11 0x7fa404173041 in __libc_start_main (/lib64/libc.so.6+0x27041)
Direct leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7fa404ea9667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667)
#1 0x9ab398 in _PyWideStringList_Copy Python/initconfig.c:315
#2 0x9b8ee8 in PyConfig_Read Python/initconfig.c:2506
#3 0xa07282 in pyinit_core Python/pylifecycle.c:920
#4 0xa09b17 in Py_InitializeFromConfig Python/pylifecycle.c:1136
#5 0x4766c2 in pymain_init Modules/main.c:66
#6 0x47bd12 in pymain_main Modules/main.c:653
#7 0x47bd12 in Py_BytesMain Modules/main.c:686
#8 0x7fa404173041 in __libc_start_main (/lib64/libc.so.6+0x27041)
Indirect leak of 200 byte(s) in 6 object(s) allocated from:
#0 0x7fa404ea9667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667)
#1 0x63351c in PyMem_RawMalloc Objects/obmalloc.c:572
#2 0x63351c in _PyMem_RawWcsdup Objects/obmalloc.c:644
#3 0x9ab457 in _PyWideStringList_Copy Python/initconfig.c:321
#4 0x9b48bd in _PyConfig_Copy Python/initconfig.c:857
#5 0xa20b4c in _PyInterpreterState_SetConfig Python/pystate.c:1834
#6 0xa07a14 in pycore_create_interpreter Python/pylifecycle.c:554
#7 0xa07a14 in pyinit_config Python/pylifecycle.c:759
#8 0xa07a14 in pyinit_core Python/pylifecycle.c:926
#9 0xa09b17 in Py_InitializeFromConfig Python/pylifecycle.c:1136
#10 0x4766c2 in pymain_init Modules/main.c:66
#11 0x47bd12 in pymain_main Modules/main.c:653
#12 0x47bd12 in Py_BytesMain Modules/main.c:686
#13 0x7fa404173041 in __libc_start_main (/lib64/libc.so.6+0x27041)
Indirect leak of 200 byte(s) in 6 object(s) allocated from:
#0 0x7fa404ea9667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667)
#1 0x63351c in PyMem_RawMalloc Objects/obmalloc.c:572
#2 0x63351c in _PyMem_RawWcsdup Objects/obmalloc.c:644
#3 0x9ab457 in _PyWideStringList_Copy Python/initconfig.c:321
#4 0x9b8ee8 in PyConfig_Read Python/initconfig.c:2506
#5 0xa07282 in pyinit_core Python/pylifecycle.c:920
#6 0xa09b17 in Py_InitializeFromConfig Python/pylifecycle.c:1136
#7 0x4766c2 in pymain_init Modules/main.c:66
#8 0x47bd12 in pymain_main Modules/main.c:653
#9 0x47bd12 in Py_BytesMain Modules/main.c:686
#10 0x7fa404173041 in __libc_start_main (/lib64/libc.so.6+0x27041)
Workaround:
$ cat Misc/asan-suppression.txt
leak:_PyWideStringList_Copy
$ LSAN_OPTIONS="suppressions=Misc/asan-suppression.txt" make
----------
components: Build
messages: 371336
nosy: christian.heimes
priority: normal
severity: normal
status: open
title: _PyWideStringList_Copy breaks asan builds
type: compile error
versions: Python 3.10, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40953>
_______________________________________
More information about the New-bugs-announce
mailing list