File: source/IoPython.c
Function: IoPython_import
Error: ob_refcnt of '*pModule' is 1 too high
232  */
233 IoObject *IoPython_import(IoPython *self, IoObject *locals, IoMessage *m)
234 {
235 	IoSeq *name = IoMessage_locals_seqArgAt_(m, locals, 0);
236 	char *nameString = IoSeq_asCString(name);
237 
238 	PyObject *pName, *pModule;
239 	pName = PyString_FromString(nameString);
when treating unknown char * from source/IoPython.c:236 as non-NULL
when PyString_FromString() succeeds
240 	/* Error checking of pName left out */
241 
242 	pModule = PyImport_Import(pName);
when PyImport_Import() succeeds
new ref from (unknown) PyImport_Import allocated at: 	pModule = PyImport_Import(pName);
ob_refcnt is now refs: 1 + N where N >= 0
243 
244 	if(!pModule) {
taking False path
245 		fprintf(stderr, "Could not find module %s\n", nameString);
246 		return IONIL(self);
247 	}
248 
249 	// Set slots (for easier introspection and use from io)
250 	/*
251 	PyObject *dict = PyModule_GetDict(pModule);
252 	PyObject *keys = PyDict_Keys(dict);
253 	int i;
254 	for(i = 0;i<PyList_Size(keys);i++) {
255 		PyObject *key = PyList_GetItem(keys, i);
256 		PyObject *value = PyDict_GetItem(dict, key);
257 		// TODO: Not allowed method vall IoSeq_newSymbolWithCString_
258 		if(!PyCallable_Check(value)) {// don't want methods blocking the forward
259 			IoObject_setSlot_to_(self, IOSYMBOL(PyString_AsString(key)), convertPy(self, value));
260 		}
261 	}
262 	*/
263 	//
264 
265 	Py_DECREF(pName);
when taking True path
266 
267 	// Now, we've got the module. Wrap it and return it.
268 	return wrap(self, pModule);
269 }
ob_refcnt of '*pModule' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 1 similar trace(s) to this

File: source/IoPython.c
Function: IoPython_import
Error: ob_refcnt of '*pName' is 1 too high
232  */
233 IoObject *IoPython_import(IoPython *self, IoObject *locals, IoMessage *m)
234 {
235 	IoSeq *name = IoMessage_locals_seqArgAt_(m, locals, 0);
236 	char *nameString = IoSeq_asCString(name);
237 
238 	PyObject *pName, *pModule;
239 	pName = PyString_FromString(nameString);
when treating unknown char * from source/IoPython.c:236 as non-NULL
when PyString_FromString() succeeds
PyStringObject allocated at: 	pName = PyString_FromString(nameString);
ob_refcnt is now refs: 1 + N where N >= 0
240 	/* Error checking of pName left out */
241 
242 	pModule = PyImport_Import(pName);
when PyImport_Import() fails
243 
244 	if(!pModule) {
taking True path
245 		fprintf(stderr, "Could not find module %s\n", nameString);
246 		return IONIL(self);
when treating unknown struct IoPython * from source/IoPython.c:233 as non-NULL
when treating unknown struct IoObjectData * from source/IoPython.c:246 as non-NULL
when treating unknown struct IoTag * from source/IoPython.c:246 as non-NULL
when treating unknown void * from source/IoPython.c:246 as non-NULL
247 	}
248 
249 	// Set slots (for easier introspection and use from io)
250 	/*
251 	PyObject *dict = PyModule_GetDict(pModule);
252 	PyObject *keys = PyDict_Keys(dict);
253 	int i;
254 	for(i = 0;i<PyList_Size(keys);i++) {
255 		PyObject *key = PyList_GetItem(keys, i);
256 		PyObject *value = PyDict_GetItem(dict, key);
257 		// TODO: Not allowed method vall IoSeq_newSymbolWithCString_
258 		if(!PyCallable_Check(value)) {// don't want methods blocking the forward
259 			IoObject_setSlot_to_(self, IOSYMBOL(PyString_AsString(key)), convertPy(self, value));
260 		}
261 	}
262 	*/
263 	//
264 
265 	Py_DECREF(pName);
266 
267 	// Now, we've got the module. Wrap it and return it.
268 	return wrap(self, pModule);
269 }
ob_refcnt of '*pName' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1

File: source/IoPython.c
Function: IoPython_import
Error: dereferencing NULL (pName->ob_refcnt) at source/IoPython.c:265
232  */
233 IoObject *IoPython_import(IoPython *self, IoObject *locals, IoMessage *m)
234 {
235 	IoSeq *name = IoMessage_locals_seqArgAt_(m, locals, 0);
236 	char *nameString = IoSeq_asCString(name);
237 
238 	PyObject *pName, *pModule;
239 	pName = PyString_FromString(nameString);
when treating unknown char * from source/IoPython.c:236 as non-NULL
when PyString_FromString() fails
240 	/* Error checking of pName left out */
241 
242 	pModule = PyImport_Import(pName);
when PyImport_Import() succeeds
243 
244 	if(!pModule) {
taking False path
245 		fprintf(stderr, "Could not find module %s\n", nameString);
246 		return IONIL(self);
247 	}
248 
249 	// Set slots (for easier introspection and use from io)
250 	/*
251 	PyObject *dict = PyModule_GetDict(pModule);
252 	PyObject *keys = PyDict_Keys(dict);
253 	int i;
254 	for(i = 0;i<PyList_Size(keys);i++) {
255 		PyObject *key = PyList_GetItem(keys, i);
256 		PyObject *value = PyDict_GetItem(dict, key);
257 		// TODO: Not allowed method vall IoSeq_newSymbolWithCString_
258 		if(!PyCallable_Check(value)) {// don't want methods blocking the forward
259 			IoObject_setSlot_to_(self, IOSYMBOL(PyString_AsString(key)), convertPy(self, value));
260 		}
261 	}
262 	*/
263 	//
264 
265 	Py_DECREF(pName);
dereferencing NULL (pName->ob_refcnt) at source/IoPython.c:265
266 
267 	// Now, we've got the module. Wrap it and return it.
268 	return wrap(self, pModule);
269 }