File: | gstpad.override |
Function: | pad_task_handler |
Error: | ob_refcnt of '*args' is 1 too high |
1584 static void
1585 pad_task_handler(void *data) {
1586 PyGILState_STATE state;
1587 PyObject *callback, *args = NULL;
1588 PyObject *py_user_data;
1589
1590 if (data == NULL)
when taking False path
1591 return;
returning
ob_refcnt of '*args' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 1 similar trace(s) to this
1592
1593 state = pyg_gil_state_ensure();
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
calling unknown int (*) (void) from gstpad.override:1593
1594 py_user_data = (PyObject*) data;
1595
1596 callback = PyTuple_GetItem(py_user_data, 0);
when treating unknown void * from gstpad.override:1585 as non-NULL
1597 if (!(PyCallable_Check(callback))) {
when PyCallable_Check() returns 1 (true)
taking False path
1598 PyErr_Print();
1599 goto beach;
1600 }
1601 if (!(args = PyTuple_GetSlice(py_user_data, 1, PyTuple_Size(py_user_data)))) {
when PyTuple_Size() returns ob_size
when PyTuple_GetSlice() succeeds
taking False path
new ref from (unknown) PyTuple_GetSlice allocated at: if (!(args = PyTuple_GetSlice(py_user_data, 1, PyTuple_Size(py_user_data)))) {
ob_refcnt is now refs: 1 + N where N >= 0
1602 PyErr_Print();
1603 goto beach;
1604 }
1605
1606 if (!(PyTuple_Check(args))) {
when considering value == (long int)0 from gstpad.override:1606
taking True path
1607 PyErr_Print();
calling PyErr_Print()
1608 goto beach;
1609 }
1610
1611 PyObject_CallObject(callback, args);
1612
1613 if(PyErr_Occurred())
1614 PyErr_Print();
1615
1616 Py_DECREF(args);
1617
1618 beach:
1619 pyg_gil_state_release(state);
calling unknown void (*) (int) from gstpad.override:1619
1620 }
File: | gstpad.override |
Function: | pad_task_handler |
Error: | ob_refcnt of new ref from call to PyObject_CallObject is 1 too high |
1584 static void
1585 pad_task_handler(void *data) {
1586 PyGILState_STATE state;
1587 PyObject *callback, *args = NULL;
1588 PyObject *py_user_data;
1589
1590 if (data == NULL)
when taking False path
1591 return;
returning
ob_refcnt of new ref from call to PyObject_CallObject is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 3 similar trace(s) to this
1592
1593 state = pyg_gil_state_ensure();
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
calling unknown int (*) (void) from gstpad.override:1593
1594 py_user_data = (PyObject*) data;
1595
1596 callback = PyTuple_GetItem(py_user_data, 0);
when treating unknown void * from gstpad.override:1585 as non-NULL
1597 if (!(PyCallable_Check(callback))) {
when PyCallable_Check() returns 1 (true)
taking False path
1598 PyErr_Print();
1599 goto beach;
1600 }
1601 if (!(args = PyTuple_GetSlice(py_user_data, 1, PyTuple_Size(py_user_data)))) {
when PyTuple_Size() returns ob_size
when PyTuple_GetSlice() succeeds
taking False path
1602 PyErr_Print();
1603 goto beach;
1604 }
1605
1606 if (!(PyTuple_Check(args))) {
when considering range: 1 <= value <= 0x4000000
taking False path
1607 PyErr_Print();
1608 goto beach;
1609 }
1610
1611 PyObject_CallObject(callback, args);
when PyObject_CallObject() succeeds
new ref from call to PyObject_CallObject allocated at: PyObject_CallObject(callback, args);
ob_refcnt is now refs: 1 + N where N >= 0
1612
1613 if(PyErr_Occurred())
PyErr_Occurred()
taking False path
1614 PyErr_Print();
1615
1616 Py_DECREF(args);
when taking True path
1617
1618 beach:
1619 pyg_gil_state_release(state);
calling unknown void (*) (int) from gstpad.override:1619
1620 }