Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 Mock Version: 1.1.14 ENTER do(['bash', '--login', '-c', 'rpmbuild -bs --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'], False, '/var/lib/mock/fedora-16-x86_64/root/', None, 0, True, False, 500, 475, None, logger=) Executing command: ['bash', '--login', '-c', 'rpmbuild -bs --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'] Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-alsaaudio-0.7-2.fc16.src.rpm Child returncode was: 0 LEAVE do --> ENTER do(['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'], False, '/var/lib/mock/fedora-16-x86_64/root/', None, 0, True, False, 500, 475, None, logger=) Executing command: ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'] Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.sLvVOM + umask 022 + cd /builddir/build/BUILD + LANG=C + export LANG + unset DISPLAY + cd /builddir/build/BUILD + rm -rf pyalsaaudio-0.7 + /usr/bin/gzip -dc /builddir/build/SOURCES/pyalsaaudio-0.7.tar.gz + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd pyalsaaudio-0.7 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.7gowWf + umask 022 + cd /builddir/build/BUILD + cd pyalsaaudio-0.7 + LANG=C + export LANG + unset DISPLAY + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' + /usr/bin/python setup.py build running build running build_ext building 'alsaaudio' extension creating build creating build/temp.linux-x86_64-2.7 gcc -pthread -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC -I/usr/include/python2.7 -c alsaaudio.c -o build/temp.linux-x86_64-2.7/alsaaudio.o alsaaudio.c: In function 'initalsaaudio': alsaaudio.c:2118:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] alsaaudio.c:2121:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] alsaaudio.c:2119:23: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 79, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 85, in _check_refcounts dump_json=self.dump_json) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4161, in check_refcounts maxtrans) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4016, in impl_check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3026, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2079, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2095, in _get_transitions_for_stmt return self._get_transitions_for_GimpleCall(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2266, in _get_transitions_for_GimpleCall return meth(stmt, *args) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 2398, in impl_PyModule_AddObject s_success.cpython.steal_reference(v_value, stmt.loc) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 604, in steal_reference _steal_ref) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 399, in change_refcount check_isinstance(oldvalue, RefcountValue) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/gccutils.py", line 636, in check_isinstance raise TypeError('%s / %r is not an instance of %s' % (obj, obj, types)) TypeError: (Py_ssize_t)val [-0x7fffffffffffffff <= val <= 0x7fffffffffffffff] from alsaaudio.c:2118 / WithinRange(gcctype='Py_ssize_t', loc=gcc.Location(file='alsaaudio.c', line=2118), minvalue=-0x7fffffffffffffff, maxvalue=0x7fffffffffffffff) is not an instance of alsaaudio.c: In function 'alsamixer_polldescriptors': alsaaudio.c:1954:23: warning: Mismatching type in call to Py_BuildValue with format code "II" [enabled by default] argument 2 ("D.15266") had type "int" but was expecting "unsigned int" for format code "I" alsaaudio.c:1954:23: warning: Mismatching type in call to Py_BuildValue with format code "II" [enabled by default] argument 3 ("D.15265") had type "int" but was expecting "unsigned int" for format code "I" alsaaudio.c:1959:1: warning: ob_refcnt of '*result' is 1 too high [enabled by default] alsaaudio.c:1959:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:1959:1: note: but final ob_refcnt is N + 1 alsaaudio.c:1944:12: note: PyListObject allocated at: result = PyList_New(count); alsaaudio.c:1921:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:1921:8: note: taking False path at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:1924:14: note: reaching: if (!self->handle) alsaaudio.c:1924:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1924 as non-NULL at: if (!self->handle) alsaaudio.c:1924:8: note: taking False path at: if (!self->handle) alsaaudio.c:1930:45: note: reaching: count = snd_mixer_poll_descriptors_count(self->handle); alsaaudio.c:1931:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (count < 0) alsaaudio.c:1931:8: note: taking False path at: if (count < 0) alsaaudio.c:1937:33: note: reaching: fds = (struct pollfd*)calloc(count, sizeof(struct pollfd)); alsaaudio.c:1938:8: note: when treating unknown void * from alsaaudio.c:1937 as non-NULL at: if (!fds) alsaaudio.c:1938:8: note: taking False path at: if (!fds) alsaaudio.c:1944:24: note: reaching: result = PyList_New(count); alsaaudio.c:1944:12: note: when PyList_New() succeeds at: result = PyList_New(count); alsaaudio.c:1944:12: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1946:8: note: when taking True path at: if (rc != count) alsaaudio.c:1948:24: note: reaching: PyErr_SetString(ALSAAudioError,"Can't get poll descriptors"); alsaaudio.c:1948:24: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError,"Can't get poll descriptors"); alsaaudio.c:1959:1: note: returning alsaaudio.c:1954:23: warning: calling PyList_SetItem with NULL as argument 1 (result) at alsaaudio.c:1954 [enabled by default] alsaaudio.c:1921:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:1921:8: note: taking False path at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:1924:14: note: reaching: if (!self->handle) alsaaudio.c:1924:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1924 as non-NULL at: if (!self->handle) alsaaudio.c:1924:8: note: taking False path at: if (!self->handle) alsaaudio.c:1930:45: note: reaching: count = snd_mixer_poll_descriptors_count(self->handle); alsaaudio.c:1931:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (count < 0) alsaaudio.c:1931:8: note: taking False path at: if (count < 0) alsaaudio.c:1937:33: note: reaching: fds = (struct pollfd*)calloc(count, sizeof(struct pollfd)); alsaaudio.c:1938:8: note: when treating unknown void * from alsaaudio.c:1937 as non-NULL at: if (!fds) alsaaudio.c:1938:8: note: taking False path at: if (!fds) alsaaudio.c:1944:24: note: reaching: result = PyList_New(count); alsaaudio.c:1944:12: note: when PyList_New() fails at: result = PyList_New(count); alsaaudio.c:1946:8: note: when taking False path at: if (rc != count) alsaaudio.c:1952:12: note: reaching: for (i = 0; i < count; ++i) alsaaudio.c:1952:5: note: when considering range: 1 <= count <= 0x7fffffff at: for (i = 0; i < count; ++i) alsaaudio.c:1952:5: note: taking True path at: for (i = 0; i < count; ++i) alsaaudio.c:1955:58: note: reaching: Py_BuildValue("II", fds[i].fd, fds[i].events)); alsaaudio.c:1954:23: note: when Py_BuildValue() succeeds at: PyList_SetItem(result, i, alsaaudio.c:1954:23: note: PyList_SetItem() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:1954:23: note: found 1 similar trace(s) to this alsaaudio.c:1916:1: note: graphical error report for function 'alsamixer_polldescriptors' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_polldescriptors-refcount-errors.html' alsaaudio.c: In function 'alsamixer_setmute': alsaaudio.c:1806:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c: In function 'alsamixer_setvolume': alsaaudio.c:1722:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "l|is:setvolume" [enabled by default] argument 5 ("&dirstr") had type "char * *" but was expecting "const char * *" for format code "s" alsaaudio.c:1712:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c: In function 'alsamixer_getphysvolume': alsaaudio.c:1374:16: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 79, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 85, in _check_refcounts dump_json=self.dump_json) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4161, in check_refcounts maxtrans) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4016, in impl_check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3026, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2079, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2106, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2612, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2604, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at alsaaudio.c:1374 alsaaudio.c: In function 'alsamixer_getrec': alsaaudio.c:1696:13: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1696 [enabled by default] alsaaudio.c:1671:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":getrec")) alsaaudio.c:1671:8: note: taking False path at: if (!PyArg_ParseTuple(args,":getrec")) alsaaudio.c:1674:14: note: reaching: if (!self->handle) alsaaudio.c:1674:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1674 as non-NULL at: if (!self->handle) alsaaudio.c:1674:8: note: taking False path at: if (!self->handle) alsaaudio.c:1680:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1681:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!snd_mixer_selem_has_capture_switch(elem)) alsaaudio.c:1681:8: note: taking False path at: if (!snd_mixer_selem_has_capture_switch(elem)) alsaaudio.c:1687:12: note: reaching: result = PyList_New(0); alsaaudio.c:1687:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1689:5: note: taking True path at: for (i = 0; i <= SND_MIXER_SCHN_LAST; i++) alsaaudio.c:1691:48: note: reaching: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1691:12: note: when considering range: -0x80000000 <= value <= -1 at: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1691:12: note: taking True path at: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1693:47: note: reaching: snd_mixer_selem_get_capture_switch(elem, i, &ival); alsaaudio.c:1694:18: note: when PyLong_FromLong() fails at: item = PyLong_FromLong(ival); alsaaudio.c:1695:26: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1696:13: note: found 3 similar trace(s) to this alsaaudio.c:1695:26: warning: calling PyList_Append with NULL as argument 1 (result) at alsaaudio.c:1695 [enabled by default] alsaaudio.c:1671:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":getrec")) alsaaudio.c:1671:8: note: taking False path at: if (!PyArg_ParseTuple(args,":getrec")) alsaaudio.c:1674:14: note: reaching: if (!self->handle) alsaaudio.c:1674:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1674 as non-NULL at: if (!self->handle) alsaaudio.c:1674:8: note: taking False path at: if (!self->handle) alsaaudio.c:1680:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1681:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!snd_mixer_selem_has_capture_switch(elem)) alsaaudio.c:1681:8: note: taking False path at: if (!snd_mixer_selem_has_capture_switch(elem)) alsaaudio.c:1687:12: note: reaching: result = PyList_New(0); alsaaudio.c:1687:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:1689:5: note: taking True path at: for (i = 0; i <= SND_MIXER_SCHN_LAST; i++) alsaaudio.c:1691:48: note: reaching: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1691:12: note: when considering range: -0x80000000 <= value <= -1 at: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1691:12: note: taking True path at: if (snd_mixer_selem_has_capture_channel(elem, i)) alsaaudio.c:1693:47: note: reaching: snd_mixer_selem_get_capture_switch(elem, i, &ival); alsaaudio.c:1694:18: note: when PyLong_FromLong() succeeds at: item = PyLong_FromLong(ival); alsaaudio.c:1695:26: note: PyList_Append() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:1695:26: note: found 7 similar trace(s) to this alsaaudio.c:1664:1: note: graphical error report for function 'alsamixer_getrec' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_getrec-refcount-errors.html' alsaaudio.c: In function 'alsamixer_getmute': alsaaudio.c:1647:13: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1647 [enabled by default] alsaaudio.c:1621:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":getmute")) alsaaudio.c:1621:8: note: taking False path at: if (!PyArg_ParseTuple(args,":getmute")) alsaaudio.c:1624:14: note: reaching: if (!self->handle) alsaaudio.c:1624:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1624 as non-NULL at: if (!self->handle) alsaaudio.c:1624:8: note: taking False path at: if (!self->handle) alsaaudio.c:1630:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1631:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!snd_mixer_selem_has_playback_switch(elem)) alsaaudio.c:1631:8: note: taking False path at: if (!snd_mixer_selem_has_playback_switch(elem)) alsaaudio.c:1637:12: note: reaching: result = PyList_New(0); alsaaudio.c:1637:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1639:5: note: taking True path at: for (i = 0; i <= SND_MIXER_SCHN_LAST; i++) alsaaudio.c:1641:49: note: reaching: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1641:12: note: when considering range: -0x80000000 <= value <= -1 at: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1641:12: note: taking True path at: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1643:48: note: reaching: snd_mixer_selem_get_playback_switch(elem, i, &ival); alsaaudio.c:1645:18: note: when PyLong_FromLong() fails at: item = PyLong_FromLong(!ival); alsaaudio.c:1646:26: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1647:13: note: found 3 similar trace(s) to this alsaaudio.c:1646:26: warning: calling PyList_Append with NULL as argument 1 (result) at alsaaudio.c:1646 [enabled by default] alsaaudio.c:1621:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":getmute")) alsaaudio.c:1621:8: note: taking False path at: if (!PyArg_ParseTuple(args,":getmute")) alsaaudio.c:1624:14: note: reaching: if (!self->handle) alsaaudio.c:1624:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1624 as non-NULL at: if (!self->handle) alsaaudio.c:1624:8: note: taking False path at: if (!self->handle) alsaaudio.c:1630:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1631:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!snd_mixer_selem_has_playback_switch(elem)) alsaaudio.c:1631:8: note: taking False path at: if (!snd_mixer_selem_has_playback_switch(elem)) alsaaudio.c:1637:12: note: reaching: result = PyList_New(0); alsaaudio.c:1637:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:1639:5: note: taking True path at: for (i = 0; i <= SND_MIXER_SCHN_LAST; i++) alsaaudio.c:1641:49: note: reaching: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1641:12: note: when considering range: -0x80000000 <= value <= -1 at: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1641:12: note: taking True path at: if (snd_mixer_selem_has_playback_channel(elem, i)) alsaaudio.c:1643:48: note: reaching: snd_mixer_selem_get_playback_switch(elem, i, &ival); alsaaudio.c:1645:18: note: when PyLong_FromLong() succeeds at: item = PyLong_FromLong(!ival); alsaaudio.c:1646:26: note: PyList_Append() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:1646:26: note: found 7 similar trace(s) to this alsaaudio.c:1614:1: note: graphical error report for function 'alsamixer_getmute' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_getmute-refcount-errors.html' alsaaudio.c: In function 'alsamixer_getenum': alsaaudio.c:1531:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c:1604:1: warning: ob_refcnt of '*result' is 1 too high [enabled by default] alsaaudio.c:1604:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:1604:1: note: but final ob_refcnt is N + 1 alsaaudio.c:1561:12: note: PyTupleObject allocated at: result = PyTuple_New(2); alsaaudio.c:1539:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, ":getenum")) alsaaudio.c:1539:8: note: taking False path at: if (!PyArg_ParseTuple(args, ":getenum")) alsaaudio.c:1542:14: note: reaching: if (!self->handle) alsaaudio.c:1542:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1542 as non-NULL at: if (!self->handle) alsaaudio.c:1542:8: note: taking False path at: if (!self->handle) alsaaudio.c:1548:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1549:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!snd_mixer_selem_is_enumerated(elem)) { alsaaudio.c:1549:8: note: taking False path at: if (!snd_mixer_selem_is_enumerated(elem)) { alsaaudio.c:1554:11: note: reaching: count = snd_mixer_selem_get_enum_items(elem); alsaaudio.c:1555:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (count < 0) alsaaudio.c:1555:8: note: taking False path at: if (count < 0) alsaaudio.c:1561:12: note: reaching: result = PyTuple_New(2); alsaaudio.c:1561:12: note: when PyTuple_New() succeeds at: result = PyTuple_New(2); alsaaudio.c:1561:12: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1562:8: note: taking False path at: if (!result) alsaaudio.c:1565:8: note: reaching: rc = snd_mixer_selem_get_enum_item(elem, 0, &index); alsaaudio.c:1566:7: note: when considering range: -0x80000000 <= value <= -1 at: if(rc) alsaaudio.c:1566:7: note: taking True path at: if(rc) alsaaudio.c:1568:24: note: reaching: PyErr_SetString(ALSAAudioError, snd_strerror(rc)); alsaaudio.c:1568:24: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError, snd_strerror(rc)); alsaaudio.c:1604:1: note: returning alsaaudio.c:1531:1: note: graphical error report for function 'alsamixer_getenum' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_getenum-refcount-errors.html' alsaaudio.c: In function 'alsamixer_getrange': alsaaudio.c:1464:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "|s:getrange" [enabled by default] argument 3 ("&dirstr") had type "char * *" but was expecting "const char * *" for format code "s" alsaaudio.c:1495:33: warning: Mismatching type in call to Py_BuildValue with format code "[ii]" [enabled by default] argument 2 ("D.15609") had type "long int" but was expecting "int" for format code "i" alsaaudio.c:1495:33: warning: Mismatching type in call to Py_BuildValue with format code "[ii]" [enabled by default] argument 3 ("D.15608") had type "long int" but was expecting "int" for format code "i" alsaaudio.c:1505:33: warning: Mismatching type in call to Py_BuildValue with format code "[ii]" [enabled by default] argument 2 ("D.15619") had type "long int" but was expecting "int" for format code "i" alsaaudio.c:1505:33: warning: Mismatching type in call to Py_BuildValue with format code "[ii]" [enabled by default] argument 3 ("D.15618") had type "long int" but was expecting "int" for format code "i" alsaaudio.c:1459:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c: In function 'alsamixer_getvolume': alsaaudio.c:1389:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "|s:getvolume" [enabled by default] argument 3 ("&dirstr") had type "char * *" but was expecting "const char * *" for format code "s" alsaaudio.c:1380:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c:1437:26: warning: calling PyList_Append with NULL as argument 1 (result) at alsaaudio.c:1437 [enabled by default] alsaaudio.c:1389:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,"|s:getvolume",&dirstr)) alsaaudio.c:1389:8: note: taking False path at: if (!PyArg_ParseTuple(args,"|s:getvolume",&dirstr)) alsaaudio.c:1392:14: note: reaching: if (!self->handle) alsaaudio.c:1392:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1392 as non-NULL at: if (!self->handle) alsaaudio.c:1392:8: note: taking False path at: if (!self->handle) alsaaudio.c:1398:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1400:8: note: when treating unknown const char * from alsaaudio.c:1389 as non-NULL at: if (!dirstr) alsaaudio.c:1400:8: note: taking False path at: if (!dirstr) alsaaudio.c:1407:24: note: reaching: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1407:13: note: when considering range: -0x80000000 <= value <= -1 at: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1407:13: note: taking False path at: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1409:24: note: reaching: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1409:13: note: when considering value == (int)0 from alsaaudio.c:1409 at: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1409:13: note: taking True path at: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1410:19: note: reaching: direction = 1; alsaaudio.c:1417:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:1419:5: note: taking True path at: for (channel = 0; channel <= SND_MIXER_SCHN_LAST; channel++) { alsaaudio.c:1420:12: note: reaching: if (direction == 0 && alsaaudio.c:1420:12: note: taking False path at: if (direction == 0 && alsaaudio.c:1430:17: note: reaching: else if (direction == 1 alsaaudio.c:1430:17: note: taking True path at: else if (direction == 1 alsaaudio.c:1431:56: note: reaching: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1431:18: note: when considering range: -0x80000000 <= value <= -1 at: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1431:18: note: taking True path at: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1432:55: note: reaching: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1432:18: note: when considering range: -0x80000000 <= value <= -1 at: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1432:18: note: taking True path at: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1433:47: note: reaching: snd_mixer_selem_get_capture_volume(elem, channel, &ival); alsaaudio.c:1434:18: note: when PyLong_FromLong() succeeds at: item = PyLong_FromLong(alsamixer_getpercentage(self->cmin, alsaaudio.c:1437:26: note: PyList_Append() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:1437:26: note: found 3 similar trace(s) to this alsaaudio.c:1438:13: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1438 [enabled by default] alsaaudio.c:1389:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,"|s:getvolume",&dirstr)) alsaaudio.c:1389:8: note: taking False path at: if (!PyArg_ParseTuple(args,"|s:getvolume",&dirstr)) alsaaudio.c:1392:14: note: reaching: if (!self->handle) alsaaudio.c:1392:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1392 as non-NULL at: if (!self->handle) alsaaudio.c:1392:8: note: taking False path at: if (!self->handle) alsaaudio.c:1398:31: note: reaching: elem = alsamixer_find_elem(self->handle,self->controlname,self->controlid); alsaaudio.c:1400:8: note: when treating unknown const char * from alsaaudio.c:1389 as non-NULL at: if (!dirstr) alsaaudio.c:1400:8: note: taking False path at: if (!dirstr) alsaaudio.c:1407:24: note: reaching: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1407:13: note: when considering range: -0x80000000 <= value <= -1 at: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1407:13: note: taking False path at: else if (strcasecmp(dirstr,"playback")==0) alsaaudio.c:1409:24: note: reaching: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1409:13: note: when considering value == (int)0 from alsaaudio.c:1409 at: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1409:13: note: taking True path at: else if (strcasecmp(dirstr,"capture")==0) alsaaudio.c:1410:19: note: reaching: direction = 1; alsaaudio.c:1417:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1419:5: note: taking True path at: for (channel = 0; channel <= SND_MIXER_SCHN_LAST; channel++) { alsaaudio.c:1420:12: note: reaching: if (direction == 0 && alsaaudio.c:1420:12: note: taking False path at: if (direction == 0 && alsaaudio.c:1430:17: note: reaching: else if (direction == 1 alsaaudio.c:1430:17: note: taking True path at: else if (direction == 1 alsaaudio.c:1431:56: note: reaching: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1431:18: note: when considering range: -0x80000000 <= value <= -1 at: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1431:18: note: taking True path at: && snd_mixer_selem_has_capture_channel(elem, channel) alsaaudio.c:1432:55: note: reaching: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1432:18: note: when considering range: -0x80000000 <= value <= -1 at: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1432:18: note: taking True path at: && snd_mixer_selem_has_capture_volume(elem)) { alsaaudio.c:1433:47: note: reaching: snd_mixer_selem_get_capture_volume(elem, channel, &ival); alsaaudio.c:1434:18: note: when PyLong_FromLong() fails at: item = PyLong_FromLong(alsamixer_getpercentage(self->cmin, alsaaudio.c:1437:26: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1438:13: note: found 3 similar trace(s) to this alsaaudio.c:1380:1: note: graphical error report for function 'alsamixer_getvolume' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_getvolume-refcount-errors.html' alsaaudio.c: In function 'alsamixer_getpercentage': alsaaudio.c:1361:16: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 79, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/__init__.py", line 85, in _check_refcounts dump_json=self.dump_json) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4161, in check_refcounts maxtrans) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 4016, in impl_check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3062, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 3026, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2079, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2106, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2612, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/absinterp.py", line 2604, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at alsaaudio.c:1361 alsaaudio.c: In function 'alsamixer_volumecap': alsaaudio.c:1208:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c:1259:1: warning: ob_refcnt of new ref from (unknown) PyUnicodeUCS4_FromString is 1 too high [enabled by default] alsaaudio.c:1259:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:1259:1: note: but final ob_refcnt is N + 1 alsaaudio.c:1241:14: note: new ref from (unknown) PyUnicodeUCS4_FromString allocated at: item = PyUnicode_FromString("Joined Playback Volume"); alsaaudio.c:1212:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1212:8: note: taking False path at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1214:14: note: reaching: if (!self->handle) alsaaudio.c:1214:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1214 as non-NULL at: if (!self->handle) alsaaudio.c:1214:8: note: taking False path at: if (!self->handle) alsaaudio.c:1220:12: note: reaching: result = PyList_New(0); alsaaudio.c:1220:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1221:8: note: when considering value == (int)0 from alsaaudio.c:1221 at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1221:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1227:13: note: reaching: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1227 at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1233:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1233 at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1239:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: when considering range: 1 <= value <= 8 at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1241:14: note: reaching: item = PyUnicode_FromString("Joined Playback Volume"); alsaaudio.c:1241:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Joined Playback Volume"); alsaaudio.c:1241:14: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1242:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1242:22: note: ob_refcnt is now refs: 2 + N where N >= 0 alsaaudio.c:1242:22: note: new ref from (unknown) PyUnicodeUCS4_FromString is now referenced by 1 non-stack value(s): PyListObject.ob_item[0] alsaaudio.c:1243:9: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1243:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1245:13: note: reaching: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1245 at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1251:13: note: reaching: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1251:8: note: when considering range: 1 <= value <= 32 at: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1251:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1253:14: note: reaching: item = PyUnicode_FromString("Joined Capture Volume"); alsaaudio.c:1253:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Joined Capture Volume"); alsaaudio.c:1254:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1254:22: note: new ref from (unknown) PyUnicodeUCS4_FromString is now referenced by 0 non-stack value(s): alsaaudio.c:1255:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1258:5: note: reaching: return result; alsaaudio.c:1259:1: note: returning alsaaudio.c:1259:1: note: found 1 similar trace(s) to this alsaaudio.c:1255:9: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1255 [enabled by default] alsaaudio.c:1212:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1212:8: note: taking False path at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1214:14: note: reaching: if (!self->handle) alsaaudio.c:1214:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1214 as non-NULL at: if (!self->handle) alsaaudio.c:1214:8: note: taking False path at: if (!self->handle) alsaaudio.c:1220:12: note: reaching: result = PyList_New(0); alsaaudio.c:1220:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1221:8: note: when considering value == (int)0 from alsaaudio.c:1221 at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1221:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1227:13: note: reaching: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1227 at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1233:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1233 at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1239:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: when considering range: 1 <= value <= 8 at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1241:14: note: reaching: item = PyUnicode_FromString("Joined Playback Volume"); alsaaudio.c:1241:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Joined Playback Volume"); alsaaudio.c:1242:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1243:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1245:13: note: reaching: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1245 at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1251:13: note: reaching: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1251:8: note: when considering range: 1 <= value <= 32 at: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1251:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CVOLUME_JOINED) alsaaudio.c:1253:14: note: reaching: item = PyUnicode_FromString("Joined Capture Volume"); alsaaudio.c:1253:14: note: when PyUnicodeUCS4_FromString() fails at: item = PyUnicode_FromString("Joined Capture Volume"); alsaaudio.c:1254:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1255:9: note: found 4 similar trace(s) to this alsaaudio.c:1249:9: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1249 [enabled by default] alsaaudio.c:1212:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1212:8: note: taking False path at: if (!PyArg_ParseTuple(args,":volumecap")) return NULL; alsaaudio.c:1214:14: note: reaching: if (!self->handle) alsaaudio.c:1214:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1214 as non-NULL at: if (!self->handle) alsaaudio.c:1214:8: note: taking False path at: if (!self->handle) alsaaudio.c:1220:12: note: reaching: result = PyList_New(0); alsaaudio.c:1220:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1221:8: note: when considering value == (int)0 from alsaaudio.c:1221 at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1221:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME) alsaaudio.c:1227:13: note: reaching: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1227 at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1227:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_VOLUME_JOINED) alsaaudio.c:1233:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1233 at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1233:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PVOLUME) alsaaudio.c:1239:13: note: reaching: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1239 at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1239:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PVOLUME_JOINED) alsaaudio.c:1245:13: note: reaching: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: when considering range: 1 <= value <= 16 at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1245:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CVOLUME) alsaaudio.c:1247:14: note: reaching: item = PyUnicode_FromString("Capture Volume"); alsaaudio.c:1247:14: note: when PyUnicodeUCS4_FromString() fails at: item = PyUnicode_FromString("Capture Volume"); alsaaudio.c:1248:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1208:1: note: graphical error report for function 'alsamixer_volumecap' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_volumecap-refcount-errors.html' alsaaudio.c: In function 'alsamixer_switchcap': alsaaudio.c:1276:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c:1334:1: warning: ob_refcnt of new ref from (unknown) PyUnicodeUCS4_FromString is 1 too high [enabled by default] alsaaudio.c:1334:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:1334:1: note: but final ob_refcnt is N + 1 alsaaudio.c:1316:14: note: new ref from (unknown) PyUnicodeUCS4_FromString allocated at: item = PyUnicode_FromString("Capture Mute"); alsaaudio.c:1280:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1280:8: note: taking False path at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1283:14: note: reaching: if (!self->handle) alsaaudio.c:1283:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1283 as non-NULL at: if (!self->handle) alsaaudio.c:1283:8: note: taking False path at: if (!self->handle) alsaaudio.c:1289:12: note: reaching: result = PyList_New(0); alsaaudio.c:1289:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1290:8: note: when considering value == (int)0 from alsaaudio.c:1290 at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1290:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1296:13: note: reaching: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1296 at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1302:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1302 at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1308:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1308 at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1314:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: when considering range: 1 <= value <= 16 at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1316:14: note: reaching: item = PyUnicode_FromString("Capture Mute"); alsaaudio.c:1316:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Capture Mute"); alsaaudio.c:1316:14: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1317:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1317:22: note: ob_refcnt is now refs: 2 + N where N >= 0 alsaaudio.c:1317:22: note: new ref from (unknown) PyUnicodeUCS4_FromString is now referenced by 1 non-stack value(s): PyListObject.ob_item[0] alsaaudio.c:1318:9: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1318:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1320:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1320 at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1326:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1326:8: note: when considering range: 1 <= value <= 64 at: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1326:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1328:14: note: reaching: item = PyUnicode_FromString("Capture Exclusive"); alsaaudio.c:1328:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Capture Exclusive"); alsaaudio.c:1329:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1329:22: note: new ref from (unknown) PyUnicodeUCS4_FromString is now referenced by 0 non-stack value(s): alsaaudio.c:1330:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1333:5: note: reaching: return result; alsaaudio.c:1334:1: note: returning alsaaudio.c:1334:1: note: found 1 similar trace(s) to this alsaaudio.c:1330:9: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1330 [enabled by default] alsaaudio.c:1280:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1280:8: note: taking False path at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1283:14: note: reaching: if (!self->handle) alsaaudio.c:1283:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1283 as non-NULL at: if (!self->handle) alsaaudio.c:1283:8: note: taking False path at: if (!self->handle) alsaaudio.c:1289:12: note: reaching: result = PyList_New(0); alsaaudio.c:1289:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1290:8: note: when considering value == (int)0 from alsaaudio.c:1290 at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1290:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1296:13: note: reaching: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1296 at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1302:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1302 at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1308:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1308 at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1314:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: when considering range: 1 <= value <= 16 at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1316:14: note: reaching: item = PyUnicode_FromString("Capture Mute"); alsaaudio.c:1316:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString("Capture Mute"); alsaaudio.c:1317:22: note: when PyList_Append() succeeds at: PyList_Append(result, item); alsaaudio.c:1318:9: note: taking True path at: Py_DECREF(item); alsaaudio.c:1320:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1320 at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1326:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1326:8: note: when considering range: 1 <= value <= 64 at: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1326:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CSWITCH_EXCLUSIVE) alsaaudio.c:1328:14: note: reaching: item = PyUnicode_FromString("Capture Exclusive"); alsaaudio.c:1328:14: note: when PyUnicodeUCS4_FromString() fails at: item = PyUnicode_FromString("Capture Exclusive"); alsaaudio.c:1329:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1330:9: note: found 4 similar trace(s) to this alsaaudio.c:1324:9: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:1324 [enabled by default] alsaaudio.c:1280:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1280:8: note: taking False path at: if (!PyArg_ParseTuple(args,":switchcap")) alsaaudio.c:1283:14: note: reaching: if (!self->handle) alsaaudio.c:1283:8: note: when treating unknown struct snd_mixer_t * from alsaaudio.c:1283 as non-NULL at: if (!self->handle) alsaaudio.c:1283:8: note: taking False path at: if (!self->handle) alsaaudio.c:1289:12: note: reaching: result = PyList_New(0); alsaaudio.c:1289:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:1290:8: note: when considering value == (int)0 from alsaaudio.c:1290 at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1290:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH) alsaaudio.c:1296:13: note: reaching: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1296 at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1296:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_SWITCH_JOINED) alsaaudio.c:1302:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1302 at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1302:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH) alsaaudio.c:1308:13: note: reaching: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1308 at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1308:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_PSWITCH_JOINED) alsaaudio.c:1314:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: when considering value == (unsigned int)0 from alsaaudio.c:1314 at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1314:8: note: taking False path at: if (self->volume_cap&MIXER_CAP_CSWITCH) alsaaudio.c:1320:13: note: reaching: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: when considering range: 1 <= value <= 32 at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1320:8: note: taking True path at: if (self->volume_cap&MIXER_CAP_CSWITCH_JOINED) alsaaudio.c:1322:14: note: reaching: item = PyUnicode_FromString("Joined Capture Mute"); alsaaudio.c:1322:14: note: when PyUnicodeUCS4_FromString() fails at: item = PyUnicode_FromString("Joined Capture Mute"); alsaaudio.c:1323:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:1276:1: note: graphical error report for function 'alsamixer_switchcap' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_switchcap-refcount-errors.html' alsaaudio.c: In function 'alsapcm_polldescriptors': alsaaudio.c:804:23: warning: Mismatching type in call to Py_BuildValue with format code "II" [enabled by default] argument 2 ("D.15906") had type "int" but was expecting "unsigned int" for format code "I" alsaaudio.c:804:23: warning: Mismatching type in call to Py_BuildValue with format code "II" [enabled by default] argument 3 ("D.15905") had type "int" but was expecting "unsigned int" for format code "I" alsaaudio.c:809:1: warning: ob_refcnt of '*result' is 1 too high [enabled by default] alsaaudio.c:809:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:809:1: note: but final ob_refcnt is N + 1 alsaaudio.c:794:12: note: PyListObject allocated at: result = PyList_New(count); alsaaudio.c:771:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:771:8: note: taking False path at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:774:14: note: reaching: if (!self->handle) alsaaudio.c:774:8: note: when treating unknown struct snd_pcm_t * from alsaaudio.c:774 as non-NULL at: if (!self->handle) alsaaudio.c:774:8: note: taking False path at: if (!self->handle) alsaaudio.c:780:43: note: reaching: count = snd_pcm_poll_descriptors_count(self->handle); alsaaudio.c:781:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (count < 0) alsaaudio.c:781:8: note: taking False path at: if (count < 0) alsaaudio.c:787:33: note: reaching: fds = (struct pollfd*)calloc(count, sizeof(struct pollfd)); alsaaudio.c:788:8: note: when treating unknown void * from alsaaudio.c:787 as non-NULL at: if (!fds) alsaaudio.c:788:8: note: taking False path at: if (!fds) alsaaudio.c:794:24: note: reaching: result = PyList_New(count); alsaaudio.c:794:12: note: when PyList_New() succeeds at: result = PyList_New(count); alsaaudio.c:794:12: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:796:8: note: when taking True path at: if (rc != count) alsaaudio.c:798:24: note: reaching: PyErr_SetString(ALSAAudioError,"Can't get poll descriptors"); alsaaudio.c:798:24: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError,"Can't get poll descriptors"); alsaaudio.c:809:1: note: returning alsaaudio.c:804:23: warning: calling PyList_SetItem with NULL as argument 1 (result) at alsaaudio.c:804 [enabled by default] alsaaudio.c:771:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:771:8: note: taking False path at: if (!PyArg_ParseTuple(args,":polldescriptors")) alsaaudio.c:774:14: note: reaching: if (!self->handle) alsaaudio.c:774:8: note: when treating unknown struct snd_pcm_t * from alsaaudio.c:774 as non-NULL at: if (!self->handle) alsaaudio.c:774:8: note: taking False path at: if (!self->handle) alsaaudio.c:780:43: note: reaching: count = snd_pcm_poll_descriptors_count(self->handle); alsaaudio.c:781:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (count < 0) alsaaudio.c:781:8: note: taking False path at: if (count < 0) alsaaudio.c:787:33: note: reaching: fds = (struct pollfd*)calloc(count, sizeof(struct pollfd)); alsaaudio.c:788:8: note: when treating unknown void * from alsaaudio.c:787 as non-NULL at: if (!fds) alsaaudio.c:788:8: note: taking False path at: if (!fds) alsaaudio.c:794:24: note: reaching: result = PyList_New(count); alsaaudio.c:794:12: note: when PyList_New() fails at: result = PyList_New(count); alsaaudio.c:796:8: note: when taking False path at: if (rc != count) alsaaudio.c:802:12: note: reaching: for (i = 0; i < count; ++i) alsaaudio.c:802:5: note: when considering range: 1 <= count <= 0x7fffffff at: for (i = 0; i < count; ++i) alsaaudio.c:802:5: note: taking True path at: for (i = 0; i < count; ++i) alsaaudio.c:805:58: note: reaching: Py_BuildValue("II", fds[i].fd, fds[i].events)); alsaaudio.c:804:23: note: when Py_BuildValue() succeeds at: PyList_SetItem(result, i, alsaaudio.c:804:23: note: PyList_SetItem() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:804:23: note: found 1 similar trace(s) to this alsaaudio.c:766:1: note: graphical error report for function 'alsapcm_polldescriptors' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsapcm_polldescriptors-refcount-errors.html' alsaaudio.c: In function 'alsapcm_write': alsaaudio.c:670:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "s#:write" [enabled by default] argument 3 ("&data") had type "char * *" but was expecting "const char * *" for format code "s#" alsaaudio.c: In function 'alsamixer_list': alsaaudio.c:963:9: warning: dereferencing NULL (mixer->ob_refcnt) at alsaaudio.c:963 [enabled by default] alsaaudio.c:940:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,"|i:mixers",&cardidx)) alsaaudio.c:940:8: note: taking False path at: if (!PyArg_ParseTuple(args,"|i:mixers",&cardidx)) alsaaudio.c:943:12: note: reaching: sprintf(cardname, "hw:%d", cardidx); alsaaudio.c:947:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (err < 0) alsaaudio.c:947:8: note: taking False path at: if (err < 0) alsaaudio.c:954:12: note: reaching: result = PyList_New(0); alsaaudio.c:954:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:956:5: note: when treating unknown struct snd_mixer_elem_t * from alsaaudio.c:956 as non-NULL at: for (elem = snd_mixer_first_elem(handle); elem; alsaaudio.c:956:5: note: taking True path at: for (elem = snd_mixer_first_elem(handle); elem; alsaaudio.c:960:31: note: reaching: snd_mixer_selem_get_id(elem, sid); alsaaudio.c:961:15: note: when PyUnicodeUCS4_FromString() fails at: mixer = PyUnicode_FromString(snd_mixer_selem_id_get_name(sid)); alsaaudio.c:962:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result,mixer); alsaaudio.c:962:22: warning: calling PyList_Append with NULL as argument 1 (result) at alsaaudio.c:962 [enabled by default] alsaaudio.c:940:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,"|i:mixers",&cardidx)) alsaaudio.c:940:8: note: taking False path at: if (!PyArg_ParseTuple(args,"|i:mixers",&cardidx)) alsaaudio.c:943:12: note: reaching: sprintf(cardname, "hw:%d", cardidx); alsaaudio.c:947:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (err < 0) alsaaudio.c:947:8: note: taking False path at: if (err < 0) alsaaudio.c:954:12: note: reaching: result = PyList_New(0); alsaaudio.c:954:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:956:5: note: when treating unknown struct snd_mixer_elem_t * from alsaaudio.c:956 as non-NULL at: for (elem = snd_mixer_first_elem(handle); elem; alsaaudio.c:956:5: note: taking True path at: for (elem = snd_mixer_first_elem(handle); elem; alsaaudio.c:960:31: note: reaching: snd_mixer_selem_get_id(elem, sid); alsaaudio.c:961:15: note: when PyUnicodeUCS4_FromString() succeeds at: mixer = PyUnicode_FromString(snd_mixer_selem_id_get_name(sid)); alsaaudio.c:962:22: note: PyList_Append() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:962:22: note: found 1 similar trace(s) to this alsaaudio.c:931:1: note: graphical error report for function 'alsamixer_list' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_list-refcount-errors.html' alsaaudio.c: In function 'alsacard_list': alsaaudio.c:161:1: warning: ob_refcnt of '*result' is 1 too high [enabled by default] alsaaudio.c:161:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:161:1: note: but final ob_refcnt is N + 1 alsaaudio.c:127:12: note: PyListObject allocated at: result = PyList_New(0); alsaaudio.c:123:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:123:8: note: taking False path at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:126:5: note: reaching: snd_ctl_card_info_alloca(&info); alsaaudio.c:127:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:127:12: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:129:5: note: when considering value == (int)0 from alsaaudio.c:129 at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:5: note: taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:50: note: reaching: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:41: note: when taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:141:16: note: reaching: sprintf(name, "hw:%d", card); alsaaudio.c:142:12: note: when considering range: -0x80000000 <= value <= -1 at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:142:12: note: taking True path at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:143:28: note: reaching: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:143:28: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:161:1: note: returning alsaaudio.c:155:9: warning: dereferencing NULL (item->ob_refcnt) at alsaaudio.c:155 [enabled by default] alsaaudio.c:123:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:123:8: note: taking False path at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:126:5: note: reaching: snd_ctl_card_info_alloca(&info); alsaaudio.c:127:12: note: when PyList_New() succeeds at: result = PyList_New(0); alsaaudio.c:129:5: note: when considering value == (int)0 from alsaaudio.c:129 at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:5: note: taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:50: note: reaching: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:41: note: when taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:141:16: note: reaching: sprintf(name, "hw:%d", card); alsaaudio.c:142:12: note: when considering range: 0 <= value <= 0x7fffffff at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:142:12: note: taking False path at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:146:37: note: reaching: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: when considering range: 0 <= value <= 0x7fffffff at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: taking False path at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:153:36: note: reaching: item = PyUnicode_FromString(snd_ctl_card_info_get_id(info)); alsaaudio.c:153:14: note: when PyUnicodeUCS4_FromString() fails at: item = PyUnicode_FromString(snd_ctl_card_info_get_id(info)); alsaaudio.c:154:22: note: returning -1 from PyList_Append() due to NULL item at: PyList_Append(result, item); alsaaudio.c:149:13: warning: dereferencing NULL (result->ob_refcnt) at alsaaudio.c:149 [enabled by default] alsaaudio.c:123:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:123:8: note: taking False path at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:126:5: note: reaching: snd_ctl_card_info_alloca(&info); alsaaudio.c:127:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:129:5: note: when considering value == (int)0 from alsaaudio.c:129 at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:5: note: taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:50: note: reaching: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:41: note: when taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:141:16: note: reaching: sprintf(name, "hw:%d", card); alsaaudio.c:142:12: note: when considering range: 0 <= value <= 0x7fffffff at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:142:12: note: taking False path at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:146:37: note: reaching: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: when considering range: -0x80000000 <= value <= -1 at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: taking True path at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:147:28: note: reaching: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:147:28: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:154:22: warning: calling PyList_Append with NULL as argument 1 (result) at alsaaudio.c:154 [enabled by default] alsaaudio.c:123:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:123:8: note: taking False path at: if (!PyArg_ParseTuple(args,":cards")) alsaaudio.c:126:5: note: reaching: snd_ctl_card_info_alloca(&info); alsaaudio.c:127:12: note: when PyList_New() fails at: result = PyList_New(0); alsaaudio.c:129:5: note: when considering value == (int)0 from alsaaudio.c:129 at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:5: note: taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:50: note: reaching: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:129:41: note: when taking True path at: for (rc = snd_card_next(&card); !rc && (card >= 0); alsaaudio.c:141:16: note: reaching: sprintf(name, "hw:%d", card); alsaaudio.c:142:12: note: when considering range: 0 <= value <= 0x7fffffff at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:142:12: note: taking False path at: if ((err = snd_ctl_open(&handle, name, 0)) < 0) { alsaaudio.c:146:37: note: reaching: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: when considering range: 0 <= value <= 0x7fffffff at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:146:12: note: taking False path at: if ((err = snd_ctl_card_info(handle, info)) < 0) { alsaaudio.c:153:36: note: reaching: item = PyUnicode_FromString(snd_ctl_card_info_get_id(info)); alsaaudio.c:153:14: note: when PyUnicodeUCS4_FromString() succeeds at: item = PyUnicode_FromString(snd_ctl_card_info_get_id(info)); alsaaudio.c:154:22: note: PyList_Append() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type alsaaudio.c:154:22: note: found 1 similar trace(s) to this alsaaudio.c:116:1: note: graphical error report for function 'alsacard_list' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsacard_list-refcount-errors.html' alsaaudio.c: In function 'alsamixer_new': alsaaudio.c:1001:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "|sii" [enabled by default] argument 5 ("&control") had type "char * *" but was expecting "const char * *" for format code "s" alsaaudio.c:991:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed alsaaudio.c:1110:1: warning: ob_refcnt of '*self' is 1 too high [enabled by default] alsaaudio.c:1110:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:1110:1: note: but final ob_refcnt is N + 1 alsaaudio.c:1005:8: note: _PyObject_New allocated at: if (!(self = (alsamixer_t *)PyObject_New(alsamixer_t, &ALSAMixerType))) alsaaudio.c:1001:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, "|sii", kw, alsaaudio.c:1001:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, "|sii", kw, alsaaudio.c:1005:8: note: reaching: if (!(self = (alsamixer_t *)PyObject_New(alsamixer_t, &ALSAMixerType))) alsaaudio.c:1005:8: note: when _PyObject_New() succeeds at: if (!(self = (alsamixer_t *)PyObject_New(alsamixer_t, &ALSAMixerType))) alsaaudio.c:1005:8: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:1005:8: note: taking False path at: if (!(self = (alsamixer_t *)PyObject_New(alsamixer_t, &ALSAMixerType))) alsaaudio.c:1008:18: note: reaching: self->handle = 0; alsaaudio.c:1012:8: note: when considering range: -0x80000000 <= value <= -1 at: if (err<0) alsaaudio.c:1012:8: note: taking True path at: if (err<0) alsaaudio.c:1014:24: note: reaching: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:1014:24: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError,snd_strerror(err)); alsaaudio.c:1110:1: note: returning alsaaudio.c:991:1: note: graphical error report for function 'alsamixer_new' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsamixer_new-refcount-errors.html' alsaaudio.c: In function 'alsapcm_new': alsaaudio.c:229:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "|iiz" [enabled by default] argument 7 ("&cardname") had type "char * *" but was expecting "const char * *" for format code "z" alsaaudio.c:273:1: warning: ob_refcnt of '*self' is 1 too high [enabled by default] alsaaudio.c:273:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) alsaaudio.c:273:1: note: but final ob_refcnt is N + 1 alsaaudio.c:233:8: note: _PyObject_New allocated at: if (!(self = (alsapcm_t *)PyObject_New(alsapcm_t, &ALSAPCMType))) alsaaudio.c:229:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, "|iiz", kw, alsaaudio.c:229:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, "|iiz", kw, alsaaudio.c:233:8: note: reaching: if (!(self = (alsapcm_t *)PyObject_New(alsapcm_t, &ALSAPCMType))) alsaaudio.c:233:8: note: when _PyObject_New() succeeds at: if (!(self = (alsapcm_t *)PyObject_New(alsapcm_t, &ALSAPCMType))) alsaaudio.c:233:8: note: ob_refcnt is now refs: 1 + N where N >= 0 alsaaudio.c:233:8: note: taking False path at: if (!(self = (alsapcm_t *)PyObject_New(alsapcm_t, &ALSAPCMType))) alsaaudio.c:236:44: note: reaching: if (pcmtype != SND_PCM_STREAM_PLAYBACK && alsaaudio.c:236:8: note: when considering range: -0x80000000 <= value <= 1 at: if (pcmtype != SND_PCM_STREAM_PLAYBACK && alsaaudio.c:236:8: note: taking False path at: if (pcmtype != SND_PCM_STREAM_PLAYBACK && alsaaudio.c:243:21: note: reaching: if (pcmmode < 0 || pcmmode > SND_PCM_ASYNC) { alsaaudio.c:243:8: note: when considering range: -0x80000000 <= value <= 2 at: if (pcmmode < 0 || pcmmode > SND_PCM_ASYNC) { alsaaudio.c:243:8: note: taking False path at: if (pcmmode < 0 || pcmmode > SND_PCM_ASYNC) { alsaaudio.c:247:18: note: reaching: self->handle = 0; alsaaudio.c:259:8: note: when considering range: -0x80000000 <= value <= -1 at: if (res >= 0) alsaaudio.c:259:8: note: taking False path at: if (res >= 0) alsaaudio.c:262:8: note: reaching: if (res < 0) alsaaudio.c:262:8: note: taking True path at: if (res < 0) alsaaudio.c:264:17: note: reaching: if (self->handle) alsaaudio.c:264:12: note: when treating unknown struct snd_pcm_t * * from alsaaudio.c:256 as non-NULL at: if (self->handle) alsaaudio.c:264:12: note: taking True path at: if (self->handle) alsaaudio.c:266:26: note: reaching: snd_pcm_close(self->handle); alsaaudio.c:269:24: note: calling PyErr_SetString() at: PyErr_SetString(ALSAAudioError, snd_strerror(res)); alsaaudio.c:273:1: note: returning alsaaudio.c:273:1: note: found 5 similar trace(s) to this alsaaudio.c:221:1: note: graphical error report for function 'alsapcm_new' written out to 'build/temp.linux-x86_64-2.7/alsaaudio.c.alsapcm_new-refcount-errors.html' error: command 'gcc' failed with exit status 1 error: Bad exit status from /var/tmp/rpm-tmp.7gowWf (%build) Bad exit status from /var/tmp/rpm-tmp.7gowWf (%build) RPM build errors: Child returncode was: 1 EXCEPTION: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'] Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 328, in do raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-alsaaudio.spec'] LEAVE do --> EXCEPTION RAISED