make -C _dbus_bindings make[1]: Entering directory `/home/david/coding/dist-git-fedora/dbus-python/dbus-python-1.0.0/_dbus_bindings' /bin/sh ../libtool --tag=CC --mode=compile /home/david/coding/gcc-python/gcc-python/clean/gcc-with-cpychecker -DHAVE_CONFIG_H -I. -I.. -I../include -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/python2.7 -I/usr/include/python2.7 -g -O2 -std=c9x -fno-strict-aliasing -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -MT abstract.lo -MD -MP -MF .deps/abstract.Tpo -c -o abstract.lo abstract.c libtool: compile: /home/david/coding/gcc-python/gcc-python/clean/gcc-with-cpychecker -DHAVE_CONFIG_H -I. -I.. -I../include -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/python2.7 -I/usr/include/python2.7 -g -O2 -std=c9x -fno-strict-aliasing -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -MT abstract.lo -MD -MP -MF .deps/abstract.Tpo -c abstract.c -fPIC -DPIC -o .libs/abstract.o abstract.c: In function 'DBusPythonLong_tp_new': abstract.c:675:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] abstract.c:653:21: note: when PyTuple_Size() returns ob_size at: if (PyTuple_Size(args) > 1) { abstract.c:653:8: note: when considering range: -0x8000000000000000 <= value <= 1 at: if (PyTuple_Size(args) > 1) { abstract.c:653:8: note: taking False path at: if (PyTuple_Size(args) > 1) { abstract.c:658:37: note: reaching: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:658:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:658:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:661:21: note: reaching: if (variantness < 0) { abstract.c:661:8: note: when considering range: 0 <= value <= 0x7fffffffffffffff at: if (variantness < 0) { abstract.c:661:8: note: taking False path at: if (variantness < 0) { abstract.c:667:24: note: reaching: self = (PyLong_Type.tp_new)(cls, args, NULL); abstract.c:667:10: note: when call succeeds at: self = (PyLong_Type.tp_new)(cls, args, NULL); abstract.c:668:8: note: taking True path at: if (self) { abstract.c:669:39: note: reaching: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:669:12: note: when considering value == (dbus_bool_t)0 from abstract.c:669 at: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:669:12: note: taking True path at: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:670:13: note: reaching: Py_CLEAR(self); abstract.c:670:13: note: taking True path at: Py_CLEAR(self); abstract.c:670:13: note: reaching: Py_CLEAR(self); abstract.c:670:13: note: when taking True path at: Py_CLEAR(self); abstract.c:671:13: note: reaching: return NULL; abstract.c:675:1: note: returning abstract.c:675:1: note: found 1 similar trace(s) to this abstract.c:648:1: note: graphical error report for function 'DBusPythonLong_tp_new' written out to '.libs/abstract.c.DBusPythonLong_tp_new-refcount-errors.html' abstract.c: In function 'DBusPythonLong_tp_repr': abstract.c:679:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed abstract.c: In function 'DBusPythonString_tp_new': abstract.c:553:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] abstract.c:531:21: note: when PyTuple_Size() returns ob_size at: if (PyTuple_Size(args) > 1) { abstract.c:531:8: note: when considering range: -0x8000000000000000 <= value <= 1 at: if (PyTuple_Size(args) > 1) { abstract.c:531:8: note: taking False path at: if (PyTuple_Size(args) > 1) { abstract.c:536:37: note: reaching: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:536:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:536:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(dbus_py_empty_tuple, kwargs, abstract.c:539:21: note: reaching: if (variantness < 0) { abstract.c:539:8: note: when considering range: 0 <= value <= 0x7fffffffffffffff at: if (variantness < 0) { abstract.c:539:8: note: taking False path at: if (variantness < 0) { abstract.c:545:27: note: reaching: self = (NATIVESTR_TYPE.tp_new)(cls, args, NULL); abstract.c:545:10: note: when call succeeds at: self = (NATIVESTR_TYPE.tp_new)(cls, args, NULL); abstract.c:546:8: note: taking True path at: if (self) { abstract.c:547:39: note: reaching: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:547:12: note: when considering value == (dbus_bool_t)0 from abstract.c:547 at: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:547:12: note: taking True path at: if (!dbus_py_variant_level_set(self, variantness)) { abstract.c:548:13: note: reaching: Py_CLEAR(self); abstract.c:548:13: note: taking True path at: Py_CLEAR(self); abstract.c:548:13: note: reaching: Py_CLEAR(self); abstract.c:548:13: note: when taking True path at: Py_CLEAR(self); abstract.c:549:13: note: reaching: return NULL; abstract.c:553:1: note: returning abstract.c:553:1: note: found 1 similar trace(s) to this abstract.c:526:1: note: graphical error report for function 'DBusPythonString_tp_new' written out to '.libs/abstract.c.DBusPythonString_tp_new-refcount-errors.html' abstract.c: In function 'DBusPythonString_tp_repr': abstract.c:557:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed abstract.c: In function 'DBusPythonFloat_tp_repr': abstract.c:330:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed abstract.c: In function 'DBusPythonInt_tp_repr': abstract.c:218:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed abstract.c: In function 'dbus_py_insert_abstract_types': abstract.c:826:27: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/__init__.py", line 75, in execute self._check_refcounts(fun) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/__init__.py", line 79, in _check_refcounts self.show_possible_null_derefs) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/refcounts.py", line 3843, in check_refcounts limits=limits) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 3000, in iter_traces depth + 1): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 3000, in iter_traces depth + 1): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 3000, in iter_traces depth + 1): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 3000, in iter_traces depth + 1): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 3000, in iter_traces depth + 1): File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 2964, in iter_traces transitions = curstate.get_transitions() File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 2017, in get_transitions return self._get_transitions_for_stmt(stmt) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 2033, in _get_transitions_for_stmt return self._get_transitions_for_GimpleCall(stmt) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/absinterp.py", line 2204, in _get_transitions_for_GimpleCall return meth(stmt, *args) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/refcounts.py", line 2203, in impl_PyModule_AddObject s_success.cpython.steal_reference(v_value, stmt.loc) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/refcounts.py", line 527, in steal_reference _steal_ref) File "/home/david/coding/gcc-python/gcc-python/clean/libcpychecker/refcounts.py", line 351, in change_refcount check_isinstance(oldvalue, RefcountValue) File "/home/david/coding/gcc-python/gcc-python/clean/gccutils.py", line 629, 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 abstract.c:825 / WithinRange(gcctype='Py_ssize_t', loc=gcc.Location(file='abstract.c', line=825), minvalue=-0x7fffffffffffffff, maxvalue=0x7fffffffffffffff) is not an instance of abstract.c: In function 'dbus_py_variant_level_getattro': abstract.c:111:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed abstract.c: In function 'dbus_py_variant_level_set': abstract.c:107:1: warning: ob_refcnt of '*vl_obj' is 1 too high [enabled by default] abstract.c:107:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) abstract.c:107:1: note: but final ob_refcnt is N + 1 abstract.c:95:19: note: PyIntObject allocated at: PyObject *vl_obj = NATIVEINT_FROMLONG(variant_level); abstract.c:80:15: note: when PyLong_FromVoidPtr() succeeds at: PyObject *key = PyLong_FromVoidPtr(obj); abstract.c:82:8: note: taking False path at: if (!key) { abstract.c:86:8: note: reaching: if (variant_level <= 0) { abstract.c:86:8: note: when considering range: 1 <= value <= 0x7fffffffffffffff at: if (variant_level <= 0) { abstract.c:86:8: note: taking False path at: if (variant_level <= 0) { abstract.c:95:19: note: reaching: PyObject *vl_obj = NATIVEINT_FROMLONG(variant_level); abstract.c:95:19: note: when PyInt_FromLong() succeeds at: PyObject *vl_obj = NATIVEINT_FROMLONG(variant_level); abstract.c:95:19: note: ob_refcnt is now refs: 1 + N where N >= 0 abstract.c:96:12: note: taking False path at: if (!vl_obj) { abstract.c:100:27: note: reaching: if (PyDict_SetItem(_dbus_py_variant_levels, key, vl_obj) < 0) { abstract.c:100:27: note: when treating unknown struct PyObject * from abstract.c:40 as non-NULL at: if (PyDict_SetItem(_dbus_py_variant_levels, key, vl_obj) < 0) { abstract.c:100:27: note: when PyDict_SetItem() succeeds at: if (PyDict_SetItem(_dbus_py_variant_levels, key, vl_obj) < 0) { abstract.c:100:27: note: ob_refcnt is now refs: 1 + N where N >= 1 abstract.c:100:12: note: taking False path at: if (PyDict_SetItem(_dbus_py_variant_levels, key, vl_obj) < 0) { abstract.c:105:5: note: reaching: Py_CLEAR(key); abstract.c:105:5: note: taking True path at: Py_CLEAR(key); abstract.c:105:5: note: reaching: Py_CLEAR(key); abstract.c:105:5: note: when taking True path at: Py_CLEAR(key); abstract.c:106:5: note: reaching: return TRUE; abstract.c:107:1: note: returning abstract.c:107:1: note: found 3 similar trace(s) to this abstract.c:78:1: note: graphical error report for function 'dbus_py_variant_level_set' written out to '.libs/abstract.c.dbus_py_variant_level_set-refcount-errors.html' make[1]: *** [abstract.lo] Error 1 make[1]: Leaving directory `/home/david/coding/dist-git-fedora/dbus-python/dbus-python-1.0.0/_dbus_bindings' make: *** [_dbus_bindings/_dbus_bindings.la] Error 2