[Python-Dev] pdb segfaults in 2.5 trunk?
Phillip J. Eby
pje at telecommunity.com
Mon Apr 10 22:41:31 CEST 2006
At 09:47 PM 4/10/2006 +0200, Thomas Wouters wrote:
>On 4/10/06, Phillip J. Eby
><<mailto:pje at telecommunity.com>pje at telecommunity.com> wrote:
>>Is anybody else getting this?
>
>> > <stdin>(2)x()
>>(Pdb) s
>>Segmentation fault
>
>I'm not able to reproduce this in 32bit or 64bit mode (debian unstable.)
>Does 'make distclean' before configure/compile fix it?
Nope.
> If not, can you unlimit coredumpsize and check to see what it crashes on?
#0 0x401bbaa4 in _int_free () from /lib/libc.so.6
#1 0x401baa3c in free () from /lib/libc.so.6
#2 0x080a253e in builtin_raw_input (self=0x0, args=0x4050862c) at
Python/bltinmodule.c:1759
It appears the problem is an object/mem mismatch: both PyOS_Readline in
pgenmain.c, and PyOS_StdioReadline use PyObject_MALLOC, but bltinmodule.c
is freeing the pointer with PyMem_FREE.
Just to add to the confusion, by the way, the "readline" module dynamically
sets PyOS_ReadlineFunctionPointer to call_readline, which does its
allocation with PyMem_MALLOC...
So does anybody know what the protocol should be for readline
functions? What about readline implementations that are "in the field", so
to speak? (e.g. modules that use the readline hook to implement that
functionality using something other than GNU readline).
More information about the Python-Dev
mailing list