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-ZODB3.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-ZODB3.spec'] Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-ZODB3-3.10.5-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-ZODB3.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-ZODB3.spec'] Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Pmk8xq + umask 022 + cd /builddir/build/BUILD + LANG=C + export LANG + unset DISPLAY + cd /builddir/build/BUILD + rm -rf ZODB3-3.10.5 + /usr/bin/gzip -dc /builddir/build/SOURCES/ZODB3-3.10.5.tar.gz + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd ZODB3-3.10.5 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/zeoctl.py + touch -r src/ZEO/zeoctl.py.orig src/ZEO/zeoctl.py + rm src/ZEO/zeoctl.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/__init__.py + touch -r src/ZODB/scripts/__init__.py.orig src/ZODB/scripts/__init__.py + rm src/ZODB/scripts/__init__.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/analyze.py + touch -r src/ZODB/scripts/analyze.py.orig src/ZODB/scripts/analyze.py + rm src/ZODB/scripts/analyze.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/checkbtrees.py + touch -r src/ZODB/scripts/checkbtrees.py.orig src/ZODB/scripts/checkbtrees.py + rm src/ZODB/scripts/checkbtrees.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/fsoids.py + touch -r src/ZODB/scripts/fsoids.py.orig src/ZODB/scripts/fsoids.py + rm src/ZODB/scripts/fsoids.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/fsrefs.py + touch -r src/ZODB/scripts/fsrefs.py.orig src/ZODB/scripts/fsrefs.py + rm src/ZODB/scripts/fsrefs.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/fsstats.py + touch -r src/ZODB/scripts/fsstats.py.orig src/ZODB/scripts/fsstats.py + rm src/ZODB/scripts/fsstats.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/fstail.py + touch -r src/ZODB/scripts/fstail.py.orig src/ZODB/scripts/fstail.py + rm src/ZODB/scripts/fstail.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/fstest.py + touch -r src/ZODB/scripts/fstest.py.orig src/ZODB/scripts/fstest.py + rm src/ZODB/scripts/fstest.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/migrate.py + touch -r src/ZODB/scripts/migrate.py.orig src/ZODB/scripts/migrate.py + rm src/ZODB/scripts/migrate.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/migrateblobs.py + touch -r src/ZODB/scripts/migrateblobs.py.orig src/ZODB/scripts/migrateblobs.py + rm src/ZODB/scripts/migrateblobs.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/netspace.py + touch -r src/ZODB/scripts/netspace.py.orig src/ZODB/scripts/netspace.py + rm src/ZODB/scripts/netspace.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/referrers.py + touch -r src/ZODB/scripts/referrers.py.orig src/ZODB/scripts/referrers.py + rm src/ZODB/scripts/referrers.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/repozo.py + touch -r src/ZODB/scripts/repozo.py.orig src/ZODB/scripts/repozo.py + rm src/ZODB/scripts/repozo.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/space.py + touch -r src/ZODB/scripts/space.py.orig src/ZODB/scripts/space.py + rm src/ZODB/scripts/space.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZODB/scripts/zodbload.py + touch -r src/ZODB/scripts/zodbload.py.orig src/ZODB/scripts/zodbload.py + rm src/ZODB/scripts/zodbload.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/__init__.py + touch -r src/ZEO/scripts/__init__.py.orig src/ZEO/scripts/__init__.py + rm src/ZEO/scripts/__init__.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/cache_simul.py + touch -r src/ZEO/scripts/cache_simul.py.orig src/ZEO/scripts/cache_simul.py + rm src/ZEO/scripts/cache_simul.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/cache_stats.py + touch -r src/ZEO/scripts/cache_stats.py.orig src/ZEO/scripts/cache_stats.py + rm src/ZEO/scripts/cache_stats.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/parsezeolog.py + touch -r src/ZEO/scripts/parsezeolog.py.orig src/ZEO/scripts/parsezeolog.py + rm src/ZEO/scripts/parsezeolog.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/tests.py + touch -r src/ZEO/scripts/tests.py.orig src/ZEO/scripts/tests.py + rm src/ZEO/scripts/tests.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/timeout.py + touch -r src/ZEO/scripts/timeout.py.orig src/ZEO/scripts/timeout.py + rm src/ZEO/scripts/timeout.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/zeopack.py + touch -r src/ZEO/scripts/zeopack.py.orig src/ZEO/scripts/zeopack.py + rm src/ZEO/scripts/zeopack.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/zeoqueue.py + touch -r src/ZEO/scripts/zeoqueue.py.orig src/ZEO/scripts/zeoqueue.py + rm src/ZEO/scripts/zeoqueue.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/zeoreplay.py + touch -r src/ZEO/scripts/zeoreplay.py.orig src/ZEO/scripts/zeoreplay.py + rm src/ZEO/scripts/zeoreplay.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/zeoserverlog.py + touch -r src/ZEO/scripts/zeoserverlog.py.orig src/ZEO/scripts/zeoserverlog.py + rm src/ZEO/scripts/zeoserverlog.py.orig + for File in src/ZEO/zeoctl.py 'src/{ZODB,ZEO}/scripts/*.py' + sed -i.orig -e '/^#! *\//, 1d' src/ZEO/scripts/zeoup.py + touch -r src/ZEO/scripts/zeoup.py.orig src/ZEO/scripts/zeoup.py + rm src/ZEO/scripts/zeoup.py.orig + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.L3uknZ + umask 022 + cd /builddir/build/BUILD + cd ZODB3-3.10.5 + 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_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/ServerStub.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/interfaces.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/zeopasswd.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/StorageServer.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/TransactionBuffer.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/__init__.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/hash.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/zeoctl.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/cache.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/ClientStorage.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/runzeo.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/Exceptions.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/monitor.py -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/util.py -> build/lib.linux-x86_64-2.7/ZEO creating build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/IFBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/Length.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/OLBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/check.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/LFBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/__init__.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/IIBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/IOBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/LOBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/LLBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/OOBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/Interfaces.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/fsBTree.py -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/OIBTree.py -> build/lib.linux-x86_64-2.7/BTrees creating build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/interfaces.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/MappingStorage.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/utils.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/BaseStorage.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/UndoLogCompatible.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/__init__.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/ActivityMonitor.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/POSException.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/Connection.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/ExportImport.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/conversionhack.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/config.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/serialize.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/fstools.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/ConflictResolution.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/DB.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/broken.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/fsrecover.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/persistentclass.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/loglevels.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/fsIndex.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/DemoStorage.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/transact.py -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/blob.py -> build/lib.linux-x86_64-2.7/ZODB creating build/lib.linux-x86_64-2.7/persistent copying src/persistent/mapping.py -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/interfaces.py -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/dict.py -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/list.py -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/__init__.py -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/wref.py -> build/lib.linux-x86_64-2.7/persistent creating build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/parsezeolog.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeopack.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/cache_stats.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/__init__.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeoqueue.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeoup.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/cache_simul.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/timeout.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeoreplay.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeoserverlog.py -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/tests.py -> build/lib.linux-x86_64-2.7/ZEO/scripts creating build/lib.linux-x86_64-2.7/ZEO/auth copying src/ZEO/auth/__init__.py -> build/lib.linux-x86_64-2.7/ZEO/auth copying src/ZEO/auth/base.py -> build/lib.linux-x86_64-2.7/ZEO/auth copying src/ZEO/auth/hmac.py -> build/lib.linux-x86_64-2.7/ZEO/auth copying src/ZEO/auth/auth_digest.py -> build/lib.linux-x86_64-2.7/ZEO/auth creating build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/_hmac.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/marshal.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/__init__.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/server.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/connection.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/log.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/error.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/client.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/smac.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc copying src/ZEO/zrpc/trigger.py -> build/lib.linux-x86_64-2.7/ZEO/zrpc creating build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/servertesting.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/ConnectionTests.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/test_cache.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testMonitor.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/ThreadTests.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testConnection.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/speed.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testZEOOptions.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testTransactionBuffer.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/__init__.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testZEO.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/TestThread.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testConversionSupport.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/zeoserver.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/Cache.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/stress.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/IterationTests.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/CommitLockTests.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testAuth.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/InvalidationTests.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/forker.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/auth_plaintext.py -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/testZEO2.py -> build/lib.linux-x86_64-2.7/ZEO/tests creating build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/testSetOps.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/test_fsBTree.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/test_compare.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/__init__.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/test_btreesubclass.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/test_check.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/testBTrees.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/testLength.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/testConflict.py -> build/lib.linux-x86_64-2.7/BTrees/tests copying src/BTrees/tests/testBTreesUnicode.py -> build/lib.linux-x86_64-2.7/BTrees/tests creating build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/fstail.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/fstest.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/checkbtrees.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/analyze.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/migrateblobs.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/__init__.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/space.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/fsrefs.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/zodbload.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/migrate.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/fsoids.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/referrers.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/netspace.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/repozo.py -> build/lib.linux-x86_64-2.7/ZODB/scripts copying src/ZODB/scripts/fsstats.py -> build/lib.linux-x86_64-2.7/ZODB/scripts creating build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/interfaces.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/__init__.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/fsoids.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/format.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/fsdump.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/fspack.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/FileStorage.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/tests.py -> build/lib.linux-x86_64-2.7/ZODB/FileStorage creating build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/ReadOnlyStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testZODB.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/test_cache.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/dangle.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/RecoveryStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testConnectionSavepoint.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/IteratorStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/MinPO.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/warnhook.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testConnection.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testPersistentList.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/loggingsupport.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/speed.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/MTStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testBroken.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/__init__.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/hexstorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testmvcc.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testConfig.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/Corruption.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testDB.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/test_fsdump.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testfsoids.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testfsIndex.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testMVCCMappingStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/test_storage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/PackableStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testMappingStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/ConflictResolution.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testhistoricalconnections.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/Synchronization.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/sampledm.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/HistoryStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testUtils.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testSerialize.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/MVCCMappingStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/StorageTestBase.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testDemoStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testFileStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/BasicStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/test_doctest_files.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testpersistentclass.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/TransactionalUndoStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testblob.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testPersistentMapping.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testTimeStamp.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/PersistentStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testRecover.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testActivityMonitor.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testconflictresolution.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testCache.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testcrossdatabasereferences.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/RevisionStorage.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/util.py -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/test_datamanageradapter.py -> build/lib.linux-x86_64-2.7/ZODB/tests creating build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_mapping.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/utils.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_pickle.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/__init__.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_persistent.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_list.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_overriding_attrs.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_PickleCache.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/testPersistent.py -> build/lib.linux-x86_64-2.7/persistent/tests copying src/persistent/tests/test_wref.py -> build/lib.linux-x86_64-2.7/persistent/tests creating build/lib.linux-x86_64-2.7/ZODB/scripts/tests copying src/ZODB/scripts/tests/test_repozo.py -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests copying src/ZODB/scripts/tests/__init__.py -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests copying src/ZODB/scripts/tests/test_fstest.py -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests copying src/ZODB/scripts/tests/test_doc.py -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests running egg_info writing requirements to src/ZODB3.egg-info/requires.txt writing src/ZODB3.egg-info/PKG-INFO writing top-level names to src/ZODB3.egg-info/top_level.txt writing dependency_links to src/ZODB3.egg-info/dependency_links.txt writing entry points to src/ZODB3.egg-info/entry_points.txt reading manifest file 'src/ZODB3.egg-info/SOURCES.txt' writing manifest file 'src/ZODB3.egg-info/SOURCES.txt' copying src/ZEO/component.xml -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/protocol.txt -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/schema.xml -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/version.txt -> build/lib.linux-x86_64-2.7/ZEO copying src/ZEO/zeoctl.xml -> build/lib.linux-x86_64-2.7/ZEO copying src/BTrees/BTreeItemsTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/BTreeModuleTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/BTreeTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/BucketTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/Development.txt -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/MergeTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/SetOpTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/SetTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/TreeSetTemplate.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_IFBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_IIBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_IOBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_LFBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_LLBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_LOBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_OIBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_OLBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_OOBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/_fsBTree.c -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/floatvaluemacros.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/intkeymacros.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/intvaluemacros.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/objectkeymacros.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/objectvaluemacros.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/py24compat.h -> build/lib.linux-x86_64-2.7/BTrees copying src/BTrees/sorters.c -> build/lib.linux-x86_64-2.7/BTrees copying src/ZODB/ConflictResolution.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/DemoStorage.test -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/collaborations.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/component.xml -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/config.xml -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/cross-database-references.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/historical_connections.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/persistentclass.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/storage.xml -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/subtransactions.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/ZODB/utils.txt -> build/lib.linux-x86_64-2.7/ZODB copying src/persistent/README.txt -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/TimeStamp.c -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/cPersistence.c -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/cPersistence.h -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/cPickleCache.c -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/py24compat.h -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/ring.c -> build/lib.linux-x86_64-2.7/persistent copying src/persistent/ring.h -> build/lib.linux-x86_64-2.7/persistent copying src/ZEO/scripts/README.txt -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/scripts/zeopack.test -> build/lib.linux-x86_64-2.7/ZEO/scripts copying src/ZEO/tests/client-config.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/drop_cache_rather_than_verify.txt -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/invalidation-age.txt -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/protocols.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/registerDB.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/zdoptions.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/zeo-fan-out.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZEO/tests/zeo_blob_cache.test -> build/lib.linux-x86_64-2.7/ZEO/tests copying src/ZODB/scripts/README.txt -> build/lib.linux-x86_64-2.7/ZODB/scripts creating build/lib.linux-x86_64-2.7/ZODB/scripts/manual_tests copying src/ZODB/scripts/manual_tests/test-checker.fs -> build/lib.linux-x86_64-2.7/ZODB/scripts/manual_tests copying src/ZODB/scripts/manual_tests/testfstest.py -> build/lib.linux-x86_64-2.7/ZODB/scripts/manual_tests copying src/ZODB/FileStorage/iterator.test -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/FileStorage/zconfig.txt -> build/lib.linux-x86_64-2.7/ZODB/FileStorage copying src/ZODB/tests/IExternalGC.test -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_basic.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_connection.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_consume.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_importexport.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_layout.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_packing.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_tempdir.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blob_transaction.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/blobstorage_packing.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/component.xml -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/dbopen.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/multidb.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/synchronizers.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/ZODB/tests/testConnectionSavepoint.txt -> build/lib.linux-x86_64-2.7/ZODB/tests copying src/persistent/tests/persistent.txt -> build/lib.linux-x86_64-2.7/persistent/tests copying src/ZODB/scripts/tests/fstail.txt -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests copying src/ZODB/scripts/tests/referrers.txt -> build/lib.linux-x86_64-2.7/ZODB/scripts/tests running build_ext building 'BTrees._OOBTree' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src creating build/temp.linux-x86_64-2.7/src/BTrees 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 -Isrc -I/usr/include/python2.7 -c src/BTrees/_OOBTree.c -o build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.o In file included from src/BTrees/_OOBTree.c:32:0: src/BTrees/BTreeModuleTemplate.c: In function 'init_OOBTree': src/BTrees/BTreeModuleTemplate.c:465:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:397:0, from src/BTrees/_OOBTree.c:32: src/BTrees/TreeSetTemplate.c: In function 'TreeSet_remove': src/BTrees/TreeSetTemplate.c:96:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/TreeSetTemplate.c:92:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/TreeSetTemplate.c:92:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/TreeSetTemplate.c:93:17: note: reaching: if (_BTree_set(self, key, NULL, 0, 1) < 0) return NULL; src/BTrees/TreeSetTemplate.c:93:6: note: when considering range: -0x80000000 <= value <= -1 at: if (_BTree_set(self, key, NULL, 0, 1) < 0) return NULL; src/BTrees/TreeSetTemplate.c:93:6: note: taking True path at: if (_BTree_set(self, key, NULL, 0, 1) < 0) return NULL; src/BTrees/TreeSetTemplate.c:93:46: note: reaching: if (_BTree_set(self, key, NULL, 0, 1) < 0) return NULL; src/BTrees/TreeSetTemplate.c:96:1: note: returning src/BTrees/TreeSetTemplate.c:89:1: note: graphical error report for function 'TreeSet_remove' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.TreeSet_remove-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function '_BTree_set': src/BTrees/BTreeTemplate.c:608:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function '_bucket_set': src/BTrees/BucketTemplate.c:293:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:424:1: warning: ob_refcnt of '*keyarg' is 1 too low [enabled by default] src/BTrees/BucketTemplate.c:424:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/BTrees/BucketTemplate.c:424:1: note: due to object being referenced by: heap-region-17 src/BTrees/BucketTemplate.c:424:1: note: but final ob_refcnt is N + 0 src/BTrees/BucketTemplate.c:312:5: note: taking False path at: UNLESS(copied) return -1; src/BTrees/BucketTemplate.c:317:9: note: reaching: if (v && !noval) { src/BTrees/BucketTemplate.c:317:14: note: when considering range: -0x80000000 <= value <= -1 at: if (v && !noval) { src/BTrees/BucketTemplate.c:317:8: note: taking False path at: if (v && !noval) { src/BTrees/BucketTemplate.c:322:5: note: reaching: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: taking True path at: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: reaching: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: taking False path at: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: reaching: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:322:5: note: taking False path at: UNLESS (PER_USE(self)) return -1; src/BTrees/BucketTemplate.c:324:5: note: reaching: BUCKET_SEARCH(i, cmp, self, key, goto Done); src/BTrees/BucketTemplate.c:324:5: note: when considering range: -0x80000000 <= _hi <= 0 at: BUCKET_SEARCH(i, cmp, self, key, goto Done); src/BTrees/BucketTemplate.c:324:5: note: taking False path at: BUCKET_SEARCH(i, cmp, self, key, goto Done); src/BTrees/BucketTemplate.c:324:5: note: reaching: BUCKET_SEARCH(i, cmp, self, key, goto Done); src/BTrees/BucketTemplate.c:325:8: note: taking False path at: if (cmp == 0) { src/BTrees/BucketTemplate.c:388:8: note: reaching: if (!v) { src/BTrees/BucketTemplate.c:388:8: note: taking False path at: if (!v) { src/BTrees/BucketTemplate.c:395:13: note: reaching: if (self->len == self->size && Bucket_grow(self, -1, noval) < 0) src/BTrees/BucketTemplate.c:395:8: note: when taking True path at: if (self->len == self->size && Bucket_grow(self, -1, noval) < 0) src/BTrees/BucketTemplate.c:395:47: note: reaching: if (self->len == self->size && Bucket_grow(self, -1, noval) < 0) src/BTrees/BucketTemplate.c:395:33: note: when considering range: 0 <= value <= 0x7fffffff at: if (self->len == self->size && Bucket_grow(self, -1, noval) < 0) src/BTrees/BucketTemplate.c:395:33: note: taking False path at: if (self->len == self->size && Bucket_grow(self, -1, noval) < 0) src/BTrees/BucketTemplate.c:398:13: note: reaching: if (self->len > i) { src/BTrees/BucketTemplate.c:398:8: note: when taking True path at: if (self->len > i) { src/BTrees/BucketTemplate.c:400:41: note: reaching: sizeof(KEY_TYPE) * (self->len - i)); src/BTrees/BucketTemplate.c:401:12: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:401 as non-NULL at: if (self->values) { src/BTrees/BucketTemplate.c:401:12: note: taking True path at: if (self->values) { src/BTrees/BucketTemplate.c:403:47: note: reaching: sizeof(VALUE_TYPE) * (self->len - i)); src/BTrees/BucketTemplate.c:407:5: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:407 as non-NULL at: COPY_KEY(self->keys[i], key); src/BTrees/BucketTemplate.c:407:5: note: '*keyarg' is now referenced by 1 non-stack value(s): heap-region-17 src/BTrees/BucketTemplate.c:408:5: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:408 as non-NULL at: INCREF_KEY(self->keys[i]); src/BTrees/BucketTemplate.c:408:5: note: when treating unknown struct PyObject * from src/BTrees/BucketTemplate.c:408 as non-NULL at: INCREF_KEY(self->keys[i]); src/BTrees/BucketTemplate.c:410:8: note: taking False path at: if (! noval) { src/BTrees/BucketTemplate.c:415:9: note: reaching: self->len++; src/BTrees/BucketTemplate.c:416:8: note: when taking False path at: if (changed) src/BTrees/BucketTemplate.c:418:9: note: reaching: if (PER_CHANGED(self) >= 0) src/BTrees/BucketTemplate.c:418:9: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: if (PER_CHANGED(self) >= 0) src/BTrees/BucketTemplate.c:418:9: note: calling unknown int (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:418 at: if (PER_CHANGED(self) >= 0) src/BTrees/BucketTemplate.c:418:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (PER_CHANGED(self) >= 0) src/BTrees/BucketTemplate.c:418:8: note: taking True path at: if (PER_CHANGED(self) >= 0) src/BTrees/BucketTemplate.c:419:16: note: reaching: result = 1; src/BTrees/BucketTemplate.c:293:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:293:1: note: taking False path at: { src/BTrees/BucketTemplate.c:293:1: note: reaching: { src/BTrees/BucketTemplate.c:422:5: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:422 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:424:1: note: returning src/BTrees/BucketTemplate.c:424:1: note: found 10 similar trace(s) to this src/BTrees/BucketTemplate.c:293:1: note: graphical error report for function '_bucket_set' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c._bucket_set-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'Bucket_grow': src/BTrees/BucketTemplate.c:128:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_grow': src/BTrees/BTreeTemplate.c:366:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c: In function 'BTree_split': src/BTrees/BTreeTemplate.c:266:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'bucket_split': src/BTrees/BucketTemplate.c:534:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:571:1: warning: ob_refcnt of '*next' is 1 too high [enabled by default] src/BTrees/BucketTemplate.c:571:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BucketTemplate.c:571:1: note: but final ob_refcnt is N + 1 src/BTrees/BucketTemplate.c:537:5: note: when considering range: 2 <= value <= 0x7fffffff at: ASSERT(self->len > 1, "split of empty bucket", -1); src/BTrees/BucketTemplate.c:537:5: note: taking False path at: ASSERT(self->len > 1, "split of empty bucket", -1); src/BTrees/BucketTemplate.c:539:8: note: reaching: if (index < 0 || index >= self->len) src/BTrees/BucketTemplate.c:539:8: note: when considering range: 0 <= value <= 0x7fffffff at: if (index < 0 || index >= self->len) src/BTrees/BucketTemplate.c:539:8: note: taking False path at: if (index < 0 || index >= self->len) src/BTrees/BucketTemplate.c:539:35: note: reaching: if (index < 0 || index >= self->len) src/BTrees/BucketTemplate.c:539:19: note: when taking True path at: if (index < 0 || index >= self->len) src/BTrees/BucketTemplate.c:540:14: note: reaching: index = self->len / 2; src/BTrees/BucketTemplate.c:545:8: note: when treating unknown void * from src/BTrees/BucketTemplate.c:544 as non-NULL at: if (!next->keys) src/BTrees/BucketTemplate.c:545:8: note: taking False path at: if (!next->keys) src/BTrees/BucketTemplate.c:547:11: note: reaching: memcpy(next->keys, self->keys + index, sizeof(KEY_TYPE) * next_size); src/BTrees/BucketTemplate.c:548:8: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:548 as non-NULL at: if (self->values) { src/BTrees/BucketTemplate.c:548:8: note: taking True path at: if (self->values) { src/BTrees/BucketTemplate.c:549:29: note: reaching: next->values = BTree_Malloc(sizeof(VALUE_TYPE) * next_size); src/BTrees/BucketTemplate.c:550:5: note: when treating unknown void * from src/BTrees/BucketTemplate.c:549 as non-NULL at: if (!next->values) { src/BTrees/BucketTemplate.c:550:5: note: taking False path at: if (!next->values) { src/BTrees/BucketTemplate.c:555:8: note: reaching: memcpy(next->values, self->values + index, src/BTrees/BucketTemplate.c:564:5: note: ob_refcnt is now refs: 1 + N where N >= 1 src/BTrees/BucketTemplate.c:567:9: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:567:9: note: calling unknown int (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:567 at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:567:8: note: when considering range: -0x80000000 <= value <= -1 at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:567:8: note: taking True path at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:568:9: note: reaching: return -1; src/BTrees/BucketTemplate.c:571:1: note: returning src/BTrees/BucketTemplate.c:571:1: note: found 7 similar trace(s) to this src/BTrees/BucketTemplate.c:534:1: note: graphical error report for function 'bucket_split' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_split-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_deleteNextBucket': src/BTrees/BTreeTemplate.c:492:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c: In function 'BTree_lastBucket': src/BTrees/BTreeTemplate.c:467:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'Bucket_deleteNextBucket': src/BTrees/BucketTemplate.c:582:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function '_BTree_clear': src/BTrees/BTreeTemplate.c:538:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:397:0, from src/BTrees/_OOBTree.c:32: src/BTrees/TreeSetTemplate.c: In function 'TreeSet_update': src/BTrees/TreeSetTemplate.c:84:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/TreeSetTemplate.c:74:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "|O:update", &seq)) src/BTrees/TreeSetTemplate.c:74:8: note: taking False path at: if (!PyArg_ParseTuple(args, "|O:update", &seq)) src/BTrees/TreeSetTemplate.c:77:9: note: reaching: if (seq) { src/BTrees/TreeSetTemplate.c:77:8: note: taking True path at: if (seq) { src/BTrees/TreeSetTemplate.c:78:21: note: reaching: n = _TreeSet_update(self, seq); src/BTrees/TreeSetTemplate.c:79:5: note: when considering range: -0x80000000 <= value <= -1 at: if (n < 0) src/BTrees/TreeSetTemplate.c:79:5: note: taking True path at: if (n < 0) src/BTrees/TreeSetTemplate.c:80:6: note: reaching: return NULL; src/BTrees/TreeSetTemplate.c:84:1: note: returning src/BTrees/TreeSetTemplate.c:70:1: note: graphical error report for function 'TreeSet_update' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.TreeSet_update-refcount-errors.html' src/BTrees/TreeSetTemplate.c: In function 'TreeSet_insert': src/BTrees/TreeSetTemplate.c:29:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/TreeSetTemplate.c:23:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "O:insert", &key)) src/BTrees/TreeSetTemplate.c:23:8: note: taking False path at: if (!PyArg_ParseTuple(args, "O:insert", &key)) src/BTrees/TreeSetTemplate.c:25:19: note: reaching: i = _BTree_set(self, key, Py_None, 1, 1); src/BTrees/TreeSetTemplate.c:26:8: note: when considering range: -0x80000000 <= value <= -1 at: if (i < 0) src/BTrees/TreeSetTemplate.c:26:8: note: taking True path at: if (i < 0) src/BTrees/TreeSetTemplate.c:27:2: note: reaching: return NULL; src/BTrees/TreeSetTemplate.c:29:1: note: returning src/BTrees/TreeSetTemplate.c:19:1: note: graphical error report for function 'TreeSet_insert' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.TreeSet_insert-refcount-errors.html' src/BTrees/TreeSetTemplate.c: In function 'TreeSet_setstate': src/BTrees/TreeSetTemplate.c:112:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/TreeSetTemplate.c:103:24: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args,"O",&args)) return NULL; src/BTrees/TreeSetTemplate.c:103:6: note: taking False path at: if (!PyArg_ParseTuple(args,"O",&args)) return NULL; src/BTrees/TreeSetTemplate.c:105:3: note: reaching: PER_PREVENT_DEACTIVATION(self); src/BTrees/TreeSetTemplate.c:100:1: note: when considering range: -128 <= value <= -1 at: { src/BTrees/TreeSetTemplate.c:100:1: note: taking False path at: { src/BTrees/TreeSetTemplate.c:100:1: note: reaching: { src/BTrees/TreeSetTemplate.c:100:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/TreeSetTemplate.c:100:1: note: taking False path at: { src/BTrees/TreeSetTemplate.c:100:1: note: reaching: { src/BTrees/TreeSetTemplate.c:107:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/TreeSetTemplate.c:107:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/TreeSetTemplate.c:107 at: PER_UNUSE(self); src/BTrees/TreeSetTemplate.c:109:6: note: when considering range: -0x80000000 <= value <= -1 at: if (r < 0) return NULL; src/BTrees/TreeSetTemplate.c:109:6: note: taking True path at: if (r < 0) return NULL; src/BTrees/TreeSetTemplate.c:109:14: note: reaching: if (r < 0) return NULL; src/BTrees/TreeSetTemplate.c:112:1: note: returning src/BTrees/TreeSetTemplate.c:112:1: note: found 6 similar trace(s) to this src/BTrees/TreeSetTemplate.c:100:1: note: graphical error report for function 'TreeSet_setstate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.TreeSet_setstate-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function '_BTree_setstate': src/BTrees/BTreeTemplate.c:1020:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:395:0, from src/BTrees/_OOBTree.c:32: src/BTrees/SetTemplate.c: In function '_set_setstate': src/BTrees/SetTemplate.c:103:3: warning: Mismatching type in call to PyArg_ParseTuple with format code "O|O" [enabled by default] argument 4 ("&next") had type "struct Bucket * *" but was expecting "struct PyObject * *" for format code "O" src/BTrees/SetTemplate.c:97:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function '_bucket_setstate': src/BTrees/BucketTemplate.c:1182:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "O|O:__setstate__" [enabled by default] argument 4 ("&next") had type "struct Bucket * *" but was expecting "struct PyObject * *" for format code "O" src/BTrees/BucketTemplate.c:1175:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree__p_deactivate': src/BTrees/BTreeTemplate.c:869:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:907:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:873:6: note: taking True path at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BTreeTemplate.c:873:15: note: reaching: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BTreeTemplate.c:873:12: note: when considering range: -0x8000000000000000 <= value <= 0 at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BTreeTemplate.c:873:12: note: taking False path at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BTreeTemplate.c:878:6: note: reaching: if (keywords) { src/BTrees/BTreeTemplate.c:878:6: note: taking True path at: if (keywords) { src/BTrees/BTreeTemplate.c:879:27: note: reaching: int size = PyDict_Size(keywords); src/BTrees/BTreeTemplate.c:879:27: note: when PyDict_Size() returns ma_used at: int size = PyDict_Size(keywords); src/BTrees/BTreeTemplate.c:880:11: note: PyDict_GetItemString does not find string at: force = PyDict_GetItemString(keywords, "force"); src/BTrees/BTreeTemplate.c:881:8: note: taking False path at: if (force) src/BTrees/BTreeTemplate.c:883:8: note: reaching: if (size) { src/BTrees/BTreeTemplate.c:883:8: note: when considering value == (int)0 from src/BTrees/BTreeTemplate.c:879 at: if (size) { src/BTrees/BTreeTemplate.c:883:8: note: taking False path at: if (size) { src/BTrees/BTreeTemplate.c:890:11: note: reaching: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:890:6: note: when treating unknown struct PyObject * from src/BTrees/BTreeTemplate.c:890 as non-NULL at: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:890:6: note: taking True path at: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:890:24: note: reaching: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:890:17: note: when treating unknown struct PyObject * from src/BTrees/BTreeTemplate.c:890 as non-NULL at: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:890:17: note: taking True path at: if (self->jar && self->oid) { src/BTrees/BTreeTemplate.c:891:20: note: reaching: ghostify = self->state == cPersistent_UPTODATE_STATE; src/BTrees/BTreeTemplate.c:891:14: note: when considering value == (signed char)0 from src/BTrees/BTreeTemplate.c:891 at: ghostify = self->state == cPersistent_UPTODATE_STATE; src/BTrees/BTreeTemplate.c:892:8: note: taking False path at: if (!ghostify && force) { src/BTrees/BTreeTemplate.c:898:8: note: reaching: if (ghostify) { src/BTrees/BTreeTemplate.c:898:8: note: taking True path at: if (ghostify) { src/BTrees/BTreeTemplate.c:899:23: note: reaching: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:899:10: note: when considering range: -0x80000000 <= value <= -1 at: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:899:10: note: taking True path at: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:900:9: note: reaching: return NULL; src/BTrees/BTreeTemplate.c:907:1: note: returning src/BTrees/BTreeTemplate.c:907:1: note: found 3 similar trace(s) to this src/BTrees/BTreeTemplate.c:869:1: note: graphical error report for function 'BTree__p_deactivate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree__p_deactivate-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree__p_resolveConflict': src/BTrees/BTreeTemplate.c:1222:1: warning: ob_refcnt of new ref from (unknown) get_bucket_state is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1222:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1222:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1203:26: note: new ref from (unknown) get_bucket_state allocated at: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1200:24: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1200:6: note: taking False path at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1203:26: note: reaching: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1203:26: note: when get_bucket_state() succeeds at: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1203:26: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1204:6: note: taking False path at: if (s[0] == NULL) src/BTrees/BTreeTemplate.c:1206:26: note: reaching: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1206:26: note: when get_bucket_state() succeeds at: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1207:6: note: taking False path at: if (s[1] == NULL) src/BTrees/BTreeTemplate.c:1209:26: note: reaching: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1209:26: note: when get_bucket_state() succeeds at: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1210:6: note: taking False path at: if (s[2] == NULL) src/BTrees/BTreeTemplate.c:1213:26: note: reaching: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: when considering range: -0x80000000 <= value <= -1 at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: taking True path at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1214:35: note: reaching: x = _bucket__p_resolveConflict(OBJECT(&BucketType), s); src/BTrees/BTreeTemplate.c:1214:35: note: when _bucket__p_resolveConflict() succeeds at: x = _bucket__p_resolveConflict(OBJECT(&BucketType), s); src/BTrees/BTreeTemplate.c:1218:6: note: taking False path at: if (x == NULL) src/BTrees/BTreeTemplate.c:1221:23: note: reaching: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1221:3: note: when Py_BuildValue() succeeds at: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1222:1: note: returning src/BTrees/BTreeTemplate.c:1222:1: note: found 29 similar trace(s) to this src/BTrees/BTreeTemplate.c:1222:1: warning: ob_refcnt of '*x.89' is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1222:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1222:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1214:35: note: new ref from (unknown) _bucket__p_resolveConflict allocated at: x = _bucket__p_resolveConflict(OBJECT(&BucketType), s); src/BTrees/BTreeTemplate.c:1200:24: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1200:6: note: taking False path at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1203:26: note: reaching: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1203:26: note: when get_bucket_state() succeeds at: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1204:6: note: taking False path at: if (s[0] == NULL) src/BTrees/BTreeTemplate.c:1206:26: note: reaching: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1206:26: note: when get_bucket_state() succeeds at: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1207:6: note: taking False path at: if (s[1] == NULL) src/BTrees/BTreeTemplate.c:1209:26: note: reaching: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1209:26: note: when get_bucket_state() succeeds at: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1210:6: note: taking False path at: if (s[2] == NULL) src/BTrees/BTreeTemplate.c:1213:26: note: reaching: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: when considering range: -0x80000000 <= value <= -1 at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: taking True path at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1214:35: note: reaching: x = _bucket__p_resolveConflict(OBJECT(&BucketType), s); src/BTrees/BTreeTemplate.c:1214:35: note: when _bucket__p_resolveConflict() succeeds at: x = _bucket__p_resolveConflict(OBJECT(&BucketType), s); src/BTrees/BTreeTemplate.c:1214:35: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1218:6: note: taking False path at: if (x == NULL) src/BTrees/BTreeTemplate.c:1221:23: note: reaching: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1221:3: note: when Py_BuildValue() fails at: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1222:1: note: returning src/BTrees/BTreeTemplate.c:1222:1: note: found 1 similar trace(s) to this src/BTrees/BTreeTemplate.c:1222:1: warning: ob_refcnt of '*x.90' is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1222:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1222:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1216:35: note: new ref from (unknown) _bucket__p_resolveConflict allocated at: x = _bucket__p_resolveConflict(OBJECT(&SetType), s); src/BTrees/BTreeTemplate.c:1200:24: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1200:6: note: taking False path at: if (!PyArg_ParseTuple(args, "OOO", &x, &y, &z)) src/BTrees/BTreeTemplate.c:1203:26: note: reaching: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1203:26: note: when get_bucket_state() succeeds at: s[0] = get_bucket_state(x); src/BTrees/BTreeTemplate.c:1204:6: note: taking False path at: if (s[0] == NULL) src/BTrees/BTreeTemplate.c:1206:26: note: reaching: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1206:26: note: when get_bucket_state() succeeds at: s[1] = get_bucket_state(y); src/BTrees/BTreeTemplate.c:1207:6: note: taking False path at: if (s[1] == NULL) src/BTrees/BTreeTemplate.c:1209:26: note: reaching: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1209:26: note: when get_bucket_state() succeeds at: s[2] = get_bucket_state(z); src/BTrees/BTreeTemplate.c:1210:6: note: taking False path at: if (s[2] == NULL) src/BTrees/BTreeTemplate.c:1213:26: note: reaching: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: when considering value == (int)0 from src/BTrees/BTreeTemplate.c:1213 at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1213:6: note: taking False path at: if (PyObject_IsInstance((PyObject *)self, (PyObject *)&BTreeType)) src/BTrees/BTreeTemplate.c:1216:35: note: reaching: x = _bucket__p_resolveConflict(OBJECT(&SetType), s); src/BTrees/BTreeTemplate.c:1216:35: note: when _bucket__p_resolveConflict() succeeds at: x = _bucket__p_resolveConflict(OBJECT(&SetType), s); src/BTrees/BTreeTemplate.c:1216:35: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1218:6: note: taking False path at: if (x == NULL) src/BTrees/BTreeTemplate.c:1221:23: note: reaching: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1221:3: note: when Py_BuildValue() fails at: return Py_BuildValue("((N))", x); src/BTrees/BTreeTemplate.c:1222:1: note: returning src/BTrees/BTreeTemplate.c:1196:1: note: graphical error report for function 'BTree__p_resolveConflict' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree__p_resolveConflict-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function '_bucket__p_resolveConflict': src/BTrees/BucketTemplate.c:1453:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:399:0, from src/BTrees/_OOBTree.c:32: src/BTrees/MergeTemplate.c: In function 'merge_error': src/BTrees/MergeTemplate.c:50:18: 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 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 1640, in impl_PyErr_SetObject t_next.dest.cpython.add_external_ref(v_exc, stmt.loc) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.3/plugin/python2/libcpychecker/refcounts.py", line 431, in add_external_ref _incref_external) 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 src/BTrees/MergeTemplate.c:48 / WithinRange(gcctype='Py_ssize_t', loc=gcc.Location(file='src/BTrees/MergeTemplate.c', line=48), minvalue=-0x7fffffffffffffff, maxvalue=0x7fffffffffffffff) is not an instance of src/BTrees/MergeTemplate.c: In function 'bucket_merge': src/BTrees/MergeTemplate.c:90:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/MergeTemplate.c:349:1: warning: ob_refcnt of new ref from (unknown) merge_error is 1 too high [enabled by default] src/BTrees/MergeTemplate.c:349:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/MergeTemplate.c:349:1: note: but final ob_refcnt is N + 1 src/BTrees/MergeTemplate.c:325:18: note: new ref from (unknown) merge_error allocated at: merge_error(-1, -1, -1, 10); src/BTrees/MergeTemplate.c:97:6: note: when considering range: -0x80000000 <= value <= -1 at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:6: note: taking False path at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:25: note: reaching: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:20: note: when considering range: -0x80000000 <= value <= -1 at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:20: note: taking False path at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:103:23: note: reaching: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:103:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:103:6: note: taking False path at: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:105:23: note: reaching: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:105:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:105:6: note: taking False path at: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:107:23: note: reaching: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:107:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:107:6: note: taking False path at: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:110:15: note: reaching: mapping = i1.usesValue | i2.usesValue | i3.usesValue; src/BTrees/MergeTemplate.c:111:7: note: when considering range: -0x80000000 <= value <= -1 at: set = !mapping; src/BTrees/MergeTemplate.c:113:6: note: taking True path at: if (mapping) src/BTrees/MergeTemplate.c:114:9: note: reaching: r = (Bucket *)PyObject_CallObject((PyObject *)&BucketType, NULL); src/BTrees/MergeTemplate.c:114:9: note: when PyObject_CallObject() succeeds at: r = (Bucket *)PyObject_CallObject((PyObject *)&BucketType, NULL); src/BTrees/MergeTemplate.c:117:6: note: taking False path at: if (r == NULL) src/BTrees/MergeTemplate.c:120:9: note: reaching: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:120 at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:6: note: taking False path at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:122:9: note: reaching: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:122 at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:6: note: taking False path at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:124:9: note: reaching: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:124 at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:6: note: taking False path at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:131:12: note: reaching: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:131:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:131:9: note: taking False path at: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:12: note: reaching: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:9: note: taking False path at: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:262:12: note: reaching: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:262:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:262:9: note: taking False path at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:282:12: note: reaching: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:282:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:282:9: note: taking False path at: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:302:9: note: reaching: if (i1.position >= 0) src/BTrees/MergeTemplate.c:302:6: note: when considering range: -0x80000000 <= value <= -1 at: if (i1.position >= 0) src/BTrees/MergeTemplate.c:302:6: note: taking False path at: if (i1.position >= 0) src/BTrees/MergeTemplate.c:308:12: note: reaching: while (i2.position >= 0) src/BTrees/MergeTemplate.c:308:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i2.position >= 0) src/BTrees/MergeTemplate.c:308:9: note: taking False path at: while (i2.position >= 0) src/BTrees/MergeTemplate.c:314:12: note: reaching: while (i3.position >= 0) src/BTrees/MergeTemplate.c:314:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i3.position >= 0) src/BTrees/MergeTemplate.c:314:9: note: taking False path at: while (i3.position >= 0) src/BTrees/MergeTemplate.c:323:8: note: reaching: if (r->len == 0) src/BTrees/MergeTemplate.c:323:6: note: when considering value == (int)0 from src/BTrees/MergeTemplate.c:323 at: if (r->len == 0) src/BTrees/MergeTemplate.c:323:6: note: taking True path at: if (r->len == 0) src/BTrees/MergeTemplate.c:325:18: note: reaching: merge_error(-1, -1, -1, 10); src/BTrees/MergeTemplate.c:325:18: note: when merge_error() succeeds at: merge_error(-1, -1, -1, 10); src/BTrees/MergeTemplate.c:325:18: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/MergeTemplate.c:347:3: note: taking False path at: Py_XDECREF(r); src/BTrees/MergeTemplate.c:347:3: note: reaching: Py_XDECREF(r); src/BTrees/MergeTemplate.c:347:3: note: when taking True path at: Py_XDECREF(r); src/BTrees/MergeTemplate.c:348:3: note: reaching: return NULL; src/BTrees/MergeTemplate.c:349:1: note: returning src/BTrees/MergeTemplate.c:349:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/MergeTemplate.c:97:6: note: when considering range: -0x80000000 <= value <= -1 at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:6: note: taking False path at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:25: note: reaching: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:20: note: when considering range: -0x80000000 <= value <= -1 at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:97:20: note: taking False path at: if (s2->len == 0 || s3->len == 0) src/BTrees/MergeTemplate.c:103:23: note: reaching: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:103:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:103:6: note: taking False path at: if (initSetIteration(&i1, OBJECT(s1), 1) < 0) src/BTrees/MergeTemplate.c:105:23: note: reaching: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:105:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:105:6: note: taking False path at: if (initSetIteration(&i2, OBJECT(s2), 1) < 0) src/BTrees/MergeTemplate.c:107:23: note: reaching: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:107:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:107:6: note: taking False path at: if (initSetIteration(&i3, OBJECT(s3), 1) < 0) src/BTrees/MergeTemplate.c:110:15: note: reaching: mapping = i1.usesValue | i2.usesValue | i3.usesValue; src/BTrees/MergeTemplate.c:111:7: note: when considering range: -0x80000000 <= value <= -1 at: set = !mapping; src/BTrees/MergeTemplate.c:113:6: note: taking True path at: if (mapping) src/BTrees/MergeTemplate.c:114:9: note: reaching: r = (Bucket *)PyObject_CallObject((PyObject *)&BucketType, NULL); src/BTrees/MergeTemplate.c:114:9: note: when PyObject_CallObject() succeeds at: r = (Bucket *)PyObject_CallObject((PyObject *)&BucketType, NULL); src/BTrees/MergeTemplate.c:117:6: note: taking False path at: if (r == NULL) src/BTrees/MergeTemplate.c:120:9: note: reaching: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:120 at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:120:6: note: taking False path at: if (i1.next(&i1) < 0) src/BTrees/MergeTemplate.c:122:9: note: reaching: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:122 at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:122:6: note: taking False path at: if (i2.next(&i2) < 0) src/BTrees/MergeTemplate.c:124:9: note: reaching: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/MergeTemplate.c:124 at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:124:6: note: taking False path at: if (i3.next(&i3) < 0) src/BTrees/MergeTemplate.c:131:12: note: reaching: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:131:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:131:9: note: taking False path at: while (i1.position >= 0 && i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:12: note: reaching: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:242:9: note: taking False path at: while (i2.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:262:12: note: reaching: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:262:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:262:9: note: taking False path at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/MergeTemplate.c:282:12: note: reaching: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:282:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:282:9: note: taking False path at: while (i1.position >= 0 && i3.position >= 0) src/BTrees/MergeTemplate.c:302:9: note: reaching: if (i1.position >= 0) src/BTrees/MergeTemplate.c:302:6: note: when considering range: -0x80000000 <= value <= -1 at: if (i1.position >= 0) src/BTrees/MergeTemplate.c:302:6: note: taking False path at: if (i1.position >= 0) src/BTrees/MergeTemplate.c:308:12: note: reaching: while (i2.position >= 0) src/BTrees/MergeTemplate.c:308:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i2.position >= 0) src/BTrees/MergeTemplate.c:308:9: note: taking False path at: while (i2.position >= 0) src/BTrees/MergeTemplate.c:314:12: note: reaching: while (i3.position >= 0) src/BTrees/MergeTemplate.c:314:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i3.position >= 0) src/BTrees/MergeTemplate.c:314:9: note: taking False path at: while (i3.position >= 0) src/BTrees/MergeTemplate.c:323:8: note: reaching: if (r->len == 0) src/BTrees/MergeTemplate.c:323:6: note: when considering value == (int)0 from src/BTrees/MergeTemplate.c:323 at: if (r->len == 0) src/BTrees/MergeTemplate.c:323:6: note: taking True path at: if (r->len == 0) src/BTrees/MergeTemplate.c:325:18: note: reaching: merge_error(-1, -1, -1, 10); src/BTrees/MergeTemplate.c:325:18: note: when merge_error() succeeds at: merge_error(-1, -1, -1, 10); src/BTrees/MergeTemplate.c:347:3: note: taking False path at: Py_XDECREF(r); src/BTrees/MergeTemplate.c:347:3: note: reaching: Py_XDECREF(r); src/BTrees/MergeTemplate.c:347:3: note: when taking True path at: Py_XDECREF(r); src/BTrees/MergeTemplate.c:348:3: note: reaching: return NULL; src/BTrees/MergeTemplate.c:349:1: note: returning src/BTrees/MergeTemplate.c:349:1: note: found 9 similar trace(s) to this src/BTrees/MergeTemplate.c:90:1: note: graphical error report for function 'bucket_merge' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_merge-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_rangeSearch': src/BTrees/BTreeTemplate.c:1474:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:1628:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1486:6: note: taking True path at: if (args) { src/BTrees/BTreeTemplate.c:1487:38: note: reaching: if (! PyArg_ParseTupleAndKeywords(args, kw, "|OOii", search_keywords, src/BTrees/BTreeTemplate.c:1487:38: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (! PyArg_ParseTupleAndKeywords(args, kw, "|OOii", search_keywords, src/BTrees/BTreeTemplate.c:1487:8: note: taking False path at: if (! PyArg_ParseTupleAndKeywords(args, kw, "|OOii", search_keywords, src/BTrees/BTreeTemplate.c:1495:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1495:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1497:3: note: reaching: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1497:3: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:1497 as non-NULL at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1497:3: note: taking False path at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1497:3: note: reaching: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1497:3: note: when considering range: -0x80000000 <= value <= -1 at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1497:3: note: taking False path at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1500:11: note: reaching: if (min != Py_None) { src/BTrees/BTreeTemplate.c:1500:6: note: taking True path at: if (min != Py_None) { src/BTrees/BTreeTemplate.c:1501:33: note: reaching: if ((rc = BTree_findRangeEnd(self, min, 1, excludemin, src/BTrees/BTreeTemplate.c:1501:8: note: when considering range: 1 <= value <= 0x7fffffff at: if ((rc = BTree_findRangeEnd(self, min, 1, excludemin, src/BTrees/BTreeTemplate.c:1501:8: note: taking False path at: if ((rc = BTree_findRangeEnd(self, min, 1, excludemin, src/BTrees/BTreeTemplate.c:1534:11: note: reaching: if (max != Py_None) { src/BTrees/BTreeTemplate.c:1534:6: note: taking True path at: if (max != Py_None) { src/BTrees/BTreeTemplate.c:1535:33: note: reaching: if ((rc = BTree_findRangeEnd(self, max, 0, excludemax, src/BTrees/BTreeTemplate.c:1535:8: note: when considering range: -0x80000000 <= value <= 0 at: if ((rc = BTree_findRangeEnd(self, max, 0, excludemax, src/BTrees/BTreeTemplate.c:1535:8: note: taking True path at: if ((rc = BTree_findRangeEnd(self, max, 0, excludemax, src/BTrees/BTreeTemplate.c:1537:7: note: reaching: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: when treating unknown struct Bucket * * from src/BTrees/BTreeTemplate.c:1501 as non-NULL at: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: when considering value == (Py_ssize_t)0 from src/BTrees/BTreeTemplate.c:1537 at: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: taking False path at: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: reaching: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: when treating unknown struct _typeobject * from src/BTrees/BTreeTemplate.c:1537 as non-NULL at: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1537:7: note: calling unknown void (*destructor) (struct PyObject *) from src/BTrees/BTreeTemplate.c:1537 at: Py_DECREF(lowbucket); src/BTrees/BTreeTemplate.c:1538:10: note: reaching: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1538:10: note: when considering range: -0x80000000 <= value <= -1 at: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1538:10: note: taking True path at: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1474:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1474:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1474:1: note: reaching: { src/BTrees/BTreeTemplate.c:1618:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1618:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1618 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1628:1: note: returning src/BTrees/BTreeTemplate.c:1628:1: note: found 7 similar trace(s) to this src/BTrees/BTreeTemplate.c:1474:1: note: graphical error report for function 'BTree_rangeSearch' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_rangeSearch-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_findRangeEnd': src/BTrees/BTreeTemplate.c:1282:50: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'Bucket_findRangeEnd': src/BTrees/BucketTemplate.c:649:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/_OOBTree.c:32:0: src/BTrees/BTreeModuleTemplate.c: In function 'PreviousBucket': src/BTrees/BTreeModuleTemplate.c:314:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeModuleTemplate.c:351:1: warning: ob_refcnt of '*trailing' is 1 too low [enabled by default] src/BTrees/BTreeModuleTemplate.c:351:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/BTrees/BTreeModuleTemplate.c:351:1: note: due to object being referenced by: heap-region-238 src/BTrees/BTreeModuleTemplate.c:351:1: note: but final ob_refcnt is N + 0 src/BTrees/BTreeModuleTemplate.c:319:18: note: when treating unknown struct Bucket * * from src/BTrees/BTreeModuleTemplate.c:313 as non-NULL at: if (first == *current) src/BTrees/BTreeModuleTemplate.c:319:8: note: when taking False path at: if (first == *current) src/BTrees/BTreeModuleTemplate.c:323:18: note: reaching: trailing = first; src/BTrees/BTreeModuleTemplate.c:324:2: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:324:2: note: taking False path at: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:324:2: note: reaching: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:324:2: note: when considering value == (signed char)0 from src/BTrees/BTreeModuleTemplate.c:324 at: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:324:2: note: taking True path at: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:324:2: note: reaching: PER_USE_OR_RETURN(first, -1); src/BTrees/BTreeModuleTemplate.c:314:1: note: taking True path at: { src/BTrees/BTreeModuleTemplate.c:335:24: note: reaching: ((trailing)->state=cPersistent_UPTODATE_STATE)); src/BTrees/BTreeModuleTemplate.c:337:5: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_ACCESSED(trailing); src/BTrees/BTreeModuleTemplate.c:337:5: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeModuleTemplate.c:337 at: PER_ACCESSED(trailing); src/BTrees/BTreeModuleTemplate.c:343:5: note: when taking True path at: if (first == *current) { src/BTrees/BTreeModuleTemplate.c:344:15: note: reaching: *current = trailing; src/BTrees/BTreeModuleTemplate.c:344:15: note: '*trailing' is now referenced by 1 non-stack value(s): heap-region-238 src/BTrees/BTreeModuleTemplate.c:351:1: note: returning src/BTrees/BTreeModuleTemplate.c:351:1: note: found 3 similar trace(s) to this src/BTrees/BTreeModuleTemplate.c:314:1: note: graphical error report for function 'PreviousBucket' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.PreviousBucket-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:393:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeItemsTemplate.c: In function 'nextTreeSetItems': src/BTrees/BTreeItemsTemplate.c:524:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeItemsTemplate.c: In function 'BTreeItems_seek': src/BTrees/BTreeItemsTemplate.c:136:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeItemsTemplate.c:221:1: warning: ob_refcnt of new ref from (unknown) IndexError is 1 too high [enabled by default] src/BTrees/BTreeItemsTemplate.c:221:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeItemsTemplate.c:221:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeItemsTemplate.c:219:15: note: new ref from (unknown) IndexError allocated at: IndexError(i); src/BTrees/BTreeItemsTemplate.c:144:8: note: when treating unknown struct Bucket * from src/BTrees/BTreeItemsTemplate.c:143 as non-NULL at: if (currentbucket == NULL) goto no_match; src/BTrees/BTreeItemsTemplate.c:144:8: note: taking False path at: if (currentbucket == NULL) goto no_match; src/BTrees/BTreeItemsTemplate.c:146:11: note: reaching: delta = i - pseudoindex; src/BTrees/BTreeItemsTemplate.c:147:11: note: when considering range: -0x80000000 <= value <= 0 at: while (delta > 0) { /* move right */ src/BTrees/BTreeItemsTemplate.c:147:11: note: taking False path at: while (delta > 0) { /* move right */ src/BTrees/BTreeItemsTemplate.c:170:11: note: reaching: while (delta < 0) { /* move left */ src/BTrees/BTreeItemsTemplate.c:170:11: note: when considering range: -0x80000000 <= value <= -1 at: while (delta < 0) { /* move left */ src/BTrees/BTreeItemsTemplate.c:170:11: note: taking True path at: while (delta < 0) { /* move left */ src/BTrees/BTreeItemsTemplate.c:175:14: note: reaching: if ((-delta) <= currentoffset) { src/BTrees/BTreeItemsTemplate.c:175:12: note: when taking True path at: if ((-delta) <= currentoffset) { src/BTrees/BTreeItemsTemplate.c:176:27: note: reaching: currentoffset += delta; src/BTrees/BTreeItemsTemplate.c:178:16: note: when taking True path at: if (currentbucket == self->firstbucket src/BTrees/BTreeItemsTemplate.c:179:40: note: reaching: && currentoffset < self->first) goto no_match; src/BTrees/BTreeItemsTemplate.c:179:17: note: when taking True path at: && currentoffset < self->first) goto no_match; src/BTrees/BTreeItemsTemplate.c:219:15: note: when IndexError() succeeds at: IndexError(i); src/BTrees/BTreeItemsTemplate.c:219:15: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeItemsTemplate.c:221:1: note: returning src/BTrees/BTreeItemsTemplate.c:136:1: note: graphical error report for function 'BTreeItems_seek' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTreeItems_seek-refcount-errors.html' src/BTrees/BTreeItemsTemplate.c: In function 'nextBTreeItems': src/BTrees/BTreeItemsTemplate.c:479:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:395:0, from src/BTrees/_OOBTree.c:32: src/BTrees/SetTemplate.c: In function 'nextSet': src/BTrees/SetTemplate.c:338:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'nextBucket': src/BTrees/BucketTemplate.c:1800:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:399:0, from src/BTrees/_OOBTree.c:32: src/BTrees/MergeTemplate.c: In function 'merge_output': src/BTrees/MergeTemplate.c:23:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/_OOBTree.c:32:0: src/BTrees/BTreeModuleTemplate.c: In function 'finiSetIteration': src/BTrees/BTreeModuleTemplate.c:269:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_check': src/BTrees/BTreeTemplate.c:157:3: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:153:6: note: when considering range: -0x80000000 <= value <= -1 at: if (i >= 0) { src/BTrees/BTreeTemplate.c:153:6: note: taking False path at: if (i >= 0) { src/BTrees/BTreeTemplate.c:157:3: note: reaching: return result; src/BTrees/BTreeTemplate.c:157:3: note: returning at: return result; src/BTrees/BTreeTemplate.c:149:1: note: graphical error report for function 'BTree_check' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_check-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_check_inner': src/BTrees/BTreeTemplate.c:28:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c: In function 'BTree_addUnique': src/BTrees/BTreeTemplate.c:1851:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1847:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "OO", &key, &v)) return NULL; src/BTrees/BTreeTemplate.c:1847:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "OO", &key, &v)) return NULL; src/BTrees/BTreeTemplate.c:1849:23: note: reaching: if ((grew=_BTree_set(self, key, v, 1, 0)) < 0) return NULL; src/BTrees/BTreeTemplate.c:1849:6: note: when considering range: -0x80000000 <= value <= -1 at: if ((grew=_BTree_set(self, key, v, 1, 0)) < 0) return NULL; src/BTrees/BTreeTemplate.c:1849:6: note: taking True path at: if ((grew=_BTree_set(self, key, v, 1, 0)) < 0) return NULL; src/BTrees/BTreeTemplate.c:1849:50: note: reaching: if ((grew=_BTree_set(self, key, v, 1, 0)) < 0) return NULL; src/BTrees/BTreeTemplate.c:1851:1: note: returning src/BTrees/BTreeTemplate.c:1843:1: note: graphical error report for function 'BTree_addUnique' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_addUnique-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_clear': src/BTrees/BTreeTemplate.c:912:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:931:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:913:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:913:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:915:11: note: reaching: if (self->len) src/BTrees/BTreeTemplate.c:915:6: note: when considering range: 1 <= value <= 0x7fffffff at: if (self->len) src/BTrees/BTreeTemplate.c:915:6: note: taking True path at: if (self->len) src/BTrees/BTreeTemplate.c:917:23: note: reaching: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:917:10: note: when considering range: 0 <= value <= 0x7fffffff at: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:917:10: note: taking False path at: if (_BTree_clear(self) < 0) src/BTrees/BTreeTemplate.c:919:11: note: reaching: if (PER_CHANGED(self) < 0) src/BTrees/BTreeTemplate.c:919:11: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: if (PER_CHANGED(self) < 0) src/BTrees/BTreeTemplate.c:919:11: note: calling unknown int (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:919 at: if (PER_CHANGED(self) < 0) src/BTrees/BTreeTemplate.c:919:10: note: when considering range: -0x80000000 <= value <= -1 at: if (PER_CHANGED(self) < 0) src/BTrees/BTreeTemplate.c:919:10: note: taking True path at: if (PER_CHANGED(self) < 0) src/BTrees/BTreeTemplate.c:912:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:912:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:912:1: note: reaching: { src/BTrees/BTreeTemplate.c:929:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:929 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:931:1: note: returning src/BTrees/BTreeTemplate.c:931:1: note: found 11 similar trace(s) to this src/BTrees/BTreeTemplate.c:912:1: note: graphical error report for function 'BTree_clear' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_clear-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_maxminKey': src/BTrees/BTreeTemplate.c:1383:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:1451:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1389:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BTreeTemplate.c:1389:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1391:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1393:3: note: reaching: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1393:3: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:1393 as non-NULL at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1393:3: note: taking False path at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1393:3: note: reaching: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1393:3: note: when considering range: -0x80000000 <= value <= -1 at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1393:3: note: taking False path at: UNLESS (self->data && self->len) goto empty; src/BTrees/BTreeTemplate.c:1397:7: note: reaching: if (key) src/BTrees/BTreeTemplate.c:1397:6: note: taking True path at: if (key) src/BTrees/BTreeTemplate.c:1399:35: note: reaching: if ((rc = BTree_findRangeEnd(self, key, min, 0, &bucket, &offset)) <= 0) src/BTrees/BTreeTemplate.c:1399:10: note: when considering range: -0x80000000 <= value <= 0 at: if ((rc = BTree_findRangeEnd(self, key, min, 0, &bucket, &offset)) <= 0) src/BTrees/BTreeTemplate.c:1399:10: note: taking True path at: if ((rc = BTree_findRangeEnd(self, key, min, 0, &bucket, &offset)) <= 0) src/BTrees/BTreeTemplate.c:1401:14: note: reaching: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1401:14: note: when considering range: -0x80000000 <= value <= -1 at: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1401:14: note: taking True path at: if (rc < 0) goto err; src/BTrees/BTreeTemplate.c:1383:1: note: when considering value == (signed char)2 from src/BTrees/BTreeTemplate.c:1444 at: { src/BTrees/BTreeTemplate.c:1383:1: note: taking True path at: { src/BTrees/BTreeTemplate.c:1444:3: note: reaching: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1444:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1444:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1444 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1445:6: note: when treating unknown struct Bucket * * from src/BTrees/BTreeTemplate.c:1399 as non-NULL at: if (bucket) src/BTrees/BTreeTemplate.c:1445:6: note: taking True path at: if (bucket) src/BTrees/BTreeTemplate.c:1447:7: note: reaching: PER_UNUSE(bucket); src/BTrees/BTreeTemplate.c:1445:6: note: when considering range: -128 <= value <= 1 at: if (bucket) src/BTrees/BTreeTemplate.c:1445:6: note: taking False path at: if (bucket) src/BTrees/BTreeTemplate.c:1445:6: note: reaching: if (bucket) src/BTrees/BTreeTemplate.c:1447:7: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1447 at: PER_UNUSE(bucket); src/BTrees/BTreeTemplate.c:1448:7: note: when considering range: -0x8000000000000000 <= value <= -1 at: Py_DECREF(bucket); src/BTrees/BTreeTemplate.c:1448:7: note: taking True path at: Py_DECREF(bucket); src/BTrees/BTreeTemplate.c:1450:3: note: reaching: return NULL; src/BTrees/BTreeTemplate.c:1451:1: note: returning src/BTrees/BTreeTemplate.c:1451:1: note: found 18 similar trace(s) to this src/BTrees/BTreeTemplate.c:1383:1: note: graphical error report for function 'BTree_maxminKey' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_maxminKey-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_pop': src/BTrees/BTreeTemplate.c:1818:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1786:26: note: when PyArg_UnpackTuple() successfully unpacks 1 argument(s) at: if (! PyArg_UnpackTuple(args, "pop", 1, 2, &key, &failobj)) src/BTrees/BTreeTemplate.c:1786:6: note: taking False path at: if (! PyArg_UnpackTuple(args, "pop", 1, 2, &key, &failobj)) src/BTrees/BTreeTemplate.c:1789:21: note: reaching: value = _BTree_get(self, key, 0); src/BTrees/BTreeTemplate.c:1789:9: note: when _BTree_get() succeeds at: value = _BTree_get(self, key, 0); src/BTrees/BTreeTemplate.c:1790:6: note: taking True path at: if (value != NULL) { src/BTrees/BTreeTemplate.c:1792:19: note: reaching: if (_BTree_set(self, key, NULL, 0, 0) < 0) { src/BTrees/BTreeTemplate.c:1792:8: note: when considering range: -0x80000000 <= value <= -1 at: if (_BTree_set(self, key, NULL, 0, 0) < 0) { src/BTrees/BTreeTemplate.c:1792:8: note: taking True path at: if (_BTree_set(self, key, NULL, 0, 0) < 0) { src/BTrees/BTreeTemplate.c:1793:7: note: reaching: Py_DECREF(value); src/BTrees/BTreeTemplate.c:1793:7: note: when taking True path at: Py_DECREF(value); src/BTrees/BTreeTemplate.c:1794:7: note: reaching: return NULL;; src/BTrees/BTreeTemplate.c:1818:1: note: returning src/BTrees/BTreeTemplate.c:1818:1: note: found 3 similar trace(s) to this src/BTrees/BTreeTemplate.c:1781:1: note: graphical error report for function 'BTree_pop' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_pop-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function '_BTree_get': src/BTrees/BTreeTemplate.c:181:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:220:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:187:3: note: taking False path at: UNLESS (copied) return NULL; src/BTrees/BTreeTemplate.c:189:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:189:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:189:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:189:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:189:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:189:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:190:11: note: reaching: if (self->len == 0) { src/BTrees/BTreeTemplate.c:190:6: note: when considering range: -0x80000000 <= value <= -1 at: if (self->len == 0) { src/BTrees/BTreeTemplate.c:190:6: note: taking False path at: if (self->len == 0) { src/BTrees/BTreeTemplate.c:202:7: note: reaching: BTREE_SEARCH(i, self, key, goto Done); src/BTrees/BTreeTemplate.c:202:7: note: when considering range: -0x40000000 <= value <= 0 at: BTREE_SEARCH(i, self, key, goto Done); src/BTrees/BTreeTemplate.c:202:7: note: taking False path at: BTREE_SEARCH(i, self, key, goto Done); src/BTrees/BTreeTemplate.c:202:7: note: reaching: BTREE_SEARCH(i, self, key, goto Done); src/BTrees/BTreeTemplate.c:203:13: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:203 as non-NULL at: child = self->data[i].child; src/BTrees/BTreeTemplate.c:204:26: note: when considering range: -0x80000000 <= value <= -1 at: has_key += has_key != 0; /* bump depth counter, maybe */ src/BTrees/BTreeTemplate.c:205:11: note: when treating unknown struct Sized * from src/BTrees/BTreeTemplate.c:203 as non-NULL at: if (SameType_Check(self, child)) { src/BTrees/BTreeTemplate.c:205:10: note: when taking True path at: if (SameType_Check(self, child)) { src/BTrees/BTreeTemplate.c:206:9: note: reaching: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:205:10: note: when considering range: 3 <= value <= 127 at: if (SameType_Check(self, child)) { src/BTrees/BTreeTemplate.c:205:10: note: taking False path at: if (SameType_Check(self, child)) { src/BTrees/BTreeTemplate.c:205:10: note: reaching: if (SameType_Check(self, child)) { src/BTrees/BTreeTemplate.c:206:9: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:206:9: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:206 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:208:9: note: when considering value == (signed char)-1 from src/BTrees/BTreeTemplate.c:208 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: taking True path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: calling unknown int (*) (struct PyObject *) from src/BTrees/BTreeTemplate.c:208 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: when considering range: -0x80000000 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: taking True path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:208:9: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BTreeTemplate.c:220:1: note: returning src/BTrees/BTreeTemplate.c:220:1: note: found 2 similar trace(s) to this src/BTrees/BTreeTemplate.c:181:1: note: graphical error report for function '_BTree_get' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c._BTree_get-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function '_bucket_get': src/BTrees/BucketTemplate.c:77:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_length_or_nonzero': src/BTrees/BTreeTemplate.c:2110:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c: In function 'BTree_setdefault': src/BTrees/BTreeTemplate.c:1773:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1753:26: note: when PyArg_UnpackTuple() successfully unpacks 2 argument(s) at: if (! PyArg_UnpackTuple(args, "setdefault", 2, 2, &key, &failobj)) src/BTrees/BTreeTemplate.c:1753:6: note: taking False path at: if (! PyArg_UnpackTuple(args, "setdefault", 2, 2, &key, &failobj)) src/BTrees/BTreeTemplate.c:1756:21: note: reaching: value = _BTree_get(self, key, 0); src/BTrees/BTreeTemplate.c:1756:9: note: when _BTree_get() fails at: value = _BTree_get(self, key, 0); src/BTrees/BTreeTemplate.c:1756:9: note: thread-local exception state now has value: (struct PyObject *)&RegionForGlobal(gcc.VarDecl('PyExc_MemoryError')) from src/BTrees/BTreeTemplate.c:1756 src/BTrees/BTreeTemplate.c:1757:6: note: taking False path at: if (value != NULL) src/BTrees/BTreeTemplate.c:1763:31: note: reaching: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BTreeTemplate.c:1763:6: note: when considering range: -0x80000000 <= value <= -1 at: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BTreeTemplate.c:1763:6: note: taking False path at: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BTreeTemplate.c:1765:14: note: reaching: PyErr_Clear(); src/BTrees/BTreeTemplate.c:1765:14: note: calling PyErr_Clear() at: PyErr_Clear(); src/BTrees/BTreeTemplate.c:1765:14: note: thread-local exception state now has value: (struct PyObject *)0 from src/BTrees/BTreeTemplate.c:1765 src/BTrees/BTreeTemplate.c:1769:6: note: when considering range: -0x80000000 <= value <= -1 at: if (_BTree_set(self, key, failobj, 0, 0) < 0) src/BTrees/BTreeTemplate.c:1769:6: note: taking True path at: if (_BTree_set(self, key, failobj, 0, 0) < 0) src/BTrees/BTreeTemplate.c:1770:11: note: reaching: value = NULL; src/BTrees/BTreeTemplate.c:1771:3: note: taking True path at: Py_XINCREF(value); src/BTrees/BTreeTemplate.c:1772:3: note: reaching: return value; src/BTrees/BTreeTemplate.c:1773:1: note: returning src/BTrees/BTreeTemplate.c:1773:1: note: found 1 similar trace(s) to this src/BTrees/BTreeTemplate.c:1748:1: note: graphical error report for function 'BTree_setdefault' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_setdefault-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_byValue': src/BTrees/BTreeTemplate.c:1659:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:1722:1: warning: ob_refcnt of new ref from (unknown) BTree_rangeSearch is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1722:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1722:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1673:27: note: new ref from (unknown) BTree_rangeSearch allocated at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1668:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BTreeTemplate.c:1669:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BTreeTemplate.c:1671:3: note: reaching: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: taking False path at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1673:27: note: reaching: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: when BTree_rangeSearch() succeeds at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1674:3: note: taking False path at: UNLESS(it.set) goto err; src/BTrees/BTreeTemplate.c:1676:21: note: reaching: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: taking False path at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1678:12: note: reaching: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: when considering range: -0x80000000 <= value <= -1 at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: taking False path at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1702:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1703:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1704:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1704:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1705:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1705:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1706:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1707:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1707:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1708:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1708:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1709:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1709:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1710:3: note: reaching: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: when considering range: 1 <= value <= 0x7ffffffffffffffe at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: taking True path at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1712:19: note: reaching: finiSetIteration(&it); src/BTrees/BTreeTemplate.c:1659:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1659:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1659:1: note: reaching: { src/BTrees/BTreeTemplate.c:1713:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1713:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1722:1: note: returning src/BTrees/BTreeTemplate.c:1722:1: note: found 12 similar trace(s) to this src/BTrees/BTreeTemplate.c:1722:1: warning: ob_refcnt of '*item.245' is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1722:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1722:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1702:24: note: new ref from call to PyObject_GetAttr allocated at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1668:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BTreeTemplate.c:1669:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BTreeTemplate.c:1671:3: note: reaching: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: taking False path at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1673:27: note: reaching: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: when BTree_rangeSearch() succeeds at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1674:3: note: taking False path at: UNLESS(it.set) goto err; src/BTrees/BTreeTemplate.c:1676:21: note: reaching: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: taking False path at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1678:12: note: reaching: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: when considering range: -0x80000000 <= value <= -1 at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: taking False path at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1702:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1703:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1704:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1704:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1705:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1705:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1706:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1707:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1707:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1708:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1708:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1709:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1709:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1710:3: note: reaching: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: when considering range: 1 <= value <= 0x7ffffffffffffffe at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: taking True path at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1712:19: note: reaching: finiSetIteration(&it); src/BTrees/BTreeTemplate.c:1659:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1659:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1659:1: note: reaching: { src/BTrees/BTreeTemplate.c:1713:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1713:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1722:1: note: returning src/BTrees/BTreeTemplate.c:1722:1: note: found 6 similar trace(s) to this src/BTrees/BTreeTemplate.c:1722:1: warning: ob_refcnt of new ref from call to PyObject_CallObject is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1722:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1722:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1704:3: note: new ref from call to PyObject_CallObject allocated at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1668:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BTreeTemplate.c:1669:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BTreeTemplate.c:1671:3: note: reaching: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: taking False path at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1673:27: note: reaching: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: when BTree_rangeSearch() succeeds at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1674:3: note: taking False path at: UNLESS(it.set) goto err; src/BTrees/BTreeTemplate.c:1676:21: note: reaching: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: taking False path at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1678:12: note: reaching: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: when considering range: -0x80000000 <= value <= -1 at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: taking False path at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1702:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1703:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1704:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1704:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1704:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1705:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1705:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1706:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1707:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1707:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1708:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1708:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1709:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1709:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1710:3: note: reaching: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: when considering range: 1 <= value <= 0x7ffffffffffffffe at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: taking True path at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1712:19: note: reaching: finiSetIteration(&it); src/BTrees/BTreeTemplate.c:1659:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1659:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1659:1: note: reaching: { src/BTrees/BTreeTemplate.c:1713:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1713:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1722:1: note: returning src/BTrees/BTreeTemplate.c:1722:1: note: found 13 similar trace(s) to this src/BTrees/BTreeTemplate.c:1722:1: warning: ob_refcnt of new ref from call to PyObject_GetAttr is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1722:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1722:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:1706:3: note: new ref from call to PyObject_GetAttr allocated at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1668:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BTreeTemplate.c:1669:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BTreeTemplate.c:1671:3: note: reaching: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: taking False path at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1673:27: note: reaching: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: when BTree_rangeSearch() succeeds at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1674:3: note: taking False path at: UNLESS(it.set) goto err; src/BTrees/BTreeTemplate.c:1676:21: note: reaching: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: taking False path at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1678:12: note: reaching: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: when considering range: -0x80000000 <= value <= -1 at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1678:9: note: taking False path at: while (it.position >= 0) src/BTrees/BTreeTemplate.c:1702:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1702:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BTreeTemplate.c:1703:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1704:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1704:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1705:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1704 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1705:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1706:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BTreeTemplate.c:1706:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:1707:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1706 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1707:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1708:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1708:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BTreeTemplate.c:1709:3: note: when treating unknown struct PyObject * * from src/BTrees/BTreeTemplate.c:1708 as non-NULL at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1709:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BTreeTemplate.c:1710:3: note: reaching: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: when considering range: 1 <= value <= 0x7ffffffffffffffe at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1710:3: note: taking True path at: Py_DECREF(item); src/BTrees/BTreeTemplate.c:1712:19: note: reaching: finiSetIteration(&it); src/BTrees/BTreeTemplate.c:1659:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1659:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1659:1: note: reaching: { src/BTrees/BTreeTemplate.c:1713:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1713:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1713 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1722:1: note: returning src/BTrees/BTreeTemplate.c:1722:1: note: found 6 similar trace(s) to this src/BTrees/BTreeTemplate.c:1722:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1666:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:1668:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BTreeTemplate.c:1669:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BTreeTemplate.c:1671:3: note: reaching: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1671:3: note: taking False path at: UNLESS (r=PyList_New(0)) goto err; src/BTrees/BTreeTemplate.c:1673:27: note: reaching: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1673:27: note: when BTree_rangeSearch() succeeds at: it.set=BTree_rangeSearch(self, NULL, NULL, 'i'); src/BTrees/BTreeTemplate.c:1674:3: note: taking False path at: UNLESS(it.set) goto err; src/BTrees/BTreeTemplate.c:1676:21: note: reaching: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: when considering range: -0x80000000 <= value <= -1 at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1676:6: note: taking True path at: if (nextBTreeItems(&it) < 0) goto err; src/BTrees/BTreeTemplate.c:1659:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1659:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1659:1: note: reaching: { src/BTrees/BTreeTemplate.c:1717:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1717:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1717 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1718:3: note: taking False path at: Py_XDECREF(r); src/BTrees/BTreeTemplate.c:1718:3: note: reaching: Py_XDECREF(r); src/BTrees/BTreeTemplate.c:1718:3: note: when taking True path at: Py_XDECREF(r); src/BTrees/BTreeTemplate.c:1719:19: note: reaching: finiSetIteration(&it); src/BTrees/BTreeTemplate.c:1720:3: note: taking True path at: Py_XDECREF(item); src/BTrees/BTreeTemplate.c:1721:3: note: reaching: return NULL; src/BTrees/BTreeTemplate.c:1722:1: note: returning src/BTrees/BTreeTemplate.c:1722:1: note: found 5 similar trace(s) to this src/BTrees/BTreeTemplate.c:1659:1: note: graphical error report for function 'BTree_byValue' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_byValue-refcount-errors.html' In file included from src/BTrees/_OOBTree.c:32:0: src/BTrees/BTreeModuleTemplate.c: In function 'PyVar_Assign': src/BTrees/BTreeModuleTemplate.c:59:1: warning: ob_refcnt of '*e' is 1 too low [enabled by default] src/BTrees/BTreeModuleTemplate.c:59:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/BTrees/BTreeModuleTemplate.c:59:1: note: due to object being referenced by: heap-region-518 src/BTrees/BTreeModuleTemplate.c:59:1: note: but final ob_refcnt is N + 0 src/BTrees/BTreeModuleTemplate.c:59:55: note: when treating unknown struct PyObject * * from src/BTrees/BTreeModuleTemplate.c:59 as non-NULL at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:59 as non-NULL at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: taking False path at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: reaching: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:59 as non-NULL at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: when considering range: -0x8000000000000000 <= value <= -1 at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:55: note: taking True path at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:73: note: reaching: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:73: note: '*e' is now referenced by 1 non-stack value(s): heap-region-518 src/BTrees/BTreeModuleTemplate.c:59:1: note: returning at: static void PyVar_Assign(PyObject **v, PyObject *e) { Py_XDECREF(*v); *v=e;} src/BTrees/BTreeModuleTemplate.c:59:1: note: found 3 similar trace(s) to this src/BTrees/BTreeModuleTemplate.c:59:53: note: graphical error report for function 'PyVar_Assign' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.PyVar_Assign-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_setstate': src/BTrees/BTreeTemplate.c:1127:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeTemplate.c:1116:1: note: when considering range: -128 <= value <= -1 at: { src/BTrees/BTreeTemplate.c:1116:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1116:1: note: reaching: { src/BTrees/BTreeTemplate.c:1116:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BTreeTemplate.c:1116:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:1116:1: note: reaching: { src/BTrees/BTreeTemplate.c:1121:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1121:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1121 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1123:6: note: when considering range: -0x80000000 <= value <= -1 at: if (r < 0) src/BTrees/BTreeTemplate.c:1123:6: note: taking True path at: if (r < 0) src/BTrees/BTreeTemplate.c:1124:5: note: reaching: return NULL; src/BTrees/BTreeTemplate.c:1127:1: note: returning src/BTrees/BTreeTemplate.c:1127:1: note: found 6 similar trace(s) to this src/BTrees/BTreeTemplate.c:1116:1: note: graphical error report for function 'BTree_setstate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_setstate-refcount-errors.html' src/BTrees/BTreeTemplate.c: In function 'BTree_getstate': src/BTrees/BTreeTemplate.c:962:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeTemplate.c:1016:1: warning: ob_refcnt of '*r.255' is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1016:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1016:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:970:20: note: PyTupleObject allocated at: r = PyTuple_New(self->len * 2 - 1); src/BTrees/BTreeTemplate.c:967:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:969:11: note: reaching: if (self->len) { src/BTrees/BTreeTemplate.c:969:6: note: when considering range: -0x80000000 <= value <= -1 at: if (self->len) { src/BTrees/BTreeTemplate.c:969:6: note: taking True path at: if (self->len) { src/BTrees/BTreeTemplate.c:970:25: note: reaching: r = PyTuple_New(self->len * 2 - 1); src/BTrees/BTreeTemplate.c:970:20: note: when PyTuple_New() succeeds at: r = PyTuple_New(self->len * 2 - 1); src/BTrees/BTreeTemplate.c:970:20: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:971:8: note: taking False path at: if (r == NULL) src/BTrees/BTreeTemplate.c:974:13: note: reaching: if (self->len == 1 src/BTrees/BTreeTemplate.c:974:8: note: when considering value == (int)1 from src/BTrees/BTreeTemplate.c:974 at: if (self->len == 1 src/BTrees/BTreeTemplate.c:974:8: note: taking True path at: if (self->len == 1 src/BTrees/BTreeTemplate.c:975:16: note: reaching: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:22: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:975 as non-NULL at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:29: note: when treating unknown struct Sized * from src/BTrees/BTreeTemplate.c:975 as non-NULL at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:9: note: when taking True path at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:977:12: note: reaching: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:12: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:37: note: when treating unknown struct Sized * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:9: note: when treating unknown struct PyObject * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:9: note: taking False path at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:988:13: note: reaching: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:988:7: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:988:7: note: taking False path at: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:999:7: note: reaching: ASSIGN(r, Py_BuildValue("OO", r, self->firstbucket)); src/BTrees/BTreeTemplate.c:999:7: note: when Py_BuildValue() succeeds at: ASSIGN(r, Py_BuildValue("OO", r, self->firstbucket)); src/BTrees/BTreeTemplate.c:999:7: note: ob_refcnt is now refs: 1 + N where N >= 1 src/BTrees/BTreeTemplate.c:962:1: note: when considering range: 3 <= value <= 127 at: { src/BTrees/BTreeTemplate.c:962:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:962:1: note: reaching: { src/BTrees/BTreeTemplate.c:1008:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1008:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1008 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1016:1: note: returning src/BTrees/BTreeTemplate.c:1016:1: note: found 14 similar trace(s) to this src/BTrees/BTreeTemplate.c:1016:1: warning: ob_refcnt of new ref from call to Py_BuildValue is 1 too high [enabled by default] src/BTrees/BTreeTemplate.c:1016:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BTreeTemplate.c:1016:1: note: but final ob_refcnt is N + 1 src/BTrees/BTreeTemplate.c:999:7: note: new ref from call to Py_BuildValue allocated at: ASSIGN(r, Py_BuildValue("OO", r, self->firstbucket)); src/BTrees/BTreeTemplate.c:967:3: note: when considering range: -128 <= value <= -2 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking True path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: when considering range: -128 <= value <= -1 at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: reaching: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:967:3: note: taking False path at: UNLESS (PER_USE(self)) return NULL; src/BTrees/BTreeTemplate.c:969:11: note: reaching: if (self->len) { src/BTrees/BTreeTemplate.c:969:6: note: when considering range: -0x80000000 <= value <= -1 at: if (self->len) { src/BTrees/BTreeTemplate.c:969:6: note: taking True path at: if (self->len) { src/BTrees/BTreeTemplate.c:970:25: note: reaching: r = PyTuple_New(self->len * 2 - 1); src/BTrees/BTreeTemplate.c:970:20: note: when PyTuple_New() succeeds at: r = PyTuple_New(self->len * 2 - 1); src/BTrees/BTreeTemplate.c:971:8: note: taking False path at: if (r == NULL) src/BTrees/BTreeTemplate.c:974:13: note: reaching: if (self->len == 1 src/BTrees/BTreeTemplate.c:974:8: note: when considering value == (int)1 from src/BTrees/BTreeTemplate.c:974 at: if (self->len == 1 src/BTrees/BTreeTemplate.c:974:8: note: taking True path at: if (self->len == 1 src/BTrees/BTreeTemplate.c:975:16: note: reaching: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:22: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:975 as non-NULL at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:29: note: when treating unknown struct Sized * from src/BTrees/BTreeTemplate.c:975 as non-NULL at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:975:9: note: when taking True path at: && self->data->child->ob_type != self->ob_type src/BTrees/BTreeTemplate.c:977:12: note: reaching: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:12: note: when treating unknown struct BTreeItem * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:37: note: when treating unknown struct Sized * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:9: note: when treating unknown struct PyObject * from src/BTrees/BTreeTemplate.c:977 as non-NULL at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:977:9: note: taking False path at: && BUCKET(self->data->child)->oid == NULL src/BTrees/BTreeTemplate.c:988:13: note: reaching: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:988:7: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:988:7: note: taking False path at: for (i=0, l=0; i < self->len; i++) { src/BTrees/BTreeTemplate.c:999:7: note: reaching: ASSIGN(r, Py_BuildValue("OO", r, self->firstbucket)); src/BTrees/BTreeTemplate.c:999:7: note: when Py_BuildValue() succeeds at: ASSIGN(r, Py_BuildValue("OO", r, self->firstbucket)); src/BTrees/BTreeTemplate.c:999:7: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BTreeTemplate.c:962:1: note: when considering range: 3 <= value <= 127 at: { src/BTrees/BTreeTemplate.c:962:1: note: taking False path at: { src/BTrees/BTreeTemplate.c:962:1: note: reaching: { src/BTrees/BTreeTemplate.c:1008:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1008:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BTreeTemplate.c:1008 at: PER_UNUSE(self); src/BTrees/BTreeTemplate.c:1016:1: note: returning src/BTrees/BTreeTemplate.c:1016:1: note: found 8 similar trace(s) to this src/BTrees/BTreeTemplate.c:962:1: note: graphical error report for function 'BTree_getstate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTree_getstate-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:395:0, from src/BTrees/_OOBTree.c:32: src/BTrees/SetTemplate.c: In function 'Set_remove': src/BTrees/SetTemplate.c:93:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetTemplate.c:88:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/SetTemplate.c:88:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/SetTemplate.c:89:18: note: reaching: if (_bucket_set(self, key, NULL, 0, 1, 0) < 0) return NULL; src/BTrees/SetTemplate.c:89:6: note: when considering range: -0x80000000 <= value <= -1 at: if (_bucket_set(self, key, NULL, 0, 1, 0) < 0) return NULL; src/BTrees/SetTemplate.c:89:6: note: taking True path at: if (_bucket_set(self, key, NULL, 0, 1, 0) < 0) return NULL; src/BTrees/SetTemplate.c:89:50: note: reaching: if (_bucket_set(self, key, NULL, 0, 1, 0) < 0) return NULL; src/BTrees/SetTemplate.c:93:1: note: returning src/BTrees/SetTemplate.c:85:1: note: graphical error report for function 'Set_remove' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.Set_remove-refcount-errors.html' src/BTrees/SetTemplate.c: In function 'Set_update': src/BTrees/SetTemplate.c:81:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetTemplate.c:71:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, "|O:update", &seq)) src/BTrees/SetTemplate.c:71:8: note: taking False path at: if (!PyArg_ParseTuple(args, "|O:update", &seq)) src/BTrees/SetTemplate.c:74:9: note: reaching: if (seq) { src/BTrees/SetTemplate.c:74:8: note: taking True path at: if (seq) { src/BTrees/SetTemplate.c:75:17: note: reaching: n = _Set_update(self, seq); src/BTrees/SetTemplate.c:76:5: note: when considering range: -0x80000000 <= value <= -1 at: if (n < 0) src/BTrees/SetTemplate.c:76:5: note: taking True path at: if (n < 0) src/BTrees/SetTemplate.c:77:6: note: reaching: return NULL; src/BTrees/SetTemplate.c:81:1: note: returning src/BTrees/SetTemplate.c:67:1: note: graphical error report for function 'Set_update' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.Set_update-refcount-errors.html' src/BTrees/SetTemplate.c: In function 'Set_insert': src/BTrees/SetTemplate.c:26:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetTemplate.c:23:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/SetTemplate.c:23:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "O", &key)) return NULL; src/BTrees/SetTemplate.c:24:22: note: reaching: if ( (i=_bucket_set(self, key, Py_None, 1, 1, 0)) < 0) return NULL; src/BTrees/SetTemplate.c:24:6: note: when considering range: -0x80000000 <= value <= -1 at: if ( (i=_bucket_set(self, key, Py_None, 1, 1, 0)) < 0) return NULL; src/BTrees/SetTemplate.c:24:6: note: taking True path at: if ( (i=_bucket_set(self, key, Py_None, 1, 1, 0)) < 0) return NULL; src/BTrees/SetTemplate.c:24:58: note: reaching: if ( (i=_bucket_set(self, key, Py_None, 1, 1, 0)) < 0) return NULL; src/BTrees/SetTemplate.c:26:1: note: returning src/BTrees/SetTemplate.c:19:1: note: graphical error report for function 'Set_insert' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.Set_insert-refcount-errors.html' src/BTrees/SetTemplate.c: In function 'set_setstate': src/BTrees/SetTemplate.c:166:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetTemplate.c:157:3: note: when PyArg_ParseTuple() succeeds at: UNLESS (PyArg_ParseTuple(args, "O", &args)) return NULL; src/BTrees/SetTemplate.c:157:3: note: taking False path at: UNLESS (PyArg_ParseTuple(args, "O", &args)) return NULL; src/BTrees/SetTemplate.c:159:3: note: reaching: PER_PREVENT_DEACTIVATION(self); src/BTrees/SetTemplate.c:154:1: note: when considering range: -128 <= value <= -1 at: { src/BTrees/SetTemplate.c:154:1: note: taking False path at: { src/BTrees/SetTemplate.c:154:1: note: reaching: { src/BTrees/SetTemplate.c:154:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/SetTemplate.c:154:1: note: taking False path at: { src/BTrees/SetTemplate.c:154:1: note: reaching: { src/BTrees/SetTemplate.c:161:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/SetTemplate.c:161:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/SetTemplate.c:161 at: PER_UNUSE(self); src/BTrees/SetTemplate.c:163:6: note: when considering range: -0x80000000 <= value <= -1 at: if (r < 0) return NULL; src/BTrees/SetTemplate.c:163:6: note: taking True path at: if (r < 0) return NULL; src/BTrees/SetTemplate.c:163:14: note: reaching: if (r < 0) return NULL; src/BTrees/SetTemplate.c:166:1: note: returning src/BTrees/SetTemplate.c:166:1: note: found 6 similar trace(s) to this src/BTrees/SetTemplate.c:154:1: note: graphical error report for function 'set_setstate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.set_setstate-refcount-errors.html' src/BTrees/SetTemplate.c: In function 'set_item': src/BTrees/SetTemplate.c:264:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/SetTemplate.c:278:1: warning: ob_refcnt of new ref from (unknown) IndexError is 1 too high [enabled by default] src/BTrees/SetTemplate.c:278:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/SetTemplate.c:278:1: note: but final ob_refcnt is N + 1 src/BTrees/SetTemplate.c:273:15: note: new ref from (unknown) IndexError allocated at: IndexError(index); src/BTrees/SetTemplate.c:267:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: when considering value == (signed char)0 from src/BTrees/SetTemplate.c:267 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: taking True path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:268:6: note: when considering range: -0x8000000000000000 <= value <= -1 at: if (index >= 0 && index < self->len) src/BTrees/SetTemplate.c:268:6: note: taking False path at: if (index >= 0 && index < self->len) src/BTrees/SetTemplate.c:273:15: note: reaching: IndexError(index); src/BTrees/SetTemplate.c:273:15: note: when IndexError() succeeds at: IndexError(index); src/BTrees/SetTemplate.c:275:3: note: reaching: PER_UNUSE(self); src/BTrees/SetTemplate.c:273:15: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/SetTemplate.c:264:1: note: taking True path at: { src/BTrees/SetTemplate.c:275:3: note: reaching: PER_UNUSE(self); src/BTrees/SetTemplate.c:275:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/SetTemplate.c:275:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/SetTemplate.c:275 at: PER_UNUSE(self); src/BTrees/SetTemplate.c:278:1: note: returning src/BTrees/SetTemplate.c:278:1: note: found 6 similar trace(s) to this src/BTrees/SetTemplate.c:278:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetTemplate.c:267:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: when considering value == (signed char)0 from src/BTrees/SetTemplate.c:267 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: taking True path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:267:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/SetTemplate.c:268:6: note: when considering range: -0x8000000000000000 <= value <= -1 at: if (index >= 0 && index < self->len) src/BTrees/SetTemplate.c:268:6: note: taking False path at: if (index >= 0 && index < self->len) src/BTrees/SetTemplate.c:273:15: note: reaching: IndexError(index); src/BTrees/SetTemplate.c:273:15: note: when IndexError() succeeds at: IndexError(index); src/BTrees/SetTemplate.c:275:3: note: reaching: PER_UNUSE(self); src/BTrees/SetTemplate.c:264:1: note: taking True path at: { src/BTrees/SetTemplate.c:275:3: note: reaching: PER_UNUSE(self); src/BTrees/SetTemplate.c:275:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/SetTemplate.c:275:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/SetTemplate.c:275 at: PER_UNUSE(self); src/BTrees/SetTemplate.c:278:1: note: returning src/BTrees/SetTemplate.c:278:1: note: found 6 similar trace(s) to this src/BTrees/SetTemplate.c:264:1: note: graphical error report for function 'set_item' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.set_item-refcount-errors.html' src/BTrees/SetTemplate.c: In function 'set_length': src/BTrees/SetTemplate.c:252:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'bucket__p_deactivate': src/BTrees/BucketTemplate.c:1036:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:1073:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:1040:8: note: taking True path at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BucketTemplate.c:1040:17: note: reaching: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BucketTemplate.c:1040:14: note: when considering range: -0x8000000000000000 <= value <= 0 at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BucketTemplate.c:1040:14: note: taking False path at: if (args && PyTuple_GET_SIZE(args) > 0) { src/BTrees/BucketTemplate.c:1045:8: note: reaching: if (keywords) { src/BTrees/BucketTemplate.c:1045:8: note: taking True path at: if (keywords) { src/BTrees/BucketTemplate.c:1046:24: note: reaching: int size = PyDict_Size(keywords); src/BTrees/BucketTemplate.c:1046:24: note: when PyDict_Size() returns ma_used at: int size = PyDict_Size(keywords); src/BTrees/BucketTemplate.c:1047:8: note: PyDict_GetItemString does not find string at: force = PyDict_GetItemString(keywords, "force"); src/BTrees/BucketTemplate.c:1048:5: note: taking False path at: if (force) src/BTrees/BucketTemplate.c:1050:5: note: reaching: if (size) { src/BTrees/BucketTemplate.c:1050:5: note: when considering value == (int)0 from src/BTrees/BucketTemplate.c:1046 at: if (size) { src/BTrees/BucketTemplate.c:1050:5: note: taking False path at: if (size) { src/BTrees/BucketTemplate.c:1057:13: note: reaching: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1057:8: note: when treating unknown struct PyObject * from src/BTrees/BucketTemplate.c:1057 as non-NULL at: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1057:8: note: taking True path at: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1057:26: note: reaching: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1057:19: note: when treating unknown struct PyObject * from src/BTrees/BucketTemplate.c:1057 as non-NULL at: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1057:19: note: taking True path at: if (self->jar && self->oid) { src/BTrees/BucketTemplate.c:1058:17: note: reaching: ghostify = self->state == cPersistent_UPTODATE_STATE; src/BTrees/BucketTemplate.c:1058:11: note: when considering value == (signed char)0 from src/BTrees/BucketTemplate.c:1058 at: ghostify = self->state == cPersistent_UPTODATE_STATE; src/BTrees/BucketTemplate.c:1059:5: note: taking False path at: if (!ghostify && force) { src/BTrees/BucketTemplate.c:1065:5: note: reaching: if (ghostify) { src/BTrees/BucketTemplate.c:1065:5: note: taking True path at: if (ghostify) { src/BTrees/BucketTemplate.c:1066:23: note: reaching: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1066:9: note: when considering range: -0x80000000 <= value <= -1 at: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1066:9: note: taking True path at: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1067:3: note: reaching: return NULL; src/BTrees/BucketTemplate.c:1073:1: note: returning src/BTrees/BucketTemplate.c:1073:1: note: found 3 similar trace(s) to this src/BTrees/BucketTemplate.c:1036:1: note: graphical error report for function 'bucket__p_deactivate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket__p_deactivate-refcount-errors.html' src/BTrees/BucketTemplate.c: In function '_bucket_clear': src/BTrees/BucketTemplate.c:994:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c: In function 'bucket__p_resolveConflict': src/BTrees/BucketTemplate.c:1505:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "OOO" [enabled by default] argument 3 ("&s") had type "struct PyObject *[3] *" but was expecting "struct PyObject * *" for format code "O" src/BTrees/BucketTemplate.c: In function 'buildBucketIter': src/BTrees/BucketTemplate.c:1396:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c: In function 'bucket_pop': src/BTrees/BucketTemplate.c:1341:2: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:1309:28: note: when PyArg_UnpackTuple() successfully unpacks 1 argument(s) at: if (! PyArg_UnpackTuple(args, "pop", 1, 2, &key, &failobj)) src/BTrees/BucketTemplate.c:1309:8: note: taking False path at: if (! PyArg_UnpackTuple(args, "pop", 1, 2, &key, &failobj)) src/BTrees/BucketTemplate.c:1312:24: note: reaching: value = _bucket_get(self, key, 0); src/BTrees/BucketTemplate.c:1312:11: note: when _bucket_get() succeeds at: value = _bucket_get(self, key, 0); src/BTrees/BucketTemplate.c:1313:8: note: taking True path at: if (value != NULL) { src/BTrees/BucketTemplate.c:1315:24: note: reaching: if (_bucket_set(self, key, NULL, 0, 0, &dummy_changed) < 0) { src/BTrees/BucketTemplate.c:1315:12: note: when considering range: -0x80000000 <= value <= -1 at: if (_bucket_set(self, key, NULL, 0, 0, &dummy_changed) < 0) { src/BTrees/BucketTemplate.c:1315:12: note: taking True path at: if (_bucket_set(self, key, NULL, 0, 0, &dummy_changed) < 0) { src/BTrees/BucketTemplate.c:1316:13: note: reaching: Py_DECREF(value); src/BTrees/BucketTemplate.c:1316:13: note: when taking True path at: Py_DECREF(value); src/BTrees/BucketTemplate.c:1317:13: note: reaching: return NULL; src/BTrees/BucketTemplate.c:1341:2: note: returning src/BTrees/BucketTemplate.c:1341:2: note: found 3 similar trace(s) to this src/BTrees/BucketTemplate.c:1303:1: note: graphical error report for function 'bucket_pop' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_pop-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_setdefault': src/BTrees/BucketTemplate.c:1294:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:1274:28: note: when PyArg_UnpackTuple() successfully unpacks 2 argument(s) at: if (! PyArg_UnpackTuple(args, "setdefault", 2, 2, &key, &failobj)) src/BTrees/BucketTemplate.c:1274:8: note: taking False path at: if (! PyArg_UnpackTuple(args, "setdefault", 2, 2, &key, &failobj)) src/BTrees/BucketTemplate.c:1277:24: note: reaching: value = _bucket_get(self, key, 0); src/BTrees/BucketTemplate.c:1277:11: note: when _bucket_get() fails at: value = _bucket_get(self, key, 0); src/BTrees/BucketTemplate.c:1277:11: note: thread-local exception state now has value: (struct PyObject *)&RegionForGlobal(gcc.VarDecl('PyExc_MemoryError')) from src/BTrees/BucketTemplate.c:1277 src/BTrees/BucketTemplate.c:1278:8: note: taking False path at: if (value != NULL) src/BTrees/BucketTemplate.c:1284:33: note: reaching: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BucketTemplate.c:1284:8: note: when considering range: -0x80000000 <= value <= -1 at: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BucketTemplate.c:1284:8: note: taking False path at: if (! PyErr_ExceptionMatches(PyExc_KeyError)) src/BTrees/BucketTemplate.c:1286:16: note: reaching: PyErr_Clear(); src/BTrees/BucketTemplate.c:1286:16: note: calling PyErr_Clear() at: PyErr_Clear(); src/BTrees/BucketTemplate.c:1286:16: note: thread-local exception state now has value: (struct PyObject *)0 from src/BTrees/BucketTemplate.c:1286 src/BTrees/BucketTemplate.c:1290:8: note: when considering range: -0x80000000 <= value <= -1 at: if (_bucket_set(self, key, failobj, 0, 0, &dummy_changed) < 0) src/BTrees/BucketTemplate.c:1290:8: note: taking True path at: if (_bucket_set(self, key, failobj, 0, 0, &dummy_changed) < 0) src/BTrees/BucketTemplate.c:1291:15: note: reaching: value = NULL; src/BTrees/BucketTemplate.c:1292:5: note: taking True path at: Py_XINCREF(value); src/BTrees/BucketTemplate.c:1293:5: note: reaching: return value; src/BTrees/BucketTemplate.c:1294:1: note: returning src/BTrees/BucketTemplate.c:1294:1: note: found 1 similar trace(s) to this src/BTrees/BucketTemplate.c:1268:1: note: graphical error report for function 'bucket_setdefault' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_setdefault-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_byValue': src/BTrees/BucketTemplate.c:932:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:990:1: warning: ob_refcnt of '*item.294' is 1 too high [enabled by default] src/BTrees/BucketTemplate.c:990:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BucketTemplate.c:990:1: note: but final ob_refcnt is N + 1 src/BTrees/BucketTemplate.c:972:24: note: new ref from call to PyObject_GetAttr allocated at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:940:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BucketTemplate.c:941:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BucketTemplate.c:943:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:947:3: note: reaching: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: taking False path at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:949:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:972:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BucketTemplate.c:973:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:974:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:974:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:975:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:974 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:975:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:976:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:977:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:976 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:977:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:978:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:978:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:979:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:978 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:979:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:980:3: note: reaching: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: when considering range: -0x8000000000000000 <= value <= -1 at: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: taking True path at: Py_DECREF(item); src/BTrees/BucketTemplate.c:982:3: note: reaching: PER_UNUSE(self); src/BTrees/BucketTemplate.c:932:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:932:1: note: taking False path at: { src/BTrees/BucketTemplate.c:932:1: note: reaching: { src/BTrees/BucketTemplate.c:982:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:982:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:982 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:990:1: note: returning src/BTrees/BucketTemplate.c:990:1: note: found 14 similar trace(s) to this src/BTrees/BucketTemplate.c:990:1: warning: ob_refcnt of new ref from call to PyObject_CallObject is 1 too high [enabled by default] src/BTrees/BucketTemplate.c:990:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BucketTemplate.c:990:1: note: but final ob_refcnt is N + 1 src/BTrees/BucketTemplate.c:974:3: note: new ref from call to PyObject_CallObject allocated at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:940:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BucketTemplate.c:941:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BucketTemplate.c:943:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:947:3: note: reaching: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: taking False path at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:949:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:972:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:973:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:974:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:974:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:974:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BucketTemplate.c:975:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:974 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:975:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:976:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:977:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:976 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:977:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:978:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:978:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:979:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:978 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:979:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:980:3: note: reaching: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: when considering range: -0x8000000000000000 <= value <= -1 at: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: taking True path at: Py_DECREF(item); src/BTrees/BucketTemplate.c:982:3: note: reaching: PER_UNUSE(self); src/BTrees/BucketTemplate.c:932:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:932:1: note: taking False path at: { src/BTrees/BucketTemplate.c:932:1: note: reaching: { src/BTrees/BucketTemplate.c:982:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:982:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:982 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:990:1: note: returning src/BTrees/BucketTemplate.c:990:1: note: found 29 similar trace(s) to this src/BTrees/BucketTemplate.c:990:1: warning: ob_refcnt of new ref from call to PyObject_GetAttr is 1 too high [enabled by default] src/BTrees/BucketTemplate.c:990:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/BucketTemplate.c:990:1: note: but final ob_refcnt is N + 1 src/BTrees/BucketTemplate.c:976:3: note: new ref from call to PyObject_GetAttr allocated at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:940:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BucketTemplate.c:941:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BucketTemplate.c:943:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:947:3: note: reaching: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: taking False path at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:949:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:972:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:973:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:974:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:974:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:975:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:974 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:975:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:976:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BucketTemplate.c:977:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:976 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:977:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:978:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:978:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:979:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:978 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:979:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:980:3: note: reaching: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: when considering range: -0x8000000000000000 <= value <= -1 at: Py_DECREF(item); src/BTrees/BucketTemplate.c:980:3: note: taking True path at: Py_DECREF(item); src/BTrees/BucketTemplate.c:982:3: note: reaching: PER_UNUSE(self); src/BTrees/BucketTemplate.c:932:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:932:1: note: taking False path at: { src/BTrees/BucketTemplate.c:932:1: note: reaching: { src/BTrees/BucketTemplate.c:982:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:982:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:982 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:990:1: note: returning src/BTrees/BucketTemplate.c:990:1: note: found 14 similar trace(s) to this src/BTrees/BucketTemplate.c:990:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:938:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:940:3: note: reaching: COPY_VALUE_FROM_ARG(min, omin, copied); src/BTrees/BucketTemplate.c:941:3: note: taking False path at: UNLESS(copied) return NULL; src/BTrees/BucketTemplate.c:943:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:943:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:947:3: note: reaching: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: when PyList_New() succeeds at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:947:3: note: taking False path at: UNLESS (r=PyList_New(l)) goto err; src/BTrees/BucketTemplate.c:949:9: note: reaching: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: when considering range: -0x80000000 <= value <= 0 at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:949:3: note: taking False path at: for (i=0, l=0; i < self->len; i++) src/BTrees/BucketTemplate.c:972:24: note: reaching: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:972:24: note: when PyObject_GetAttr() succeeds at: item=PyObject_GetAttr(r,sort_str); src/BTrees/BucketTemplate.c:973:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:974:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:974:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:975:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:974 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:975:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:976:3: note: reaching: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when treating unknown struct PyObject * from src/BTrees/BTreeModuleTemplate.c:55 as non-NULL at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:976:3: note: when PyObject_GetAttr() succeeds at: ASSIGN(item, PyObject_GetAttr(r, reverse_str)); src/BTrees/BucketTemplate.c:977:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:976 as non-NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:977:3: note: taking False path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:978:3: note: reaching: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:978:3: note: when PyObject_CallObject() succeeds at: ASSIGN(item, PyObject_CallObject(item, NULL)); src/BTrees/BucketTemplate.c:979:3: note: when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:978 as NULL at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:979:3: note: taking True path at: UNLESS (item) goto err; src/BTrees/BucketTemplate.c:932:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:932:1: note: taking False path at: { src/BTrees/BucketTemplate.c:932:1: note: reaching: { src/BTrees/BucketTemplate.c:986:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:986:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:986 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:987:3: note: taking False path at: Py_XDECREF(r); src/BTrees/BucketTemplate.c:987:3: note: reaching: Py_XDECREF(r); src/BTrees/BucketTemplate.c:987:3: note: when taking True path at: Py_XDECREF(r); src/BTrees/BucketTemplate.c:988:3: note: reaching: Py_XDECREF(item); src/BTrees/BucketTemplate.c:988:3: note: taking True path at: Py_XDECREF(item); src/BTrees/BucketTemplate.c:989:3: note: reaching: return NULL; src/BTrees/BucketTemplate.c:990:1: note: returning src/BTrees/BucketTemplate.c:990:1: note: found 5 similar trace(s) to this src/BTrees/BucketTemplate.c:932:1: note: graphical error report for function 'bucket_byValue' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_byValue-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_items': src/BTrees/BucketTemplate.c:893:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:928:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:897:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:897:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:897:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:897:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:897:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:899:25: note: reaching: if (Bucket_rangeSearch(self, args, kw, &low, &high) < 0) goto err; src/BTrees/BucketTemplate.c:899:6: note: when considering range: -0x80000000 <= value <= -1 at: if (Bucket_rangeSearch(self, args, kw, &low, &high) < 0) goto err; src/BTrees/BucketTemplate.c:899:6: note: taking True path at: if (Bucket_rangeSearch(self, args, kw, &low, &high) < 0) goto err; src/BTrees/BucketTemplate.c:893:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:893:1: note: taking False path at: { src/BTrees/BucketTemplate.c:893:1: note: reaching: { src/BTrees/BucketTemplate.c:924:3: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:924:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:924 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:925:3: note: taking True path at: Py_XDECREF(r); src/BTrees/BucketTemplate.c:926:3: note: reaching: Py_XDECREF(item); src/BTrees/BucketTemplate.c:926:3: note: taking True path at: Py_XDECREF(item); src/BTrees/BucketTemplate.c:927:3: note: reaching: return NULL; src/BTrees/BucketTemplate.c:928:1: note: returning src/BTrees/BucketTemplate.c:928:1: note: found 2 similar trace(s) to this src/BTrees/BucketTemplate.c:893:1: note: graphical error report for function 'bucket_items' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_items-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_values': src/BTrees/BucketTemplate.c:869:25: 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 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 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 2212, in impl_PyList_SetItem s_success.cpython.steal_reference(v_item, 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 src/BTrees/BucketTemplate.c:867 / WithinRange(gcctype='Py_ssize_t', loc=gcc.Location(file='src/BTrees/BucketTemplate.c', line=867), minvalue=-0x7fffffffffffffff, maxvalue=0x7fffffffffffffff) is not an instance of src/BTrees/BucketTemplate.c: In function 'Bucket_maxminKey': src/BTrees/BucketTemplate.c:689:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:724:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:694:6: note: taking True path at: if (args && ! PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BucketTemplate.c:694:33: note: reaching: if (args && ! PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BucketTemplate.c:694:33: note: when PyArg_ParseTuple() succeeds at: if (args && ! PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BucketTemplate.c:694:12: note: taking False path at: if (args && ! PyArg_ParseTuple(args, "|O", &key)) return NULL; src/BTrees/BucketTemplate.c:696:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:696:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:696:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:696:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:696:3: note: when considering range: -128 <= value <= -1 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:696:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:698:3: note: reaching: UNLESS (self->len) goto empty; src/BTrees/BucketTemplate.c:698:3: note: when considering range: 1 <= value <= 0x7fffffff at: UNLESS (self->len) goto empty; src/BTrees/BucketTemplate.c:698:3: note: taking False path at: UNLESS (self->len) goto empty; src/BTrees/BucketTemplate.c:701:7: note: reaching: if (key) src/BTrees/BucketTemplate.c:701:6: note: taking True path at: if (key) src/BTrees/BucketTemplate.c:703:36: note: reaching: if ((rc = Bucket_findRangeEnd(self, key, min, 0, &offset)) <= 0) src/BTrees/BucketTemplate.c:703:10: note: when considering range: -0x80000000 <= value <= 0 at: if ((rc = Bucket_findRangeEnd(self, key, min, 0, &offset)) <= 0) src/BTrees/BucketTemplate.c:703:10: note: taking True path at: if ((rc = Bucket_findRangeEnd(self, key, min, 0, &offset)) <= 0) src/BTrees/BucketTemplate.c:705:14: note: reaching: if (rc < 0) return NULL; src/BTrees/BucketTemplate.c:705:14: note: when considering range: -0x80000000 <= value <= -1 at: if (rc < 0) return NULL; src/BTrees/BucketTemplate.c:705:14: note: taking True path at: if (rc < 0) return NULL; src/BTrees/BucketTemplate.c:705:23: note: reaching: if (rc < 0) return NULL; src/BTrees/BucketTemplate.c:724:1: note: returning src/BTrees/BucketTemplate.c:724:1: note: found 1 similar trace(s) to this src/BTrees/BucketTemplate.c:689:1: note: graphical error report for function 'Bucket_maxminKey' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.Bucket_maxminKey-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'Mapping_update': src/BTrees/BucketTemplate.c:518:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:514:8: note: when considering range: -0x80000000 <= value <= -1 at: if (update_from_seq(self, seq) < 0) src/BTrees/BucketTemplate.c:514:8: note: taking True path at: if (update_from_seq(self, seq) < 0) src/BTrees/BucketTemplate.c:515:2: note: reaching: return NULL; src/BTrees/BucketTemplate.c:518:1: note: returning src/BTrees/BucketTemplate.c:513:1: note: graphical error report for function 'Mapping_update' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.Mapping_update-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'update_from_seq': src/BTrees/BucketTemplate.c:452:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c: In function 'bucket_clear': src/BTrees/BucketTemplate.c:1078:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c:1094:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:1079:3: note: when considering range: -128 <= value <= -2 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1079:3: note: taking False path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1079:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1079:3: note: when considering value == (signed char)0 from src/BTrees/BucketTemplate.c:1079 at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1079:3: note: taking True path at: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1079:3: note: reaching: PER_USE_OR_RETURN(self, NULL); src/BTrees/BucketTemplate.c:1081:6: note: when considering range: -0x80000000 <= value <= -1 at: if (self->len) { src/BTrees/BucketTemplate.c:1081:6: note: taking True path at: if (self->len) { src/BTrees/BucketTemplate.c:1082:24: note: reaching: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1082:10: note: when considering range: 0 <= value <= 0x7fffffff at: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1082:10: note: taking False path at: if (_bucket_clear(self) < 0) src/BTrees/BucketTemplate.c:1084:11: note: reaching: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:1084:11: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:1084:11: note: calling unknown int (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:1084 at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:1084:10: note: when considering range: -0x80000000 <= value <= -1 at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:1084:10: note: taking True path at: if (PER_CHANGED(self) < 0) src/BTrees/BucketTemplate.c:1078:1: note: taking True path at: { src/BTrees/BucketTemplate.c:1092:3: note: reaching: PER_UNUSE(self); src/BTrees/BucketTemplate.c:1092:3: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:1092 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:1094:1: note: returning src/BTrees/BucketTemplate.c:1094:1: note: found 9 similar trace(s) to this src/BTrees/BucketTemplate.c:1078:1: note: graphical error report for function 'bucket_clear' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_clear-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_keys': src/BTrees/BucketTemplate.c:830:25: 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 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 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 2212, in impl_PyList_SetItem s_success.cpython.steal_reference(v_item, 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 src/BTrees/BucketTemplate.c:829 / WithinRange(gcctype='Py_ssize_t', loc=gcc.Location(file='src/BTrees/BucketTemplate.c', line=829), minvalue=-0x7fffffffffffffff, maxvalue=0x7fffffffffffffff) is not an instance of src/BTrees/BucketTemplate.c: In function 'bucket_setstate': src/BTrees/BucketTemplate.c:1258:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BucketTemplate.c:1247:1: note: when considering range: -128 <= value <= -1 at: { src/BTrees/BucketTemplate.c:1247:1: note: taking False path at: { src/BTrees/BucketTemplate.c:1247:1: note: reaching: { src/BTrees/BucketTemplate.c:1247:1: note: when considering range: -128 <= value <= 1 at: { src/BTrees/BucketTemplate.c:1247:1: note: taking False path at: { src/BTrees/BucketTemplate.c:1247:1: note: reaching: { src/BTrees/BucketTemplate.c:1252:5: note: when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:1252:5: note: calling unknown void (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:1252 at: PER_UNUSE(self); src/BTrees/BucketTemplate.c:1254:8: note: when considering range: -0x80000000 <= value <= -1 at: if (r < 0) src/BTrees/BucketTemplate.c:1254:8: note: taking True path at: if (r < 0) src/BTrees/BucketTemplate.c:1255:2: note: reaching: return NULL; src/BTrees/BucketTemplate.c:1258:1: note: returning src/BTrees/BucketTemplate.c:1258:1: note: found 6 similar trace(s) to this src/BTrees/BucketTemplate.c:1247:1: note: graphical error report for function 'bucket_setstate' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_setstate-refcount-errors.html' src/BTrees/BucketTemplate.c: In function 'bucket_getstate': src/BTrees/BucketTemplate.c:1121:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c: In function 'Bucket_length': src/BTrees/BucketTemplate.c:1687:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:393:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeItemsTemplate.c: In function 'BTreeItems_slice': src/BTrees/BTreeItemsTemplate.c:315:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeItemsTemplate.c:386:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeItemsTemplate.c:335:6: note: when considering range: 0 <= value <= 0x7fffffffffffffff at: if (ilow < 0) src/BTrees/BTreeItemsTemplate.c:335:6: note: taking False path at: if (ilow < 0) src/BTrees/BTreeItemsTemplate.c:338:10: note: reaching: if (length < 0) src/BTrees/BTreeItemsTemplate.c:338:10: note: taking True path at: if (length < 0) src/BTrees/BTreeItemsTemplate.c:339:18: note: reaching: length = BTreeItems_length(self); src/BTrees/BTreeItemsTemplate.c:340:10: note: when taking True path at: if (ilow > length) src/BTrees/BTreeItemsTemplate.c:341:16: note: reaching: ilow = length; src/BTrees/BTreeItemsTemplate.c:344:6: note: when taking False path at: if (ihigh < ilow) src/BTrees/BTreeItemsTemplate.c:347:10: note: reaching: if (length < 0) src/BTrees/BTreeItemsTemplate.c:347:10: note: when considering range: -0x8000000000000000 <= value <= -1 at: if (length < 0) src/BTrees/BTreeItemsTemplate.c:347:10: note: taking True path at: if (length < 0) src/BTrees/BTreeItemsTemplate.c:348:18: note: reaching: length = BTreeItems_length(self); src/BTrees/BTreeItemsTemplate.c:349:10: note: when taking False path at: if (ihigh > length) src/BTrees/BTreeItemsTemplate.c:365:7: note: reaching: if (ilow == ihigh) { src/BTrees/BTreeItemsTemplate.c:365:7: note: when taking False path at: if (ilow == ihigh) { src/BTrees/BTreeItemsTemplate.c:373:8: note: reaching: --ihigh; /* exclusive -> inclusive */ src/BTrees/BTreeItemsTemplate.c:375:11: note: when considering range: 0 <= value <= 0x7fffffff at: if (BTreeItems_seek(self, ilow) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:375:11: note: taking False path at: if (BTreeItems_seek(self, ilow) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:376:18: note: reaching: lowbucket = self->currentbucket; src/BTrees/BTreeItemsTemplate.c:379:11: note: when considering range: -0x80000000 <= value <= -1 at: if (BTreeItems_seek(self, ihigh) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:379:11: note: taking True path at: if (BTreeItems_seek(self, ihigh) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:379:46: note: reaching: if (BTreeItems_seek(self, ihigh) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:386:1: note: returning src/BTrees/BTreeItemsTemplate.c:386:1: note: found 9 similar trace(s) to this src/BTrees/BTreeItemsTemplate.c:315:1: note: graphical error report for function 'BTreeItems_slice' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTreeItems_slice-refcount-errors.html' src/BTrees/BTreeItemsTemplate.c: In function 'BTreeItems_item': src/BTrees/BTreeItemsTemplate.c:289:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeItemsTemplate.c:299:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/BTreeItemsTemplate.c:292:8: note: when considering range: -0x80000000 <= value <= -1 at: if (BTreeItems_seek(self, i) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:292:8: note: taking True path at: if (BTreeItems_seek(self, i) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:292:39: note: reaching: if (BTreeItems_seek(self, i) < 0) return NULL; src/BTrees/BTreeItemsTemplate.c:299:1: note: returning src/BTrees/BTreeItemsTemplate.c:289:1: note: graphical error report for function 'BTreeItems_item' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.BTreeItems_item-refcount-errors.html' src/BTrees/BTreeItemsTemplate.c: In function 'BTreeItems_length_or_nonzero': src/BTrees/BTreeItemsTemplate.c:74:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:398:0, from src/BTrees/_OOBTree.c:32: src/BTrees/SetOpTemplate.c: In function 'set_operation': src/BTrees/SetOpTemplate.c:222:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/SetOpTemplate.c:354:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/BTrees/SetOpTemplate.c:227:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i1, s1, usevalues1) < 0) goto err; src/BTrees/SetOpTemplate.c:227:6: note: taking False path at: if (initSetIteration(&i1, s1, usevalues1) < 0) goto err; src/BTrees/SetOpTemplate.c:228:23: note: reaching: if (initSetIteration(&i2, s2, usevalues2) < 0) goto err; src/BTrees/SetOpTemplate.c:228:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (initSetIteration(&i2, s2, usevalues2) < 0) goto err; src/BTrees/SetOpTemplate.c:228:6: note: taking False path at: if (initSetIteration(&i2, s2, usevalues2) < 0) goto err; src/BTrees/SetOpTemplate.c:229:13: note: reaching: merge = i1.usesValue | i2.usesValue; src/BTrees/SetOpTemplate.c:231:6: note: when considering range: -0x80000000 <= value <= -1 at: if (merge) src/BTrees/SetOpTemplate.c:231:6: note: taking True path at: if (merge) src/BTrees/SetOpTemplate.c:234:10: note: reaching: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:10: note: when considering range: -0x80000000 <= value <= -1 at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:10: note: taking True path at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:20: note: reaching: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:15: note: when considering range: -0x80000000 <= value <= -1 at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:15: note: taking True path at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:36: note: reaching: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:31: note: when considering value == (int)0 from src/BTrees/SetOpTemplate.c:234 at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:234:31: note: taking False path at: if (c12 && i1.usesValue && i2.usesValue) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:236:15: note: reaching: if (! i1.usesValue&& i2.usesValue) src/BTrees/SetOpTemplate.c:236:10: note: when considering range: -0x80000000 <= value <= -1 at: if (! i1.usesValue&& i2.usesValue) src/BTrees/SetOpTemplate.c:236:10: note: taking False path at: if (! i1.usesValue&& i2.usesValue) src/BTrees/SetOpTemplate.c:256:13: note: reaching: if (i1.usesValue) src/BTrees/SetOpTemplate.c:256:10: note: when considering range: -0x80000000 <= value <= -1 at: if (i1.usesValue) src/BTrees/SetOpTemplate.c:256:10: note: taking True path at: if (i1.usesValue) src/BTrees/SetOpTemplate.c:258:19: note: reaching: if (! i2.usesValue && c2) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:258:15: note: when considering range: -0x80000000 <= value <= -1 at: if (! i2.usesValue && c2) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:258:30: note: when considering range: -0x80000000 <= value <= -1 at: if (! i2.usesValue && c2) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:258:14: note: taking False path at: if (! i2.usesValue && c2) goto invalid_set_operation; src/BTrees/SetOpTemplate.c:266:7: note: reaching: UNLESS(r=BUCKET(PyObject_CallObject(OBJECT(&BucketType), NULL))) src/BTrees/SetOpTemplate.c:266:7: note: when PyObject_CallObject() succeeds at: UNLESS(r=BUCKET(PyObject_CallObject(OBJECT(&BucketType), NULL))) src/BTrees/SetOpTemplate.c:266:7: note: taking False path at: UNLESS(r=BUCKET(PyObject_CallObject(OBJECT(&BucketType), NULL))) src/BTrees/SetOpTemplate.c:275:9: note: reaching: if (i1.next(&i1) < 0) goto err; src/BTrees/SetOpTemplate.c:275:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/SetOpTemplate.c:275 at: if (i1.next(&i1) < 0) goto err; src/BTrees/SetOpTemplate.c:275:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i1.next(&i1) < 0) goto err; src/BTrees/SetOpTemplate.c:275:6: note: taking False path at: if (i1.next(&i1) < 0) goto err; src/BTrees/SetOpTemplate.c:276:9: note: reaching: if (i2.next(&i2) < 0) goto err; src/BTrees/SetOpTemplate.c:276:14: note: calling unknown int (*) (struct SetIteration_s *) from src/BTrees/SetOpTemplate.c:276 at: if (i2.next(&i2) < 0) goto err; src/BTrees/SetOpTemplate.c:276:6: note: when considering range: 0 <= value <= 0x7fffffff at: if (i2.next(&i2) < 0) goto err; src/BTrees/SetOpTemplate.c:276:6: note: taking False path at: if (i2.next(&i2) < 0) goto err; src/BTrees/SetOpTemplate.c:278:12: note: reaching: while (i1.position >= 0 && i2.position >= 0) src/BTrees/SetOpTemplate.c:278:9: note: when considering range: -0x80000000 <= value <= -1 at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/SetOpTemplate.c:278:9: note: taking False path at: while (i1.position >= 0 && i2.position >= 0) src/BTrees/SetOpTemplate.c:335:5: note: reaching: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:335:5: note: when considering range: -0x80000000 <= value <= -1 at: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:335:5: note: taking True path at: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:335:25: note: reaching: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:335:9: note: when considering range: -0x80000000 <= value <= -1 at: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:335:9: note: taking True path at: if(c1 && copyRemaining(r, &i1, merge, w1) < 0) goto err; src/BTrees/SetOpTemplate.c:352:3: note: taking False path at: Py_XDECREF(r); src/BTrees/SetOpTemplate.c:352:3: note: reaching: Py_XDECREF(r); src/BTrees/SetOpTemplate.c:352:3: note: when taking True path at: Py_XDECREF(r); src/BTrees/SetOpTemplate.c:353:3: note: reaching: return NULL; src/BTrees/SetOpTemplate.c:354:1: note: returning src/BTrees/SetOpTemplate.c:354:1: note: found 15 similar trace(s) to this src/BTrees/SetOpTemplate.c:222:1: note: graphical error report for function 'set_operation' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.set_operation-refcount-errors.html' src/BTrees/SetOpTemplate.c: In function 'copyRemaining': src/BTrees/SetOpTemplate.c:154:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:396:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeTemplate.c: In function 'BTree_traverse': src/BTrees/BTreeTemplate.c:2036:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed In file included from src/BTrees/BTreeModuleTemplate.c:395:0, from src/BTrees/_OOBTree.c:32: src/BTrees/SetTemplate.c: In function 'set_repr': src/BTrees/SetTemplate.c:248:1: warning: ob_refcnt of '*t' is 1 too high [enabled by default] src/BTrees/SetTemplate.c:248:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/SetTemplate.c:248:1: note: but final ob_refcnt is N + 1 src/BTrees/SetTemplate.c:239:3: note: PyTupleObject allocated at: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:237:6: note: when treating unknown struct PyObject * from src/BTrees/SetTemplate.c:233 as non-NULL at: if (!format) src/BTrees/SetTemplate.c:237:6: note: taking False path at: if (!format) src/BTrees/SetTemplate.c:239:3: note: reaching: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:239:3: note: when PyTuple_New() succeeds at: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:239:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/SetTemplate.c:239:3: note: taking False path at: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:240:3: note: reaching: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:240:3: note: when bucket_keys() succeeds at: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:240:3: note: taking False path at: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:241:3: note: reaching: PyTuple_SET_ITEM(t, 0, r); src/BTrees/SetTemplate.c:243:3: note: when PyString_Format() succeeds at: ASSIGN(r, PyString_Format(format, r)); src/BTrees/SetTemplate.c:248:1: note: returning src/BTrees/SetTemplate.c:248:1: note: found 5 similar trace(s) to this src/BTrees/SetTemplate.c:248:1: warning: ob_refcnt of new ref from (unknown) PyString_Format is 1 too high [enabled by default] src/BTrees/SetTemplate.c:248:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/BTrees/SetTemplate.c:248:1: note: but final ob_refcnt is N + 1 src/BTrees/SetTemplate.c:243:3: note: new ref from (unknown) PyString_Format allocated at: ASSIGN(r, PyString_Format(format, r)); src/BTrees/SetTemplate.c:237:6: note: when treating unknown struct PyObject * from src/BTrees/SetTemplate.c:233 as non-NULL at: if (!format) src/BTrees/SetTemplate.c:237:6: note: taking False path at: if (!format) src/BTrees/SetTemplate.c:239:3: note: reaching: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:239:3: note: when PyTuple_New() succeeds at: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:239:3: note: taking False path at: UNLESS (t = PyTuple_New(1)) return NULL; src/BTrees/SetTemplate.c:240:3: note: reaching: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:240:3: note: when bucket_keys() succeeds at: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:240:3: note: taking False path at: UNLESS (r = bucket_keys(self, NULL, NULL)) goto err; src/BTrees/SetTemplate.c:241:3: note: reaching: PyTuple_SET_ITEM(t, 0, r); src/BTrees/SetTemplate.c:243:3: note: when PyString_Format() succeeds at: ASSIGN(r, PyString_Format(format, r)); src/BTrees/SetTemplate.c:243:3: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/SetTemplate.c:248:1: note: returning src/BTrees/SetTemplate.c:248:1: note: found 2 similar trace(s) to this src/BTrees/SetTemplate.c:233:1: note: graphical error report for function 'set_repr' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.set_repr-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:394:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BucketTemplate.c: In function 'bucket_traverse': src/BTrees/BucketTemplate.c:1625:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BucketTemplate.c: In function 'bucket_repr': src/BTrees/BucketTemplate.c:1753:1: warning: ob_refcnt of return value is 1 too low [enabled by default] src/BTrees/BucketTemplate.c:1753:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/BTrees/BucketTemplate.c:1753:1: note: due to object being referenced by: return value src/BTrees/BucketTemplate.c:1753:1: note: but final ob_refcnt is N + 0 src/BTrees/BucketTemplate.c:1724:7: note: PyStringObject allocated at: r = PyObject_Repr(i); src/BTrees/BucketTemplate.c:1721:7: note: when bucket_items() succeeds at: i = bucket_items(self, NULL, NULL); src/BTrees/BucketTemplate.c:1722:8: note: taking False path at: if (!i) src/BTrees/BucketTemplate.c:1724:7: note: reaching: r = PyObject_Repr(i); src/BTrees/BucketTemplate.c:1724:7: note: when PyObject_Repr() succeeds at: r = PyObject_Repr(i); src/BTrees/BucketTemplate.c:1724:7: note: ob_refcnt is now refs: 1 + N where N >= 0 src/BTrees/BucketTemplate.c:1725:5: note: when taking True path at: Py_DECREF(i); src/BTrees/BucketTemplate.c:1726:8: note: reaching: if (!r) { src/BTrees/BucketTemplate.c:1726:8: note: taking False path at: if (!r) { src/BTrees/BucketTemplate.c:1731:10: note: reaching: PyString_AS_STRING(r)); src/BTrees/BucketTemplate.c:1732:8: note: when considering range: 9999 <= value <= 0x7ffffffe at: if (rv > 0 && rv < sizeof(repr)) { src/BTrees/BucketTemplate.c:1732:8: note: taking False path at: if (rv > 0 && rv < sizeof(repr)) { src/BTrees/BucketTemplate.c:1742:20: note: reaching: size = strlen(self->ob_type->tp_name) + PyString_GET_SIZE(r) + 3; src/BTrees/BucketTemplate.c:1743:4: note: when PyString_FromStringAndSize() fails at: s = PyString_FromStringAndSize(NULL, size); src/BTrees/BucketTemplate.c:1744:5: note: taking True path at: if (!s) { src/BTrees/BucketTemplate.c:1745:6: note: reaching: Py_DECREF(r); src/BTrees/BucketTemplate.c:1745:6: note: ob_refcnt is now refs: 0 + N where N >= 0 src/BTrees/BucketTemplate.c:1745:6: note: when taking True path at: Py_DECREF(r); src/BTrees/BucketTemplate.c:1746:6: note: reaching: return r; src/BTrees/BucketTemplate.c:1753:1: note: returning src/BTrees/BucketTemplate.c:1753:1: note: found 1 similar trace(s) to this src/BTrees/BucketTemplate.c:1753:1: warning: returning pointer to deallocated memory [enabled by default] src/BTrees/BucketTemplate.c:1721:7: note: when bucket_items() succeeds at: i = bucket_items(self, NULL, NULL); src/BTrees/BucketTemplate.c:1722:8: note: taking False path at: if (!i) src/BTrees/BucketTemplate.c:1724:7: note: reaching: r = PyObject_Repr(i); src/BTrees/BucketTemplate.c:1724:7: note: when PyObject_Repr() succeeds at: r = PyObject_Repr(i); src/BTrees/BucketTemplate.c:1725:5: note: when taking True path at: Py_DECREF(i); src/BTrees/BucketTemplate.c:1726:8: note: reaching: if (!r) { src/BTrees/BucketTemplate.c:1726:8: note: taking False path at: if (!r) { src/BTrees/BucketTemplate.c:1731:10: note: reaching: PyString_AS_STRING(r)); src/BTrees/BucketTemplate.c:1732:8: note: when considering range: 9999 <= value <= 0x7ffffffe at: if (rv > 0 && rv < sizeof(repr)) { src/BTrees/BucketTemplate.c:1732:8: note: taking False path at: if (rv > 0 && rv < sizeof(repr)) { src/BTrees/BucketTemplate.c:1742:20: note: reaching: size = strlen(self->ob_type->tp_name) + PyString_GET_SIZE(r) + 3; src/BTrees/BucketTemplate.c:1743:4: note: when PyString_FromStringAndSize() fails at: s = PyString_FromStringAndSize(NULL, size); src/BTrees/BucketTemplate.c:1744:5: note: taking True path at: if (!s) { src/BTrees/BucketTemplate.c:1745:6: note: reaching: Py_DECREF(r); src/BTrees/BucketTemplate.c:1745:6: note: when taking False path at: Py_DECREF(r); src/BTrees/BucketTemplate.c:1745:6: note: reaching: Py_DECREF(r); src/BTrees/BucketTemplate.c:1745:6: note: calling tp_dealloc on PyStringObject allocated at src/BTrees/BucketTemplate.c:1724 at: Py_DECREF(r); src/BTrees/BucketTemplate.c:1746:6: note: reaching: return r; src/BTrees/BucketTemplate.c:1753:1: note: returning src/BTrees/BucketTemplate.c:1745:6: note: memory deallocated here src/BTrees/BucketTemplate.c:1753:1: note: found 1 similar trace(s) to this src/BTrees/BucketTemplate.c:1716:1: note: graphical error report for function 'bucket_repr' written out to 'build/temp.linux-x86_64-2.7/src/BTrees/_OOBTree.c.bucket_repr-refcount-errors.html' In file included from src/BTrees/BTreeModuleTemplate.c:393:0, from src/BTrees/_OOBTree.c:32: src/BTrees/BTreeItemsTemplate.c: In function 'BTreeIter_next': src/BTrees/BTreeItemsTemplate.c:608:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/BTrees/BTreeItemsTemplate.c: In function 'BTreeItems_dealloc': src/BTrees/BTreeItemsTemplate.c:65:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed error: command 'gcc' failed with exit status 1 error: Bad exit status from /var/tmp/rpm-tmp.L3uknZ (%build) Bad exit status from /var/tmp/rpm-tmp.L3uknZ (%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-ZODB3.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-ZODB3.spec'] LEAVE do --> EXCEPTION RAISED