Python-Extension: `malloc`-Assertion-Fehler

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Hallöchen,

ich mache grade meine ersten Schritte in C+Python (eigentlich auch in C).

Ich verwende `PyDict_New` und bekomme dabei regelmäßig folgenden Fehler:

Code: Alles auswählen

malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *)
&((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd))))
&& old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)
((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1))
& ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) &&
((unsigned long)old_end & pagemask) == 0)' failed.
Aborted
Schalte ich das malloc-Fehlerreporting aus, bekomme ich einen Segmentation Fault im `malloc`-Aufruf, der von `PyDict_New` getätigt wird.

Konkret geht es um diese Zeile.

Jemand eine Ahnung, wovon das kommt? Hab nichts Schlaues dazu gefunden.

Danke :)
Antworten