Apoorv Reddy <apoorvredd...@gmail.com> added the comment:
Greetings Larry ! I apologize for spamming so many people. I was hoping to get some insight into this ! Could you let me know to whom I could reach out for help ? I've included tehybel as I saw that he has raised/resolved some issues with PyDict in the past. My C code is essentially just this: #include "Python.h" #ifdef __cplusplus extern "C" double test(PyObject* key, PyObject* dict) #else double test(PyObject* key, PyObject* dict) #endif { PyObject* list = PyObject_GetItem(dict, key); return 0.0; } ------------ And my Python Code is this. I'm pretty sure I've got the input and output types correct here. from ctypes import cdll from ctypes import * import json import sys import pickle dll = CDLL('./test2.so') dll.test.restype = c_double dll.test.argtypes = (py_object, py_object) d = {68113113140: [1, 2]} for i in d.keys(): if i == 68113113140: break print(dll.test(i, d)) # this works just fine print(dll.test(68113113140, d) # this segfaults ! GDB shows me that PyObject_RichCompare (called inside PyDict_GetItem) is the function where the segmentation fault happens ! -------- Hoping for some guidance here ! I've been trying to resolve this for 3 days now. I have made sure that I've compiled with the correct version of Python headers and that I'm using the same version of interpreter as well (in this case Python 3.5.6) ---------- nosy: -amaury.forgeotdarc, belopolsky, benjamin.peterson, christian.heimes, duaneg, ebarry, georg.brandl, inada.naoki, meador.inge, ned.deily, rhettinger, serhiy.storchaka _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36963> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com