>> > So it looks like PyOblect_Free() was called with 0x800 as an argument, >> > which is a bogus pointer value. Can you go up one stack level and see >> > what the value of k in function_call() is? >> 713 if (ADDRESS_IN_RANGE(p, pool->arenaindex)) { >> (gdb) up >> # 1 0x080dfef4 in function_call (func=0x826317c, arg=0x8256aac, >> kw=0x8269bdc) at Objects/funcobject.c:481 >> 481 PyMem_DEL(k); >> (gdb) p k >> $1 = (struct _object **) 0x800 > > Well, then maybe you can follow MvL's suggestion and find out how come > this value was returned by PyMem_NEW(PyObject *, 2*nk)??? The problem seems to be in the FreeBSD malloc implementation. malloc(0) returns 0x800 in all my tests. malloc(1) and up seems to work properly.. HTH, Marc
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4