File: _portaudiomodule.c
Function: pa_start_stream
Error: ob_refcnt of new ref from call to Py_BuildValue is 1 too high
1847 static PyObject *
1848 pa_start_stream(PyObject *self, PyObject *args)
1849 {
1850   int err;
1851   PyObject *stream_arg;
1852   _pyAudio_Stream *streamObject;
1853 
1854   if (!PyArg_ParseTuple(args, "O!", &_pyAudio_StreamType, &stream_arg))
when PyArg_ParseTuple() succeeds
taking False path
1855     return NULL;
1856 
1857   streamObject = (_pyAudio_Stream *) stream_arg;
1858 
1859   if (!_is_open(streamObject)) {
when considering range: -0x80000000 <= value <= -1
taking False path
1860     PyErr_SetObject(PyExc_IOError,
1861 		    Py_BuildValue("(s,i)",
1862 				  "Stream closed",
1863 				  paBadStreamPtr));
1864     return NULL;
1865   }
1866 
1867   PaStream *stream = streamObject->stream;
1868 
1869   if ( ((err = Pa_StartStream(stream)) != paNoError) &&
when considering range: -0x80000000 <= value <= -1
taking True path
when considering range: -0x80000000 <= value <= -9983
taking True path
1870        (err != paStreamIsNotStopped)) {
1871     _cleanup_Stream_object(streamObject);
1872 
1873 #ifdef VERBOSE
1874     fprintf(stderr, "An error occured while using the portaudio stream\n");
1875     fprintf(stderr, "Error number: %d\n", err);
1876     fprintf(stderr, "Error message: %s\n", Pa_GetErrorText(err));
1877 #endif
1878 
1879     PyErr_SetObject(PyExc_IOError,
when Py_BuildValue() succeeds
calling PyErr_SetObject()
new ref from call to Py_BuildValue allocated at:     PyErr_SetObject(PyExc_IOError,
ob_refcnt is now refs: 1 + N where N >= 0
ob_refcnt is now refs: 1 + N where N >= 1
1880 		    Py_BuildValue("(s,i)",
1881 				  Pa_GetErrorText(err),
1882 				  err));
1883     return NULL;
1884   }
1885 
1886   Py_INCREF(Py_None);
1887   return Py_None;
1888 }
ob_refcnt of new ref from call to Py_BuildValue 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 6 similar trace(s) to this