Skip to content

Instantly share code, notes, and snippets.

@vsajip
Created September 7, 2011 22:02
Show Gist options
  • Save vsajip/1201924 to your computer and use it in GitHub Desktop.
Save vsajip/1201924 to your computer and use it in GitHub Desktop.
Results of gcc-python-plugin tests.
python testcpybuilder.py -v
python run-test-suite.py
tests/cpychecker/absinterp/arrays3: FAIL
returncode: 0
compiling: gcc -c -o tests/cpychecker/absinterp/arrays3/output.o -fplugin=/home/vinay/projects/gcc-python-plugin/python.so -fplugin-arg-python-script=tests/cpychecker/absinterp/arrays3/script.py -I/usr/include/python2.7 tests/cpychecker/absinterp/arrays3/input.c
Stdout:
Trace 0:
Transitions:
"treating unknown struct Foo * from tests/cpychecker/absinterp/arrays3/input.c:37 as (struct Foo *)&Region('heap-region-0')"
'returning'
Return value:
repr(): UnknownValue(gcctype=<gcc.PointerType object at 0xad2d4e0>, loc=gcc.Location(file='tests/cpychecker/absinterp/arrays3/input.c', line=37))
str(): unknown const char * from tests/cpychecker/absinterp/arrays3/input.c:37
Exception:
(struct PyObject *)0 from tests/cpychecker/absinterp/arrays3/input.c:36
Trace 1:
Transitions:
'treating unknown struct Foo * from tests/cpychecker/absinterp/arrays3/input.c:37 as (struct Foo *)0'
error: NullPtrDereference()
error: possibly dereferencing NULL (D.11841->fieldA) at tests/cpychecker/absinterp/arrays3/input.c:37
Exception:
(struct PyObject *)0 from tests/cpychecker/absinterp/arrays3/input.c:36
Stderr:
--- Expected stdout
+++ Actual stdout
@@ -3,7 +3,7 @@
"treating unknown struct Foo * from tests/cpychecker/absinterp/arrays3/input.c:37 as (struct Foo *)&Region('heap-region-0')"
'returning'
Return value:
- repr(): UnknownValue(gcctype=<gcc.PointerType object at 0xdeadbeef>, loc=gcc.Location(file='tests/cpychecker/absinterp/arrays3/input.c', line=37))
+ repr(): UnknownValue(gcctype=<gcc.PointerType object at 0xad2d4e0>, loc=gcc.Location(file='tests/cpychecker/absinterp/arrays3/input.c', line=37))
str(): unknown const char * from tests/cpychecker/absinterp/arrays3/input.c:37
Exception:
(struct PyObject *)0 from tests/cpychecker/absinterp/arrays3/input.c:36
@@ -12,6 +12,6 @@
Transitions:
'treating unknown struct Foo * from tests/cpychecker/absinterp/arrays3/input.c:37 as (struct Foo *)0'
error: NullPtrDereference()
- error: possibly dereferencing NULL (D.12021->fieldA) at tests/cpychecker/absinterp/arrays3/input.c:37
+ error: possibly dereferencing NULL (D.11841->fieldA) at tests/cpychecker/absinterp/arrays3/input.c:37
Exception:
(struct PyObject *)0 from tests/cpychecker/absinterp/arrays3/input.c:36
tests/cpychecker/refcounts/module_handling: FAIL
returncode: 1
compiling: gcc -c -o tests/cpychecker/refcounts/module_handling/output.o -fplugin=/home/vinay/projects/gcc-python-plugin/python.so -fplugin-arg-python-script=tests/cpychecker/refcounts/module_handling/script.py -I/usr/include/python2.7 tests/cpychecker/refcounts/module_handling/input.c
Stdout:
Trace 0:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
(struct PyObject *)0 from tests/cpychecker/refcounts/module_handling/input.c:44
Trace 1:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 2:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 3:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 4:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 5:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 6:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 7:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 8:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 9:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 10:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 11:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 12:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 13:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() succeeds'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 14:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() succeeds'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 15:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() succeeds'
'taking False path'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'PyModule_AddIntConstant() fails'
'PyModule_AddStringConstant() fails'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 1
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 16:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() fails'
'taking True path'
'taking True path'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: refs: 0 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58), region=RegionForGlobal(gcc.VarDecl('PyDict_Type')))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 17:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() succeeds'
'taking False path'
'PyModule_AddObject() fails'
'taking True path'
'taking False path'
'calling tp_dealloc on PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58:
repr(): RegionOnHeap('PyDictObject', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=58))
str(): PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58
r->ob_refcnt: None
r->ob_type: None
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 18:
Transitions:
'Py_InitModule4() succeeds'
'taking False path'
'PyDict_New() fails'
'taking True path'
'returning'
new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50:
repr(): RegionOnHeap('new ref from (unknown) Py_InitModule4', gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50))
str(): new ref from (unknown) Py_InitModule4 allocated at tests/cpychecker/refcounts/module_handling/input.c:50
r->ob_refcnt: refs: 1 + N where N >= 0
r->ob_type: PointerToRegion(gcctype='struct PyTypeObject *', loc=gcc.Location(file='tests/cpychecker/refcounts/module_handling/input.c', line=50), region=Region('PyTypeObject for new ref from (unknown) Py_InitModule4'))
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Trace 19:
Transitions:
'Py_InitModule4() fails'
'taking True path'
'returning'
Exception:
RegionForGlobal(gcc.VarDecl('PyExc_MemoryError'))
Stderr:
tests/cpychecker/refcounts/module_handling/input.c: In function 'PyInit_example':
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() succeeds at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() succeeds at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() succeeds at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking False path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: reaching: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:69:28: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntConstant(m, "int_constant", 42);
tests/cpychecker/refcounts/module_handling/input.c:70:31: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringConstant(m, "string_constant", "Marvin");
tests/cpychecker/refcounts/module_handling/input.c:71:5: note: when PyModule_AddIntConstant() fails at: PyModule_AddIntMacro(m, MY_INT_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:72:5: note: when PyModule_AddStringConstant() fails at: PyModule_AddStringMacro(m, MY_STRING_MACRO);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() fails at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking True path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: reaching: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: when taking True path at: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() succeeds at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking False path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: reaching: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:33: note: when PyModule_AddObject() fails at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:64:8: note: when taking True path at: if (-1 == PyModule_AddObject(m, "obj", obj)) {
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: reaching: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: when taking False path at: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: reaching: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:65:9: note: when calling tp_dealloc on PyDictObject allocated at tests/cpychecker/refcounts/module_handling/input.c:58 at: Py_DECREF(obj);
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:80:1: error: ob_refcnt of new ref from (unknown) Py_InitModule4 is 1 too high
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N)
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: but final ob_refcnt is N + 1
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: new ref from (unknown) Py_InitModule4 allocated at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: when Py_InitModule4() succeeds at: m = Py_InitModule("example", ExampleMethods);
tests/cpychecker/refcounts/module_handling/input.c:50:7: note: ob_refcnt is now refs: 1 + N where N >= 0
tests/cpychecker/refcounts/module_handling/input.c:53:8: note: when taking False path at: if (!m) {
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: reaching: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:58:9: note: when PyDict_New() fails at: obj = PyDict_New();
tests/cpychecker/refcounts/module_handling/input.c:59:8: note: when taking True path at: if (!obj) {
tests/cpychecker/refcounts/module_handling/input.c:80:1: note: when returning at: }
tests/cpychecker/refcounts/module_handling/input.c:44:1: note: graphical error report for function 'PyInit_example' written out to 'tests/cpychecker/refcounts/module_handling/input.c.PyInit_example-refcount-errors.html'
tests/plugin/constants: FAIL
returncode: 0
compiling: gcc -c -o tests/plugin/constants/output.o -fplugin=/home/vinay/projects/gcc-python-plugin/python.so -fplugin-arg-python-script=tests/plugin/constants/script.py tests/plugin/constants/input.c
Stdout:
i000: 0x0
i001: 0x1
i002: -0x1
i003: 0xffffffffL
i004: 0xffffffffL
i005: 0xffffffffffffffffL
i006: -0x100000000L
Stderr:
--- Expected stdout
+++ Actual stdout
@@ -1,7 +1,7 @@
i000: 0x0
i001: 0x1
i002: -0x1
-i003: 0xffffffff
-i004: 0xffffffff
+i003: 0xffffffffL
+i004: 0xffffffffL
i005: 0xffffffffffffffffL
-i006: -0x100000000
+i006: -0x100000000L
tests/plugin/switch: FAIL
returncode: 0
compiling: gcc -c -o tests/plugin/switch/output.o -fplugin=/home/vinay/projects/gcc-python-plugin/python.so -fplugin-arg-python-script=tests/plugin/switch/script.py tests/plugin/switch/input.c
Stdout:
fn: gcc.Function('test_switch')
fn.decl.name: 'test_switch'
gimple[0]:
str(stmt): 'switch (i) <default: <L4>, case 1 ... 2: <L0>, case 4: <L0>, case 8: <L0>>'
repr(stmt): 'gcc.GimpleSwitch()'
stmt.indexvar: gcc.ParmDecl('i')
stmt.labels: [<gcc.CaseLabelExpr object at 0x4092a1e0>, <gcc.CaseLabelExpr object at 0x4092a1f0>, <gcc.CaseLabelExpr object at 0x4092a200>, <gcc.CaseLabelExpr object at 0x4092a210>]
label[0].low: None
label[0].high: None
label[0].target: gcc.LabelDecl(1233)
label[1].low: gcc.IntegerCst(1)
label[1].high: gcc.IntegerCst(2)
label[1].target: gcc.LabelDecl(1229)
label[2].low: gcc.IntegerCst(4)
label[2].high: None
label[2].target: gcc.LabelDecl(1229)
label[3].low: gcc.IntegerCst(8)
label[3].high: None
label[3].target: gcc.LabelDecl(1229)
gimple[0]:
str(stmt): '<L0>:'
repr(stmt): 'gcc.GimpleLabel()'
gimple[1]:
str(stmt): 'D.1984 = 1;'
repr(stmt): 'gcc.GimpleAssign()'
gimple[0]:
str(stmt): '<L4>:'
repr(stmt): 'gcc.GimpleLabel()'
gimple[1]:
str(stmt): 'D.1984 = 0;'
repr(stmt): 'gcc.GimpleAssign()'
gimple[0]:
str(stmt): 'return D.1984;'
repr(stmt): 'gcc.GimpleReturn()'
Stderr:
--- Expected stdout
+++ Actual stdout
@@ -4,31 +4,31 @@
str(stmt): 'switch (i) <default: <L4>, case 1 ... 2: <L0>, case 4: <L0>, case 8: <L0>>'
repr(stmt): 'gcc.GimpleSwitch()'
stmt.indexvar: gcc.ParmDecl('i')
- stmt.labels: [<gcc.CaseLabelExpr object at 0xdeadbeef>, <gcc.CaseLabelExpr object at 0xdeadbeef>, <gcc.CaseLabelExpr object at 0xdeadbeef>, <gcc.CaseLabelExpr object at 0xdeadbeef>]
+ stmt.labels: [<gcc.CaseLabelExpr object at 0x4092a1e0>, <gcc.CaseLabelExpr object at 0x4092a1f0>, <gcc.CaseLabelExpr object at 0x4092a200>, <gcc.CaseLabelExpr object at 0x4092a210>]
label[0].low: None
label[0].high: None
- label[0].target: gcc.LabelDecl(1591)
+ label[0].target: gcc.LabelDecl(1233)
label[1].low: gcc.IntegerCst(1)
label[1].high: gcc.IntegerCst(2)
- label[1].target: gcc.LabelDecl(1587)
+ label[1].target: gcc.LabelDecl(1229)
label[2].low: gcc.IntegerCst(4)
label[2].high: None
- label[2].target: gcc.LabelDecl(1587)
+ label[2].target: gcc.LabelDecl(1229)
label[3].low: gcc.IntegerCst(8)
label[3].high: None
- label[3].target: gcc.LabelDecl(1587)
+ label[3].target: gcc.LabelDecl(1229)
gimple[0]:
str(stmt): '<L0>:'
repr(stmt): 'gcc.GimpleLabel()'
gimple[1]:
- str(stmt): 'D.2688 = 1;'
+ str(stmt): 'D.1984 = 1;'
repr(stmt): 'gcc.GimpleAssign()'
gimple[0]:
str(stmt): '<L4>:'
repr(stmt): 'gcc.GimpleLabel()'
gimple[1]:
- str(stmt): 'D.2688 = 0;'
+ str(stmt): 'D.1984 = 0;'
repr(stmt): 'gcc.GimpleAssign()'
gimple[0]:
- str(stmt): 'return D.2688;'
+ str(stmt): 'return D.1984;'
repr(stmt): 'gcc.GimpleReturn()'
105 successes; 4 failures
Failed tests:
tests/cpychecker/absinterp/arrays3
tests/cpychecker/refcounts/module_handling
tests/plugin/constants
tests/plugin/switch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment