New submission from Jasmit <jsi...@roguewave.com>: I am testing a wrapper on Windows 64 and it seems to result in an null pointer access error ONLY when I insert a print statement in the C code. I have tested the wrapper with Python 2.6 and Python 2.7a4. In addition, I have compiled Python 2.6.5 source code and ONLY the release version results in an error. I think the issue is with memcpy(obj->b_ptr, *pArgs, dict->size) (callbacks.c). pArgs seem to be corrupted. However, I am only looking at the code for the first time and I might be off base.
The following is Python and C code to reproduce the bug. To resolve, please comment printf statement in jfunc (C function). Python Code: from ctypes import * def fcn(m,n,x,f): print "IN Python function fcn ................" print f[0] m=3 n=1 pydlltest=cdll.pydlltest pydlltest.jfunc.restype = POINTER(c_double) evalstring = 'pydlltest.jfunc(' TMP_FCN=CFUNCTYPE(None,c_int,c_int,POINTER(c_double),POINTER(c_double)) tmp_fcn=TMP_FCN(fcn) state=[TMP_FCN,tmp_fcn] evalstring += 'tmp_fcn' evalstring +=',' evalstring +='c_int(m)' evalstring +=',' evalstring +='c_int(n)' evalstring += ')' print "evalstring=",evalstring result = eval(evalstring) C code: #include <stdio.h> __declspec(dllexport) double *jfunc(void (*fcn) (int,int,double [],double[]),int m,int n); double *jfunc(void (*fcn) (int,int,double [],double []),int m,int n) { double *fvec=NULL; double *xguess = NULL; int i = 0; int j = 0; /* comment the line below to fix the resulting null pointer access error */ printf("In j func .................\n"); fvec = (double *) malloc (m * sizeof (double)); xguess = (double *) malloc (n * sizeof (double)); for (i = 0; i < n; i++){ xguess[i] = 0.123; } (*fcn) (m, n, xguess, fvec); return fvec; } ---------- assignee: theller components: ctypes files: ctype_win64.txt messages: 102028 nosy: ocrush, theller severity: normal status: open title: callback function on win64 results in bad behavior. mem leak? type: behavior versions: Python 2.6, Python 2.7 Added file: http://bugs.python.org/file16708/ctype_win64.txt _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8275> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com