Bram Moolenaar wrote:
> When running test 86 under valgrind several memory access errors are
> reported. Here is the first one:
>
> ==31463== Invalid read of size 4
> ==31463== at 0x4C6244A: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C1E8E6: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B8FC23: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C02EE2: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C036CA: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4BF3DC9: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4BFC916: PyImport_ImportModuleLevel (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B71B92: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C14128: PyCFunction_Call (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C12F1F: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C1386A: PyEval_CallObjectWithKeywords (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B2C24B: PyEval_EvalFrameEx (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B30B04: PyEval_EvalCodeEx (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B30C42: PyEval_EvalCode (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B76281: PyImport_ExecCodeModuleEx (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== Address 0x59fb010 is 288 bytes inside a block of size 2,731
> free'd
> ==31463== at 0x402BF06: free (in
> /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
> ==31463== by 0x4B7C5DC: PyMarshal_ReadLastObjectFromFile (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C02D65: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C036CA: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4BF3DC9: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4BFC916: PyImport_ImportModuleLevel (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B71B92: ??? (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C14128: PyCFunction_Call (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C12F1F: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4C1386A: PyEval_CallObjectWithKeywords (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B2C24B: PyEval_EvalFrameEx (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B30B04: PyEval_EvalCodeEx (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B30C42: PyEval_EvalCode (in
> /usr/lib/libpython2.7.so.1.0)
> ==31463== by 0x4B76281: PyImport_ExecCodeModuleEx (in
> /usr/lib/libpython2.7.so.1.0)
>
> I would appreciate it if someone can look into it. Note that this may
> not be a problem in Vim but in Python. Or the way Vim uses Python.
This is a known caveat with Python. These Valgrind errors can be
silenced by configuring and compiling the Python lib with:
./configure --without-pymalloc.
More details can be found at:
http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup
I remember looking into this a long time ago. I put a note
about it here (see section 4 near the end: "Known issues and limitations"):
http://dominique.pelle.free.fr/valgrind.txt.html
Regards
Dominique
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.