File: src/BTrees/BTreeTemplate.c
Function: BTree_byValue
Error: ob_refcnt of new ref from (unknown) BTree_rangeSearch is 1 too high
1657 static PyObject *
1658 BTree_byValue(BTree *self, PyObject *omin)
1659 {
when considering range: -128 <= value <= 1
taking False path
1660   PyObject *r=0, *o=0, *item=0;
1661   VALUE_TYPE min;
1662   VALUE_TYPE v;
1663   int copied=1;
1664   SetIteration it = {0, 0, 1};
1665 
1666   UNLESS (PER_USE(self)) return NULL;
when considering range: -128 <= value <= -2
taking True path
when considering range: -128 <= value <= -1
taking False path
taking False path
1667 
1668   COPY_VALUE_FROM_ARG(min, omin, copied);
1669   UNLESS(copied) return NULL;
taking False path
1670 
1671   UNLESS (r=PyList_New(0)) goto err;
when PyList_New() succeeds
taking False path
1672 
1673   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
when BTree_rangeSearch() succeeds
new ref from (unknown) BTree_rangeSearch allocated at:   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
ob_refcnt is now refs: 1 + N where N >= 0
1674   UNLESS(it.set) goto err;
taking False path
1675 
1676   if (nextBTreeItems(&it) < 0) goto err;
when considering range: 0 <= value <= 0x7fffffff
taking False path
1677 
1678   while (it.position >= 0)
when considering range: -0x80000000 <= value <= -1
taking False path
1679     {
1680       if (TEST_VALUE(it.value, min) >= 0)
1681         {
1682           UNLESS (item = PyTuple_New(2)) goto err;
1683 
1684           COPY_KEY_TO_OBJECT(o, it.key);
1685           UNLESS (o) goto err;
1686           PyTuple_SET_ITEM(item, 1, o);
1687 
1688           COPY_VALUE(v, it.value);
1689           NORMALIZE_VALUE(v, min);
1690           COPY_VALUE_TO_OBJECT(o, v);
1691           DECREF_VALUE(v);
1692           UNLESS (o) goto err;
1693           PyTuple_SET_ITEM(item, 0, o);
1694 
1695           if (PyList_Append(r, item) < 0) goto err;
1696           Py_DECREF(item);
1697           item = 0;
1698         }
1699       if (nextBTreeItems(&it) < 0) goto err;
1700     }
1701 
1702   item=PyObject_GetAttr(r,sort_str);
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1703   UNLESS (item) goto err;
taking False path
1704   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1705   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL
taking False path
1706   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1707   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL
taking False path
1708   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1709   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL
taking False path
1710   Py_DECREF(item);
when considering range: 1 <= value <= 0x7ffffffffffffffe
taking True path
1711 
1712   finiSetIteration(&it);
1713   PER_UNUSE(self);
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713
1714   return r;
1715 
1716  err:
1717   PER_UNUSE(self);
1718   Py_XDECREF(r);
1719   finiSetIteration(&it);
1720   Py_XDECREF(item);
1721   return NULL;
1722 }
ob_refcnt of new ref from (unknown) BTree_rangeSearch 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 12 similar trace(s) to this

File: src/BTrees/BTreeTemplate.c
Function: BTree_byValue
Error: ob_refcnt of '*item.245' is 1 too high
1657 static PyObject *
1658 BTree_byValue(BTree *self, PyObject *omin)
1659 {
when considering range: -128 <= value <= 1
taking False path
1660   PyObject *r=0, *o=0, *item=0;
1661   VALUE_TYPE min;
1662   VALUE_TYPE v;
1663   int copied=1;
1664   SetIteration it = {0, 0, 1};
1665 
1666   UNLESS (PER_USE(self)) return NULL;
when considering range: -128 <= value <= -2
taking True path
when considering range: -128 <= value <= -1
taking False path
taking False path
1667 
1668   COPY_VALUE_FROM_ARG(min, omin, copied);
1669   UNLESS(copied) return NULL;
taking False path
1670 
1671   UNLESS (r=PyList_New(0)) goto err;
when PyList_New() succeeds
taking False path
1672 
1673   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
when BTree_rangeSearch() succeeds
1674   UNLESS(it.set) goto err;
taking False path
1675 
1676   if (nextBTreeItems(&it) < 0) goto err;
when considering range: 0 <= value <= 0x7fffffff
taking False path
1677 
1678   while (it.position >= 0)
when considering range: -0x80000000 <= value <= -1
taking False path
1679     {
1680       if (TEST_VALUE(it.value, min) >= 0)
1681         {
1682           UNLESS (item = PyTuple_New(2)) goto err;
1683 
1684           COPY_KEY_TO_OBJECT(o, it.key);
1685           UNLESS (o) goto err;
1686           PyTuple_SET_ITEM(item, 1, o);
1687 
1688           COPY_VALUE(v, it.value);
1689           NORMALIZE_VALUE(v, min);
1690           COPY_VALUE_TO_OBJECT(o, v);
1691           DECREF_VALUE(v);
1692           UNLESS (o) goto err;
1693           PyTuple_SET_ITEM(item, 0, o);
1694 
1695           if (PyList_Append(r, item) < 0) goto err;
1696           Py_DECREF(item);
1697           item = 0;
1698         }
1699       if (nextBTreeItems(&it) < 0) goto err;
1700     }
1701 
1702   item=PyObject_GetAttr(r,sort_str);
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
new ref from call to PyObject_GetAttr allocated at:   item=PyObject_GetAttr(r,sort_str);
ob_refcnt is now refs: 1 + N where N >= 0
1703   UNLESS (item) goto err;
taking False path
1704   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1705   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL
taking False path
1706   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1707   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL
taking False path
1708   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1709   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL
taking False path
1710   Py_DECREF(item);
when considering range: 1 <= value <= 0x7ffffffffffffffe
taking True path
1711 
1712   finiSetIteration(&it);
1713   PER_UNUSE(self);
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713
1714   return r;
1715 
1716  err:
1717   PER_UNUSE(self);
1718   Py_XDECREF(r);
1719   finiSetIteration(&it);
1720   Py_XDECREF(item);
1721   return NULL;
1722 }
ob_refcnt of '*item.245' 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

File: src/BTrees/BTreeTemplate.c
Function: BTree_byValue
Error: ob_refcnt of new ref from call to PyObject_CallObject is 1 too high
1657 static PyObject *
1658 BTree_byValue(BTree *self, PyObject *omin)
1659 {
when considering range: -128 <= value <= 1
taking False path
1660   PyObject *r=0, *o=0, *item=0;
1661   VALUE_TYPE min;
1662   VALUE_TYPE v;
1663   int copied=1;
1664   SetIteration it = {0, 0, 1};
1665 
1666   UNLESS (PER_USE(self)) return NULL;
when considering range: -128 <= value <= -2
taking True path
when considering range: -128 <= value <= -1
taking False path
taking False path
1667 
1668   COPY_VALUE_FROM_ARG(min, omin, copied);
1669   UNLESS(copied) return NULL;
taking False path
1670 
1671   UNLESS (r=PyList_New(0)) goto err;
when PyList_New() succeeds
taking False path
1672 
1673   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
when BTree_rangeSearch() succeeds
1674   UNLESS(it.set) goto err;
taking False path
1675 
1676   if (nextBTreeItems(&it) < 0) goto err;
when considering range: 0 <= value <= 0x7fffffff
taking False path
1677 
1678   while (it.position >= 0)
when considering range: -0x80000000 <= value <= -1
taking False path
1679     {
1680       if (TEST_VALUE(it.value, min) >= 0)
1681         {
1682           UNLESS (item = PyTuple_New(2)) goto err;
1683 
1684           COPY_KEY_TO_OBJECT(o, it.key);
1685           UNLESS (o) goto err;
1686           PyTuple_SET_ITEM(item, 1, o);
1687 
1688           COPY_VALUE(v, it.value);
1689           NORMALIZE_VALUE(v, min);
1690           COPY_VALUE_TO_OBJECT(o, v);
1691           DECREF_VALUE(v);
1692           UNLESS (o) goto err;
1693           PyTuple_SET_ITEM(item, 0, o);
1694 
1695           if (PyList_Append(r, item) < 0) goto err;
1696           Py_DECREF(item);
1697           item = 0;
1698         }
1699       if (nextBTreeItems(&it) < 0) goto err;
1700     }
1701 
1702   item=PyObject_GetAttr(r,sort_str);
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1703   UNLESS (item) goto err;
taking False path
1704   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
new ref from call to PyObject_CallObject allocated at:   ASSIGN(item, PyObject_CallObject(item, NULL));
ob_refcnt is now refs: 1 + N where N >= 0
1705   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL
taking False path
1706   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1707   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL
taking False path
1708   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1709   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL
taking False path
1710   Py_DECREF(item);
when considering range: 1 <= value <= 0x7ffffffffffffffe
taking True path
1711 
1712   finiSetIteration(&it);
1713   PER_UNUSE(self);
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713
1714   return r;
1715 
1716  err:
1717   PER_UNUSE(self);
1718   Py_XDECREF(r);
1719   finiSetIteration(&it);
1720   Py_XDECREF(item);
1721   return NULL;
1722 }
ob_refcnt of new ref from call to PyObject_CallObject is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 13 similar trace(s) to this

File: src/BTrees/BTreeTemplate.c
Function: BTree_byValue
Error: ob_refcnt of new ref from call to PyObject_GetAttr is 1 too high
1657 static PyObject *
1658 BTree_byValue(BTree *self, PyObject *omin)
1659 {
when considering range: -128 <= value <= 1
taking False path
1660   PyObject *r=0, *o=0, *item=0;
1661   VALUE_TYPE min;
1662   VALUE_TYPE v;
1663   int copied=1;
1664   SetIteration it = {0, 0, 1};
1665 
1666   UNLESS (PER_USE(self)) return NULL;
when considering range: -128 <= value <= -2
taking True path
when considering range: -128 <= value <= -1
taking False path
taking False path
1667 
1668   COPY_VALUE_FROM_ARG(min, omin, copied);
1669   UNLESS(copied) return NULL;
taking False path
1670 
1671   UNLESS (r=PyList_New(0)) goto err;
when PyList_New() succeeds
taking False path
1672 
1673   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
when BTree_rangeSearch() succeeds
1674   UNLESS(it.set) goto err;
taking False path
1675 
1676   if (nextBTreeItems(&it) < 0) goto err;
when considering range: 0 <= value <= 0x7fffffff
taking False path
1677 
1678   while (it.position >= 0)
when considering range: -0x80000000 <= value <= -1
taking False path
1679     {
1680       if (TEST_VALUE(it.value, min) >= 0)
1681         {
1682           UNLESS (item = PyTuple_New(2)) goto err;
1683 
1684           COPY_KEY_TO_OBJECT(o, it.key);
1685           UNLESS (o) goto err;
1686           PyTuple_SET_ITEM(item, 1, o);
1687 
1688           COPY_VALUE(v, it.value);
1689           NORMALIZE_VALUE(v, min);
1690           COPY_VALUE_TO_OBJECT(o, v);
1691           DECREF_VALUE(v);
1692           UNLESS (o) goto err;
1693           PyTuple_SET_ITEM(item, 0, o);
1694 
1695           if (PyList_Append(r, item) < 0) goto err;
1696           Py_DECREF(item);
1697           item = 0;
1698         }
1699       if (nextBTreeItems(&it) < 0) goto err;
1700     }
1701 
1702   item=PyObject_GetAttr(r,sort_str);
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
1703   UNLESS (item) goto err;
taking False path
1704   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1705   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL
taking False path
1706   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL
when PyObject_GetAttr() succeeds
new ref from call to PyObject_GetAttr allocated at:   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
ob_refcnt is now refs: 1 + N where N >= 0
1707   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL
taking False path
1708   ASSIGN(item, PyObject_CallObject(item, NULL));
when PyObject_CallObject() succeeds
1709   UNLESS (item) goto err;
when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL
taking False path
1710   Py_DECREF(item);
when considering range: 1 <= value <= 0x7ffffffffffffffe
taking True path
1711 
1712   finiSetIteration(&it);
1713   PER_UNUSE(self);
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713
1714   return r;
1715 
1716  err:
1717   PER_UNUSE(self);
1718   Py_XDECREF(r);
1719   finiSetIteration(&it);
1720   Py_XDECREF(item);
1721   return NULL;
1722 }
ob_refcnt of new ref from call to PyObject_GetAttr 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

File: src/BTrees/BTreeTemplate.c
Function: BTree_byValue
Error: returning (PyObject*)NULL without setting an exception
1657 static PyObject *
1658 BTree_byValue(BTree *self, PyObject *omin)
1659 {
when considering range: -128 <= value <= 1
taking False path
1660   PyObject *r=0, *o=0, *item=0;
1661   VALUE_TYPE min;
1662   VALUE_TYPE v;
1663   int copied=1;
1664   SetIteration it = {0, 0, 1};
1665 
1666   UNLESS (PER_USE(self)) return NULL;
when considering range: -128 <= value <= -2
taking True path
when considering range: -128 <= value <= -1
taking False path
taking False path
1667 
1668   COPY_VALUE_FROM_ARG(min, omin, copied);
1669   UNLESS(copied) return NULL;
taking False path
1670 
1671   UNLESS (r=PyList_New(0)) goto err;
when PyList_New() succeeds
taking False path
1672 
1673   it.set=BTree_rangeSearch(self, NULL, NULL, 'i');
when BTree_rangeSearch() succeeds
1674   UNLESS(it.set) goto err;
taking False path
1675 
1676   if (nextBTreeItems(&it) < 0) goto err;
when considering range: -0x80000000 <= value <= -1
taking True path
1677 
1678   while (it.position >= 0)
1679     {
1680       if (TEST_VALUE(it.value, min) >= 0)
1681         {
1682           UNLESS (item = PyTuple_New(2)) goto err;
1683 
1684           COPY_KEY_TO_OBJECT(o, it.key);
1685           UNLESS (o) goto err;
1686           PyTuple_SET_ITEM(item, 1, o);
1687 
1688           COPY_VALUE(v, it.value);
1689           NORMALIZE_VALUE(v, min);
1690           COPY_VALUE_TO_OBJECT(o, v);
1691           DECREF_VALUE(v);
1692           UNLESS (o) goto err;
1693           PyTuple_SET_ITEM(item, 0, o);
1694 
1695           if (PyList_Append(r, item) < 0) goto err;
1696           Py_DECREF(item);
1697           item = 0;
1698         }
1699       if (nextBTreeItems(&it) < 0) goto err;
1700     }
1701 
1702   item=PyObject_GetAttr(r,sort_str);
1703   UNLESS (item) goto err;
1704   ASSIGN(item, PyObject_CallObject(item, NULL));
1705   UNLESS (item) goto err;
1706   ASSIGN(item, PyObject_GetAttr(r, reverse_str));
1707   UNLESS (item) goto err;
1708   ASSIGN(item, PyObject_CallObject(item, NULL));
1709   UNLESS (item) goto err;
1710   Py_DECREF(item);
1711 
1712   finiSetIteration(&it);
1713   PER_UNUSE(self);
1714   return r;
1715 
1716  err:
1717   PER_UNUSE(self);
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1717
1718   Py_XDECREF(r);
taking False path
when taking True path
1719   finiSetIteration(&it);
1720   Py_XDECREF(item);
taking True path
1721   return NULL;
1722 }
returning (PyObject*)NULL without setting an exception
found 5 similar trace(s) to this