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