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 Paul.Price
Recipients Paul.Price
Date 2011-07-22.16:36:10
SpamBayes Score 7.807197e-08
Marked as misclassified No
Message-id <1311352571.88.0.0623185894462.issue12612@psf.upfronthosting.co.za>
In-reply-to
Content
I am running Python 2.7.1 under Valgrind 3.6.1 on a x86_64 GNU/Linux box.  Valgrind is flagging errors that are not covered by the standard suppressions file (Misc/valgrind-python.supp; after uncommenting the part I'm supposed to), e.g.:

==5804== Use of uninitialised value of size 8
==5804==    at 0x4EBA956: PyObject_Free (obmalloc.c:958)
==5804==    by 0x4E85D65: code_dealloc (codeobject.c:317)
==5804==    by 0x4ECE23C: tupledealloc (tupleobject.c:220)
==5804==    by 0x4E85E42: code_dealloc (codeobject.c:308)
==5804==    by 0x4F3315D: load_source_module (import.c:1022)
==5804==    by 0x4F33F7E: import_submodule (import.c:2596)
==5804==    by 0x4F3420E: load_next (import.c:2416)
==5804==    by 0x4F3484F: import_module_level (import.c:2137)
==5804==    by 0x4F34DA3: PyImport_ImportModuleLevel (import.c:2189)
==5804==    by 0x4F16ABE: builtin___import__ (bltinmodule.c:49)
==5804==    by 0x4E6DA42: PyObject_Call (abstract.c:2529)
==5804==    by 0x4F16F82: PyEval_CallObjectWithKeywords (ceval.c:3881)

==5804== Use of uninitialised value of size 8
==5804==    at 0x4EBA956: PyObject_Free (obmalloc.c:958)
==5804==    by 0x4E85D65: code_dealloc (codeobject.c:317)
==5804==    by 0x4F3315D: load_source_module (import.c:1022)
==5804==    by 0x4F33F7E: import_submodule (import.c:2596)
==5804==    by 0x4F3420E: load_next (import.c:2416)
==5804==    by 0x4F3484F: import_module_level (import.c:2137)
==5804==    by 0x4F34DA3: PyImport_ImportModuleLevel (import.c:2189)
==5804==    by 0x4F16ABE: builtin___import__ (bltinmodule.c:49)
==5804==    by 0x4E6DA42: PyObject_Call (abstract.c:2529)
==5804==    by 0x4F16F82: PyEval_CallObjectWithKeywords (ceval.c:3881)
==5804==    by 0x4F1ACD3: PyEval_EvalFrameEx (ceval.c:2332)
==5804==    by 0x4F1F347: PyEval_EvalCodeEx (ceval.c:3252)

etc.

Perhaps the suppressions file covers only 32-bit machines, because if I add:

{
   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
   Memcheck:Addr8
   fun:PyObject_Free
}

{
   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
   Memcheck:Value8
   fun:PyObject_Free
}

{
   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
   Memcheck:Addr8
   fun:PyObject_Realloc
}

{
   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
   Memcheck:Value8
   fun:PyObject_Realloc
}

(i.e., "Value8" instead of "Value4") then all is clear.
History
Date User Action Args
2011-07-22 16:36:11Paul.Pricesetrecipients: + Paul.Price
2011-07-22 16:36:11Paul.Pricesetmessageid: <1311352571.88.0.0623185894462.issue12612@psf.upfronthosting.co.za>
2011-07-22 16:36:11Paul.Pricelinkissue12612 messages
2011-07-22 16:36:10Paul.Pricecreate