Python/C CloudI API MemoryError/SIGSEGV with clang -O0/-O2 and gcc -O2
okeuday opened this issue · comments
With gcc/g++ -O0 compilation the integration tests work as expected.
The SIGSEGV occurs due to corrupt data when the return or forward API function is called at the end of callback execution. The echo.py test avoids this problem by returning the echo string from the function (so, it likely has the same trans_id/source data corruption, but the corrupt data isn't accessed, so it doesn't cause a failure).
The current Python/C source code doesn't have Py_TPFLAGS_HAVE_GC
in tp_flags
, though it should be considered a container type due to holding the subscribe functions. Will need to add GC changes which should resolve this MemoryError/SIGSEGV problem.