This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author simonaldrich
Recipients simonaldrich
Date 2021-04-28.13:53:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1619618001.66.0.42182617734.issue43967@roundup.psfhosted.org>
In-reply-to
Content
Running a Valgrind memcheck of Py_Initialize still produces issues even when using the suggested suppressions file. Am I doing something wrong or is this expected?

I've attached a simple reproducer which can be run as follows:

1. Extract tarball
2. cmake
3. make memcheck (runs valgrind with suppressions)

Gives output similar to:

[100%] Built target valgrind-libpython
==2901== Memcheck, a memory error detector
==2901== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2901== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==2901== Command: ./valgrind-libpython
==2901== 
==2901== Conditional jump or move depends on uninitialised value(s)
==2901==    at 0x5729DB7: __wcsnlen_avx2 (strlen-avx2.S:264)
==2901==    by 0x5657CA1: wcsrtombs (wcsrtombs.c:104)
==2901==    by 0x55DDC40: wcstombs (wcstombs.c:34)
==2901==    by 0x4FB7EB9: _Py_EncodeLocaleRaw (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FB99F7: ??? (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FBB8B2: _PyPathConfig_Calculate (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FDAC8D: _PyConfig_InitPathConfig (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE4F6E: PyConfig_Read (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE687A: ??? (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE79A1: Py_InitializeFromConfig (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE7A5B: Py_InitializeEx (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x108758: main (in /home/simon/temp/valgrind-libpython/build/valgrind-libpython)
==2901== 
==2901== Conditional jump or move depends on uninitialised value(s)
==2901==    at 0x55C14E8: internal_utf8_loop (loop.c:298)
==2901==    by 0x55C14E8: __gconv_transform_internal_utf8 (skeleton.c:609)
==2901==    by 0x5657CD4: wcsrtombs (wcsrtombs.c:110)
==2901==    by 0x55DDC40: wcstombs (wcstombs.c:34)
==2901==    by 0x4FB7EB9: _Py_EncodeLocaleRaw (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FB99F7: ??? (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FBB8B2: _PyPathConfig_Calculate (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FDAC8D: _PyConfig_InitPathConfig (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE4F6E: PyConfig_Read (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE687A: ??? (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE79A1: Py_InitializeFromConfig (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x4FE7A5B: Py_InitializeEx (in /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0)
==2901==    by 0x108758: main (in /home/simon/temp/valgrind-libpython/build/valgrind-libpython)...
History
Date User Action Args
2021-04-28 13:53:21simonaldrichsetrecipients: + simonaldrich
2021-04-28 13:53:21simonaldrichsetmessageid: <1619618001.66.0.42182617734.issue43967@roundup.psfhosted.org>
2021-04-28 13:53:21simonaldrichlinkissue43967 messages
2021-04-28 13:53:21simonaldrichcreate