Thank you for so amazing debugging tutorial :).
I owe you a beer.
I found source of problem: then unhandled in python code
exception occurs frame_dealloc() (Objects/frameobject.c:422)
not called. Even if I call PyErr_Print().
But! If I call PyErr_Clear() then all okay!
Docs says that both this f
> Why this happenning and who makes Py_INCREF(self)?
There are multiple possible explanations, but I think you
have ruled out most of them:
1. on_recv might be returning self. So py_result would be
the same as self, and hence be an additional reference.
However, you said that on_recv raised
Hello everybody!
I'm in trouble. This code shows that ob_refcnt increased by python
if "on_recv" method throws exception. This occurs only if base C-class
subclassed
in python code.
==
my_old_refcnt = Py_REFCNT(self);
py_result = PyObject_CallMethod(self, "on_recv", "(y#)", recvbuf, result