Author skrah
Recipients akuchling, asmodai, mark.dickinson, r.david.murray, skrah
Date 2010-04-17.09:37:20
SpamBayes Score 1.67013e-11
Marked as misclassified No
Message-id <1271497044.68.0.976644655751.issue7384@psf.upfronthosting.co.za>
In-reply-to
Content
One oddity: In Mark's test case, the error only shows if readline
is imported _before_ curses. The other way around it's fine.


On FreeBSD 8.0 amd64, with the _default_ libcurses, the Valgrind output
for py3k looks like this:

[...]
==31089== Invalid write of size 8
==31089==    at 0x284F1AE: getwin (in /lib/libncursesw.so.8)
==31089==    by 0x2AE8532: PyCurses_GetWin (_cursesmodule.c:1903)
==31089==    by 0x47FBC7: call_function (ceval.c:3833)
==31089==    by 0x47AAC0: PyEval_EvalFrameEx (ceval.c:2645)
==31089==    by 0x47DF41: PyEval_EvalCodeEx (ceval.c:3282)
==31089==    by 0x47189F: PyEval_EvalCode (ceval.c:721)
==31089==    by 0x4B31AA: run_mod (pythonrun.c:1692)
==31089==    by 0x4B2FC3: PyRun_FileExFlags (pythonrun.c:1649)
==31089==    by 0x4B1734: PyRun_SimpleFileExFlags (pythonrun.c:1177)
==31089==    by 0x4B0C75: PyRun_AnyFileExFlags (pythonrun.c:963)
==31089==    by 0x4CB029: Py_Main (main.c:650)
==31089==    by 0x4150E4: main (python.c:152)
==31089==  Address 0x25c71e0 is 0 bytes after a block of size 112 alloc'd
==31089==    at 0x25A8AE: calloc (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==31089==    by 0x29C518A: _nc_makenew (in /lib/libncurses.so.8)
==31089==    by 0x29C569F: newwin (in /lib/libncurses.so.8)
==31089==    by 0x284F2EE: getwin (in /lib/libncursesw.so.8)
==31089==    by 0x2AE8532: PyCurses_GetWin (_cursesmodule.c:1903)
==31089==    by 0x47FBC7: call_function (ceval.c:3833)
==31089==    by 0x47AAC0: PyEval_EvalFrameEx (ceval.c:2645)
==31089==    by 0x47DF41: PyEval_EvalCodeEx (ceval.c:3282)
==31089==    by 0x47189F: PyEval_EvalCode (ceval.c:721)
==31089==    by 0x4B31AA: run_mod (pythonrun.c:1692)
==31089==    by 0x4B2FC3: PyRun_FileExFlags (pythonrun.c:1649)
==31089==    by 0x4B1734: PyRun_SimpleFileExFlags (pythonrun.c:1177)
==31089==
[...]


Then I installed the curses from /usr/ports/devel/ncurses, and the
error didn't show up any more. I'm inclined to think that the bug is
in the system ncurses. Still, it would be nice to know why the import
order matters.
History
Date User Action Args
2010-04-17 09:37:25skrahsetrecipients: + skrah, akuchling, mark.dickinson, asmodai, r.david.murray
2010-04-17 09:37:24skrahsetmessageid: <1271497044.68.0.976644655751.issue7384@psf.upfronthosting.co.za>
2010-04-17 09:37:22skrahlinkissue7384 messages
2010-04-17 09:37:21skrahcreate