File: src/python_module.c
Function: pm_make_change
Error: ob_refcnt of '*pychg_cobject' is 1 too high
70 static PyObject *pm_make_change(PyObject *osync_module, OSyncChange *change, OSyncError **error)
71 {
72 	PyObject *pychg_cobject = PyCObject_FromVoidPtr(change, NULL);
73 	if (!pychg_cobject) {
when PyCObject_FromVoidPtr() succeeds
PyCObject allocated at: 	PyObject *pychg_cobject = PyCObject_FromVoidPtr(change, NULL);
ob_refcnt is now refs: 1 + N where N >= 0
74 		osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldnt make pychg cobject");
taking False path
75 		PyErr_Print();
76 		return NULL;
77 	}
78 	
79 	PyObject *pychg = PyObject_CallMethod(osync_module, "OSyncChange", "O", pychg_cobject);
80 	if (!pychg) {
when PyObject_CallMethod() succeeds
81 		osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot create Python OSyncChange");
taking False path
82 		PyErr_Print();
83 		Py_XDECREF(pychg_cobject);
84 		return NULL;
85 	}
86 	return pychg;
87 }
88 
ob_refcnt of '*pychg_cobject' is 1 too high was expecting final ob_refcnt to be N + 0 (for some unknown N) but final ob_refcnt is N + 1

File: src/python_module.c
Function: pm_make_change
Error: returning (PyObject*)NULL without setting an exception
70 static PyObject *pm_make_change(PyObject *osync_module, OSyncChange *change, OSyncError **error)
71 {
72 	PyObject *pychg_cobject = PyCObject_FromVoidPtr(change, NULL);
73 	if (!pychg_cobject) {
when PyCObject_FromVoidPtr() succeeds
74 		osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldnt make pychg cobject");
taking False path
75 		PyErr_Print();
76 		return NULL;
77 	}
78 	
79 	PyObject *pychg = PyObject_CallMethod(osync_module, "OSyncChange", "O", pychg_cobject);
80 	if (!pychg) {
when PyObject_CallMethod() fails
thread-local exception state now has value: (struct PyObject *)&RegionForGlobal(gcc.VarDecl('PyExc_MemoryError')) from src/python_module.c:80
81 		osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot create Python OSyncChange");
taking True path
82 		PyErr_Print();
83 		Py_XDECREF(pychg_cobject);
calling PyErr_Print()
thread-local exception state now has value: (struct PyObject *)0 from src/python_module.c:83
84 		return NULL;
taking False path
when taking True path
85 	}
86 	return pychg;
87 }
88 
returning (PyObject*)NULL without setting an exception found 3 similar trace(s) to this