File: pygstexception.c
Function: pygst_exceptions_register_classes
Error: ob_refcnt of '*PyGstExc_LinkError.2' is 1 too low
148 void
149 pygst_exceptions_register_classes(PyObject *d)
150 {
151     PyObject *dict = NULL;
152    
153     /* register gst.LinkError */ 
154     dict = PyDict_New();
when PyDict_New() succeeds
155     if (dict == NULL)
taking False path
156         goto exception;
157    
158     PyGstExc_LinkError = PyErr_NewException("gst.LinkError", 
when PyErr_NewException() succeeds
new exception object from PyErr_NewException allocated at:     PyGstExc_LinkError = PyErr_NewException("gst.LinkError",
ob_refcnt is now refs: 1 + N where N >= 0
'*PyGstExc_LinkError.2' is now referenced by 1 non-stack value(s): PyGstExc_LinkError
159             PyExc_Exception, dict);
160     if (PyGstExc_LinkError == NULL)
taking False path
161         goto exception;
162     
163     if (add_method(PyGstExc_LinkError, dict, &link_error_init_method) < 0)
when considering range: -0x80000000 <= value <= -1
taking True path
164         goto exception;
165     
166     Py_DECREF(dict);
167     
168     if (PyDict_SetItemString(d, "LinkError", PyGstExc_LinkError) < 0)
169         goto exception;
170    
171     Py_DECREF(PyGstExc_LinkError);
172     
173     /* register gst.AddError */
174     PyGstExc_AddError = PyErr_NewException("gst.AddError",
175             PyExc_Exception, NULL);
176     if (PyGstExc_AddError == NULL)
177         goto exception;
178     
179     if (PyDict_SetItemString(d, "AddError", PyGstExc_AddError) < 0)
180         goto exception;
181 
182     Py_DECREF(PyGstExc_AddError);
183     
184     /* register gst.RemoveError */
185     PyGstExc_RemoveError = PyErr_NewException("gst.RemoveError",
186             PyExc_Exception, NULL);
187     if (PyGstExc_RemoveError == NULL)
188         goto exception;
189     
190     if (PyDict_SetItemString(d, "RemoveError", PyGstExc_RemoveError) < 0)
191         goto exception;
192     
193     Py_DECREF(PyGstExc_RemoveError);
194 
195     /* register gst.QueryError */
196     PyGstExc_QueryError = PyErr_NewException("gst.QueryError",
197             PyExc_Exception, NULL);
198     if (PyGstExc_QueryError == NULL)
199         goto exception;
200     
201     if (PyDict_SetItemString(d, "QueryError", PyGstExc_QueryError) < 0)
202         goto exception;
203     
204     Py_DECREF(PyGstExc_QueryError);
205    
206 /* FIXME: remove this method in 0.11; element_factory_make deals with element
207    factories, not plug-ins */
208    
209     /* register gst.PluginNotFoundError */
210     dict = PyDict_New();
211     if (dict == NULL)
212         goto exception;
213     
214     PyGstExc_PluginNotFoundError = \
215         PyErr_NewException("gst.PluginNotFoundError", PyExc_Exception, dict);
216     if (PyGstExc_PluginNotFoundError == NULL)
217         goto exception;
218     
219     if (add_method(PyGstExc_PluginNotFoundError,
220                 dict, &element_not_found_error_init_method) < 0)
221         goto exception;
222 
223     Py_DECREF(dict);
224     
225     if (PyDict_SetItemString(d, "PluginNotFoundError",
226                 PyGstExc_PluginNotFoundError) < 0)
227         goto exception;
228 
229     Py_DECREF(PyGstExc_PluginNotFoundError);
230 
231     /* register gst.ElementNotFoundError */
232     dict = PyDict_New();
233     if (dict == NULL)
234         goto exception;
235     
236     PyGstExc_ElementNotFoundError = \
237         PyErr_NewException("gst.ElementNotFoundError", PyGstExc_PluginNotFoundError, dict);
238     if (PyGstExc_ElementNotFoundError == NULL)
239         goto exception;
240     
241     if (add_method(PyGstExc_ElementNotFoundError,
242                 dict, &element_not_found_error_init_method) < 0)
243         goto exception;
244 
245     Py_DECREF(dict);
246     
247     if (PyDict_SetItemString(d, "ElementNotFoundError",
248                 PyGstExc_ElementNotFoundError) < 0)
249         goto exception;
250 
251     Py_DECREF(PyGstExc_ElementNotFoundError);
252     
253     return;
254         
255     return;
256     
257 exception:
258     Py_XDECREF(dict);
taking False path
when taking True path
259     Py_XDECREF(PyGstExc_LinkError);
taking False path
when taking True path
ob_refcnt is now refs: 0 + N where N >= 0
260     Py_XDECREF(PyGstExc_AddError);
when treating unknown struct PyObject * from pygstexception.c:28 as non-NULL
taking False path
when considering range: -0x8000000000000000 <= value <= -1
taking True path
261     Py_XDECREF(PyGstExc_RemoveError);
when treating unknown struct PyObject * from pygstexception.c:30 as non-NULL
taking False path
when considering range: -0x8000000000000000 <= value <= -1
taking True path
262     Py_XDECREF(PyGstExc_QueryError);
when treating unknown struct PyObject * from pygstexception.c:29 as non-NULL
taking False path
when considering value == (Py_ssize_t)0 from pygstexception.c:262
taking False path
when treating unknown struct _typeobject * from pygstexception.c:262 as non-NULL
calling unknown void (*destructor) (struct PyObject *) from pygstexception.c:262
263     Py_XDECREF(PyGstExc_PluginNotFoundError);
when treating unknown struct PyObject * from pygstexception.c:31 as non-NULL
taking False path
when considering value == (Py_ssize_t)0 from pygstexception.c:263
taking False path
when treating unknown struct _typeobject * from pygstexception.c:263 as non-NULL
calling unknown void (*destructor) (struct PyObject *) from pygstexception.c:263
264     Py_XDECREF(PyGstExc_ElementNotFoundError);
when treating unknown struct PyObject * from pygstexception.c:32 as non-NULL
taking False path
when considering range: -0x8000000000000000 <= value <= -1
taking True path
265 
266     return;
267 }
ob_refcnt of '*PyGstExc_LinkError.2' is 1 too low
was expecting final ob_refcnt to be N + 1 (for some unknown N)
due to object being referenced by: PyGstExc_LinkError
but final ob_refcnt is N + 0
found 20 similar trace(s) to this