f2py (1.20) causes segmentation fault when calling callback function
See original GitHub issueSee also #18335
Reproducing code example:
For the same code as in #18335, when any callback function is actually called, it causes a segmentation fault.
subroutine pyexit(code)
implicit none
integer(kind=4), intent(IN):: code
!f2py integer intent(in) :: code
!f2py intent(callback, hide) :: endkepler(code)
external endkepler
call endkepler(code)
end subroutine pyexit
def endkepler(self, code = None):
"""
Callback to end KEPLER.
"""
print(' [endkepler] has been called.')
self.status = 'terminated'
# del sys.modules[self._kepler.__name__]
return code
# raise KeplerTerminated(code)
...
def _set_callbacks(self):
self._kepler.endkepler = self.endkepler
the c code generated is (excerpt, full version in referece)
/******************* See f2py2e/cb_rules.py: buildcallback *******************/
/******************* cb_endkepler_in_pyexit__user__routines *******************/
typedef struct {
PyObject *capi;
PyTupleObject *args_capi;
int nofargs;
jmp_buf jmpbuf;
} cb_endkepler_in_pyexit__user__routines_t;
#if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS)
static F2PY_THREAD_LOCAL_DECL cb_endkepler_in_pyexit__user__routines_t *_active_cb_endkepler_in_pyexit__user__routines = NULL;
static cb_endkepler_in_pyexit__user__routines_t *swap_active_cb_endkepler_in_pyexit__user__routines(cb_endkepler_in_pyexit__user__routines_t *ptr) {
cb_endkepler_in_pyexit__user__routines_t *prev = _active_cb_endkepler_in_pyexit__user__routines;
_active_cb_endkepler_in_pyexit__user__routines = ptr;
return prev;
}
static cb_endkepler_in_pyexit__user__routines_t *get_active_cb_endkepler_in_pyexit__user__routines(void) {
return _active_cb_endkepler_in_pyexit__user__routines;
}
#else
static cb_endkepler_in_pyexit__user__routines_t *swap_active_cb_endkepler_in_pyexit__user__routines(cb_endkepler_in_pyexit__user__routines_t *ptr) {
char *key = "__f2py_cb_cb_endkepler_in_pyexit__user__routines";
return (cb_endkepler_in_pyexit__user__routines_t *)F2PySwapThreadLocalCallbackPtr(key, ptr);
}
static cb_endkepler_in_pyexit__user__routines_t *get_active_cb_endkepler_in_pyexit__user__routines(void) {
char *key = "__f2py_cb_cb_endkepler_in_pyexit__user__routines";
return (cb_endkepler_in_pyexit__user__routines_t *)F2PyGetThreadLocalCallbackPtr(key);
}
#endif
/*typedef void(*cb_endkepler_in_pyexit__user__routines_typedef)(int *);*/
extern void F_FUNC(endkepler,ENDKEPLER) (int *foo_cb_capi) {
cb_endkepler_in_pyexit__user__routines_t *cb;
PyTupleObject *capi_arglist = NULL;
PyObject *capi_return = NULL;
PyObject *capi_tmp = NULL;
PyObject *capi_arglist_list = NULL;
int capi_j,capi_i = 0;
int capi_longjmp_ok = 1;
/*decl*/
int foo=(*foo_cb_capi);
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_start_clock();
#endif
cb = get_active_cb_endkepler_in_pyexit__user__routines();
capi_arglist = cb->args_capi;
CFUNCSMESS("cb:Call-back function cb_endkepler_in_pyexit__user__routines (maxnofargs=1(-0))\n");
CFUNCSMESSPY("cb:cb_endkepler_in_pyexit__user__routines_capi=",cb->capi);
if (cb->capi==NULL) {
capi_longjmp_ok = 0;
cb->capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler");
}
if (cb->capi==NULL) {
PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback endkepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
goto capi_fail;
}
if (F2PyCapsule_Check(cb->capi)) {
cb_endkepler_in_pyexit__user__routines_typedef cb_endkepler_in_pyexit__user__routines_cptr;
cb_endkepler_in_pyexit__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb->capi);
(*cb_endkepler_in_pyexit__user__routines_cptr)(foo_cb_capi);
return;
}
if (capi_arglist==NULL) {
capi_longjmp_ok = 0;
capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler_extra_args");
if (capi_tmp) {
capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
if (capi_arglist==NULL) {
PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.endkepler_extra_args to tuple.\n");
goto capi_fail;
}
} else {
PyErr_Clear();
capi_arglist = (PyTupleObject *)Py_BuildValue("()");
}
}
if (capi_arglist == NULL) {
PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback endkepler argument list is not set.\n");
goto capi_fail;
}
/*setdims*/
#ifdef PYPY_VERSION
#define CAPI_ARGLIST_SETITEM(idx, value) PyList_SetItem((PyObject *)capi_arglist_list, idx, value)
capi_arglist_list = PySequence_List(capi_arglist);
if (capi_arglist_list == NULL) goto capi_fail;
#else
#define CAPI_ARGLIST_SETITEM(idx, value) PyTuple_SetItem((PyObject *)capi_arglist, idx, value)
#endif
/*pyobjfrom*/
if (cb->nofargs>capi_i)
if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(foo)))
goto capi_fail;
#undef CAPI_ARGLIST_SETITEM
#ifdef PYPY_VERSION
CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
#else
CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
#endif
CFUNCSMESS("cb:Call-back calling Python function endkepler.\n");
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_start_call_clock();
#endif
#ifdef PYPY_VERSION
capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist_list);
Py_DECREF(capi_arglist_list);
capi_arglist_list = NULL;
#else
capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist);
#endif
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_stop_call_clock();
#endif
CFUNCSMESSPY("cb:capi_return=",capi_return);
if (capi_return == NULL) {
fprintf(stderr,"capi_return is NULL\n");
goto capi_fail;
}
if (capi_return == Py_None) {
Py_DECREF(capi_return);
capi_return = Py_BuildValue("()");
}
else if (!PyTuple_Check(capi_return)) {
capi_return = Py_BuildValue("(N)",capi_return);
}
capi_j = PyTuple_Size(capi_return);
capi_i = 0;
/*frompyobj*/
CFUNCSMESS("cb:cb_endkepler_in_pyexit__user__routines:successful\n");
Py_DECREF(capi_return);
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_stop_clock();
#endif
goto capi_return_pt;
capi_fail:
fprintf(stderr,"Call-back cb_endkepler_in_pyexit__user__routines failed.\n");
Py_XDECREF(capi_return);
Py_XDECREF(capi_arglist_list);
if (capi_longjmp_ok) {
longjmp(cb->jmpbuf,-1);
}
capi_return_pt:
;
return;
}
/*************** end of cb_endkepler_in_pyexit__user__routines ***************/
Specifically, the seg fault is in line
capi_arglist = cb->args_capi;
This does work, however, in numpy version 1.19.5. The diff in the generated .c files i huge (due to some other routines in it)
diff 1.21.txt 1.19.5.txt > diff.txt
[main*] ~/python/source/kepler/code>diff 1.21.txt 1.19.5.txt
2c2
< * This file is auto-generated with f2py (version:1.21.0.dev0+655.g2f466b318).
---
> * This file is auto-generated with f2py (version:2).
5c5
< * Generation date: Fri Feb 5 18:15:33 2021
---
> * Generation date: Fri Feb 5 19:31:10 2021
56c56
< #define pyobj_from_int1(v) (PyLong_FromLong(v))
---
> #define pyobj_from_int1(v) (PyInt_FromLong(v))
67,85d66
< #ifndef F2PY_THREAD_LOCAL_DECL
< #if defined(_MSC_VER)
< #define F2PY_THREAD_LOCAL_DECL __declspec(thread)
< #elif defined(__STDC_VERSION__) \
< && (__STDC_VERSION__ >= 201112L) \
< && !defined(__STDC_NO_THREADS__) \
< && (!defined(__GLIBC__) || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 12))
< /* __STDC_NO_THREADS__ was first defined in a maintenance release of glibc 2.12,
< see https://lists.gnu.org/archive/html/commit-hurd/2012-07/msg00180.html,
< so `!defined(__STDC_NO_THREADS__)` may give false positive for the existence
< of `threads.h` when using an older release of glibc 2.12 */
< #include <threads.h>
< #define F2PY_THREAD_LOCAL_DECL thread_local
< #elif defined(__GNUC__) \
< && (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 4)))
< #define F2PY_THREAD_LOCAL_DECL __thread
< #endif
< #endif
<
194,196c175
< static int
< int_from_pyobj(int* v, PyObject *obj, const char *errmess)
< {
---
> static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) {
198,201c177,179
<
< if (PyLong_Check(obj)) {
< *v = Npy__PyLong_AsInt(obj);
< return !(*v == -1 && PyErr_Occurred());
---
> if (PyInt_Check(obj)) {
> *v = (int)PyInt_AS_LONG(obj);
> return 1;
203,204c181
<
< tmp = PyNumber_Long(obj);
---
> tmp = PyNumber_Int(obj);
206c183
< *v = Npy__PyLong_AsInt(tmp);
---
> *v = PyInt_AS_LONG(tmp);
208c185
< return !(*v == -1 && PyErr_Occurred());
---
> return 1;
210d186
<
213c189
< else if (PyBytes_Check(obj) || PyUnicode_Check(obj))
---
> else if (PyString_Check(obj) || PyUnicode_Check(obj))
216c192
< tmp = PySequence_GetItem(obj, 0);
---
> tmp = PySequence_GetItem(obj,0);
219,222c195
< if (int_from_pyobj(v, tmp, errmess)) {
< Py_DECREF(tmp);
< return 1;
< }
---
> if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;}
227,230c200,201
< if (err == NULL) {
< err = _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error;
< }
< PyErr_SetString(err, errmess);
---
> if (err==NULL) err = _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error;
> PyErr_SetString(err,errmess);
235,237c206
< static int
< string_from_pyobj(string *str,int *len,const string inistr,PyObject *obj,const char *errmess)
< {
---
> static int string_from_pyobj(string *str,int *len,const string inistr,PyObject *obj,const char *errmess) {
263c232
< if (PyBytes_Check(obj)) {
---
> if (PyString_Check(obj)) {
283c252
< *len = PyBytes_GET_SIZE(tmp);
---
> *len = PyString_GET_SIZE(tmp);
285c254
< STRINGCOPYN(*str,PyBytes_AS_STRING(tmp),*len+1);
---
> STRINGCOPYN(*str,PyString_AS_STRING(tmp),*len+1);
292,295c261,262
< if (err == NULL) {
< err = _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error;
< }
< PyErr_SetString(err, errmess);
---
> if (err==NULL) err = _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error;
> PyErr_SetString(err,errmess);
300,304c267
< static int
< create_cb_arglist(PyObject* fun, PyTupleObject* xa , const int maxnofargs,
< const int nofoptargs, int *nofargs, PyTupleObject **args,
< const char *errmess)
< {
---
> static int create_cb_arglist(PyObject* fun,PyTupleObject* xa,const int maxnofargs,const int nofoptargs,int *nofargs,PyTupleObject **args,const char *errmess) {
307c270
< Py_ssize_t tot, opt, ext, siz, i, di = 0;
---
> int tot,opt,ext,siz,i,di=0;
356,364c319,322
<
< if (tmp_fun == NULL) {
< fprintf(stderr,
< "Call-back argument must be function|instance|instance.__call__|f2py-function "
< "but got %s.\n",
< ((fun == NULL) ? "NULL" : Py_TYPE(fun)->tp_name));
< goto capi_fail;
< }
<
---
> if (tmp_fun==NULL) {
> fprintf(stderr,"Call-back argument must be function|instance|instance.__call__|f2py-function but got %s.\n",(fun==NULL?"NULL":Py_TYPE(fun)->tp_name));
> goto capi_fail;
> }
372c330
< tot = PyLong_AsSsize_t(tmp_argcount) - di;
---
> tot = PyInt_AsLong(tmp_argcount) - di;
388d345
<
390,393c347
< fprintf(stderr,
< "debug-capi:create_cb_arglist:maxnofargs(-nofoptargs),"
< "tot,opt,ext,siz,nofargs = %d(-%d), %zd, %zd, %zd, %zd, %d\n",
< maxnofargs, nofoptargs, tot, opt, ext, siz, *nofargs);
---
> fprintf(stderr,"debug-capi:create_cb_arglist:maxnofargs(-nofoptargs),tot,opt,ext,siz,nofargs=%d(-%d),%d,%d,%d,%d,%d\n",maxnofargs,nofoptargs,tot,opt,ext,siz,*nofargs);
395,401c349,350
<
< if (siz < tot-opt) {
< fprintf(stderr,
< "create_cb_arglist: Failed to build argument list "
< "(siz) with enough arguments (tot-opt) required by "
< "user-supplied function (siz,tot,opt=%zd, %zd, %zd).\n",
< siz, tot, opt);
---
> if (siz<tot-opt) {
> fprintf(stderr,"create_cb_arglist: Failed to build argument list (siz) with enough arguments (tot-opt) required by user-supplied function (siz,tot,opt=%d,%d,%d).\n",siz,tot,opt);
404d352
<
420d367
<
422,423c369,370
< if (PyErr_Occurred() == NULL)
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error, errmess);
---
> if ((PyErr_Occurred())==NULL)
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,errmess);
428,441c375
< static int try_pyarr_from_string(PyObject *obj,const string str) {
< PyArrayObject *arr = NULL;
< if (PyArray_Check(obj) && (!((arr = (PyArrayObject *)obj) == NULL)))
< { STRINGCOPYN(PyArray_DATA(arr),str,PyArray_NBYTES(arr)); }
< return 1;
< capi_fail:
< PRINTPYOBJERR(obj);
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"try_pyarr_from_string failed");
< return 0;
< }
<
< static int
< double_from_pyobj(double* v, PyObject *obj, const char *errmess)
< {
---
> static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) {
443a378
> #ifdef __sgi
445c380,383
< return !(*v == -1.0 && PyErr_Occurred());
---
> #else
> *v = PyFloat_AS_DOUBLE(obj);
> #endif
> return 1;
447d384
<
449a387
> #ifdef __sgi
450a389,391
> #else
> *v = PyFloat_AS_DOUBLE(tmp);
> #endif
452c393
< return !(*v == -1.0 && PyErr_Occurred());
---
> return 1;
456c397
< else if (PyBytes_Check(obj) || PyUnicode_Check(obj))
---
> else if (PyString_Check(obj) || PyUnicode_Check(obj))
504,538c445,448
< typedef struct {
< PyObject *capi;
< PyTupleObject *args_capi;
< int nofargs;
< jmp_buf jmpbuf;
< } cb_endkepler_in_pyexit__user__routines_t;
<
< #if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS)
<
< static F2PY_THREAD_LOCAL_DECL cb_endkepler_in_pyexit__user__routines_t *_active_cb_endkepler_in_pyexit__user__routines = NULL;
<
< static cb_endkepler_in_pyexit__user__routines_t *swap_active_cb_endkepler_in_pyexit__user__routines(cb_endkepler_in_pyexit__user__routines_t *ptr) {
< cb_endkepler_in_pyexit__user__routines_t *prev = _active_cb_endkepler_in_pyexit__user__routines;
< _active_cb_endkepler_in_pyexit__user__routines = ptr;
< return prev;
< }
<
< static cb_endkepler_in_pyexit__user__routines_t *get_active_cb_endkepler_in_pyexit__user__routines(void) {
< return _active_cb_endkepler_in_pyexit__user__routines;
< }
<
< #else
<
< static cb_endkepler_in_pyexit__user__routines_t *swap_active_cb_endkepler_in_pyexit__user__routines(cb_endkepler_in_pyexit__user__routines_t *ptr) {
< char *key = "__f2py_cb_cb_endkepler_in_pyexit__user__routines";
< return (cb_endkepler_in_pyexit__user__routines_t *)F2PySwapThreadLocalCallbackPtr(key, ptr);
< }
<
< static cb_endkepler_in_pyexit__user__routines_t *get_active_cb_endkepler_in_pyexit__user__routines(void) {
< char *key = "__f2py_cb_cb_endkepler_in_pyexit__user__routines";
< return (cb_endkepler_in_pyexit__user__routines_t *)F2PyGetThreadLocalCallbackPtr(key);
< }
<
< #endif
<
---
> PyObject *cb_endkepler_in_pyexit__user__routines_capi = NULL;/*was Py_None*/
> PyTupleObject *cb_endkepler_in_pyexit__user__routines_args_capi = NULL;
> int cb_endkepler_in_pyexit__user__routines_nofargs = 0;
> jmp_buf cb_endkepler_in_pyexit__user__routines_jmpbuf;
540,547c450,456
< extern void F_FUNC(endkepler,ENDKEPLER) (int *foo_cb_capi) {
< cb_endkepler_in_pyexit__user__routines_t *cb;
< PyTupleObject *capi_arglist = NULL;
< PyObject *capi_return = NULL;
< PyObject *capi_tmp = NULL;
< PyObject *capi_arglist_list = NULL;
< int capi_j,capi_i = 0;
< int capi_longjmp_ok = 1;
---
> extern void F_FUNC(endkepler,ENDKEPLER) (int *code_cb_capi) {
> PyTupleObject *capi_arglist = cb_endkepler_in_pyexit__user__routines_args_capi;
> PyObject *capi_return = NULL;
> PyObject *capi_tmp = NULL;
> PyObject *capi_arglist_list = NULL;
> int capi_j,capi_i = 0;
> int capi_longjmp_ok = 1;
549c458
< int foo=(*foo_cb_capi);
---
> int code=(*code_cb_capi);
553,586c462,484
< cb = get_active_cb_endkepler_in_pyexit__user__routines();
< capi_arglist = cb->args_capi;
< CFUNCSMESS("cb:Call-back function cb_endkepler_in_pyexit__user__routines (maxnofargs=1(-0))\n");
< CFUNCSMESSPY("cb:cb_endkepler_in_pyexit__user__routines_capi=",cb->capi);
< if (cb->capi==NULL) {
< capi_longjmp_ok = 0;
< cb->capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler");
< }
< if (cb->capi==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback endkepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
< goto capi_fail;
< }
< if (F2PyCapsule_Check(cb->capi)) {
< cb_endkepler_in_pyexit__user__routines_typedef cb_endkepler_in_pyexit__user__routines_cptr;
< cb_endkepler_in_pyexit__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb->capi);
< (*cb_endkepler_in_pyexit__user__routines_cptr)(foo_cb_capi);
< return;
< }
< if (capi_arglist==NULL) {
< capi_longjmp_ok = 0;
< capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler_extra_args");
< if (capi_tmp) {
< capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
< if (capi_arglist==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.endkepler_extra_args to tuple.\n");
< goto capi_fail;
< }
< } else {
< PyErr_Clear();
< capi_arglist = (PyTupleObject *)Py_BuildValue("()");
< }
< }
< if (capi_arglist == NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback endkepler argument list is not set.\n");
---
> CFUNCSMESS("cb:Call-back function cb_endkepler_in_pyexit__user__routines (maxnofargs=1(-0))\n");
> CFUNCSMESSPY("cb:cb_endkepler_in_pyexit__user__routines_capi=",cb_endkepler_in_pyexit__user__routines_capi);
> if (cb_endkepler_in_pyexit__user__routines_capi==NULL) {
> capi_longjmp_ok = 0;
> cb_endkepler_in_pyexit__user__routines_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler");
> }
> if (cb_endkepler_in_pyexit__user__routines_capi==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback endkepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
> goto capi_fail;
> }
> if (F2PyCapsule_Check(cb_endkepler_in_pyexit__user__routines_capi)) {
> cb_endkepler_in_pyexit__user__routines_typedef cb_endkepler_in_pyexit__user__routines_cptr;
> cb_endkepler_in_pyexit__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb_endkepler_in_pyexit__user__routines_capi);
> (*cb_endkepler_in_pyexit__user__routines_cptr)(code_cb_capi);
> return;
> }
> if (capi_arglist==NULL) {
> capi_longjmp_ok = 0;
> capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler_extra_args");
> if (capi_tmp) {
> capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
> if (capi_arglist==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.endkepler_extra_args to tuple.\n");
587a486,489
> }
> } else {
> PyErr_Clear();
> capi_arglist = (PyTupleObject *)Py_BuildValue("()");
588a491,495
> }
> if (capi_arglist == NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback endkepler argument list is not set.\n");
> goto capi_fail;
> }
592,593c499,500
< capi_arglist_list = PySequence_List(capi_arglist);
< if (capi_arglist_list == NULL) goto capi_fail;
---
> capi_arglist_list = PySequence_List(capi_arglist);
> if (capi_arglist_list == NULL) goto capi_fail;
598,600c505,507
< if (cb->nofargs>capi_i)
< if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(foo)))
< goto capi_fail;
---
> if (cb_endkepler_in_pyexit__user__routines_nofargs>capi_i)
> if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(code)))
> goto capi_fail;
603c510
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
605c512
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
607c514
< CFUNCSMESS("cb:Call-back calling Python function endkepler.\n");
---
> CFUNCSMESS("cb:Call-back calling Python function endkepler.\n");
612,614c519,521
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist_list);
< Py_DECREF(capi_arglist_list);
< capi_arglist_list = NULL;
---
> capi_return = PyObject_CallObject(cb_endkepler_in_pyexit__user__routines_capi,(PyObject *)capi_arglist_list);
> Py_DECREF(capi_arglist_list);
> capi_arglist_list = NULL;
616c523
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist);
---
> capi_return = PyObject_CallObject(cb_endkepler_in_pyexit__user__routines_capi,(PyObject *)capi_arglist);
621,636c528,533
< CFUNCSMESSPY("cb:capi_return=",capi_return);
< if (capi_return == NULL) {
< fprintf(stderr,"capi_return is NULL\n");
< goto capi_fail;
< }
< if (capi_return == Py_None) {
< Py_DECREF(capi_return);
< capi_return = Py_BuildValue("()");
< }
< else if (!PyTuple_Check(capi_return)) {
< capi_return = Py_BuildValue("(N)",capi_return);
< }
< capi_j = PyTuple_Size(capi_return);
< capi_i = 0;
< /*frompyobj*/
< CFUNCSMESS("cb:cb_endkepler_in_pyexit__user__routines:successful\n");
---
> CFUNCSMESSPY("cb:capi_return=",capi_return);
> if (capi_return == NULL) {
> fprintf(stderr,"capi_return is NULL\n");
> goto capi_fail;
> }
> if (capi_return == Py_None) {
637a535,544
> capi_return = Py_BuildValue("()");
> }
> else if (!PyTuple_Check(capi_return)) {
> capi_return = Py_BuildValue("(N)",capi_return);
> }
> capi_j = PyTuple_Size(capi_return);
> capi_i = 0;
> /*frompyobj*/
> CFUNCSMESS("cb:cb_endkepler_in_pyexit__user__routines:successful\n");
> Py_DECREF(capi_return);
641c548
< goto capi_return_pt;
---
> goto capi_return_pt;
643,648c550,554
< fprintf(stderr,"Call-back cb_endkepler_in_pyexit__user__routines failed.\n");
< Py_XDECREF(capi_return);
< Py_XDECREF(capi_arglist_list);
< if (capi_longjmp_ok) {
< longjmp(cb->jmpbuf,-1);
< }
---
> fprintf(stderr,"Call-back cb_endkepler_in_pyexit__user__routines failed.\n");
> Py_XDECREF(capi_return);
> Py_XDECREF(capi_arglist_list);
> if (capi_longjmp_ok)
> longjmp(cb_endkepler_in_pyexit__user__routines_jmpbuf,-1);
650c556
< ;
---
> ;
657,691c563,566
< typedef struct {
< PyObject *capi;
< PyTupleObject *args_capi;
< int nofargs;
< jmp_buf jmpbuf;
< } cb_plotkepler_in_pyplot__user__routines_t;
<
< #if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS)
<
< static F2PY_THREAD_LOCAL_DECL cb_plotkepler_in_pyplot__user__routines_t *_active_cb_plotkepler_in_pyplot__user__routines = NULL;
<
< static cb_plotkepler_in_pyplot__user__routines_t *swap_active_cb_plotkepler_in_pyplot__user__routines(cb_plotkepler_in_pyplot__user__routines_t *ptr) {
< cb_plotkepler_in_pyplot__user__routines_t *prev = _active_cb_plotkepler_in_pyplot__user__routines;
< _active_cb_plotkepler_in_pyplot__user__routines = ptr;
< return prev;
< }
<
< static cb_plotkepler_in_pyplot__user__routines_t *get_active_cb_plotkepler_in_pyplot__user__routines(void) {
< return _active_cb_plotkepler_in_pyplot__user__routines;
< }
<
< #else
<
< static cb_plotkepler_in_pyplot__user__routines_t *swap_active_cb_plotkepler_in_pyplot__user__routines(cb_plotkepler_in_pyplot__user__routines_t *ptr) {
< char *key = "__f2py_cb_cb_plotkepler_in_pyplot__user__routines";
< return (cb_plotkepler_in_pyplot__user__routines_t *)F2PySwapThreadLocalCallbackPtr(key, ptr);
< }
<
< static cb_plotkepler_in_pyplot__user__routines_t *get_active_cb_plotkepler_in_pyplot__user__routines(void) {
< char *key = "__f2py_cb_cb_plotkepler_in_pyplot__user__routines";
< return (cb_plotkepler_in_pyplot__user__routines_t *)F2PyGetThreadLocalCallbackPtr(key);
< }
<
< #endif
<
---
> PyObject *cb_plotkepler_in_pyplot__user__routines_capi = NULL;/*was Py_None*/
> PyTupleObject *cb_plotkepler_in_pyplot__user__routines_args_capi = NULL;
> int cb_plotkepler_in_pyplot__user__routines_nofargs = 0;
> jmp_buf cb_plotkepler_in_pyplot__user__routines_jmpbuf;
694,700c569,574
< cb_plotkepler_in_pyplot__user__routines_t *cb;
< PyTupleObject *capi_arglist = NULL;
< PyObject *capi_return = NULL;
< PyObject *capi_tmp = NULL;
< PyObject *capi_arglist_list = NULL;
< int capi_j,capi_i = 0;
< int capi_longjmp_ok = 1;
---
> PyTupleObject *capi_arglist = cb_plotkepler_in_pyplot__user__routines_args_capi;
> PyObject *capi_return = NULL;
> PyObject *capi_tmp = NULL;
> PyObject *capi_arglist_list = NULL;
> int capi_j,capi_i = 0;
> int capi_longjmp_ok = 1;
705,738c579,601
< cb = get_active_cb_plotkepler_in_pyplot__user__routines();
< capi_arglist = cb->args_capi;
< CFUNCSMESS("cb:Call-back function cb_plotkepler_in_pyplot__user__routines (maxnofargs=0(-0))\n");
< CFUNCSMESSPY("cb:cb_plotkepler_in_pyplot__user__routines_capi=",cb->capi);
< if (cb->capi==NULL) {
< capi_longjmp_ok = 0;
< cb->capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler");
< }
< if (cb->capi==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback plotkepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
< goto capi_fail;
< }
< if (F2PyCapsule_Check(cb->capi)) {
< cb_plotkepler_in_pyplot__user__routines_typedef cb_plotkepler_in_pyplot__user__routines_cptr;
< cb_plotkepler_in_pyplot__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb->capi);
< (*cb_plotkepler_in_pyplot__user__routines_cptr)();
< return;
< }
< if (capi_arglist==NULL) {
< capi_longjmp_ok = 0;
< capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler_extra_args");
< if (capi_tmp) {
< capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
< if (capi_arglist==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.plotkepler_extra_args to tuple.\n");
< goto capi_fail;
< }
< } else {
< PyErr_Clear();
< capi_arglist = (PyTupleObject *)Py_BuildValue("()");
< }
< }
< if (capi_arglist == NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback plotkepler argument list is not set.\n");
---
> CFUNCSMESS("cb:Call-back function cb_plotkepler_in_pyplot__user__routines (maxnofargs=0(-0))\n");
> CFUNCSMESSPY("cb:cb_plotkepler_in_pyplot__user__routines_capi=",cb_plotkepler_in_pyplot__user__routines_capi);
> if (cb_plotkepler_in_pyplot__user__routines_capi==NULL) {
> capi_longjmp_ok = 0;
> cb_plotkepler_in_pyplot__user__routines_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler");
> }
> if (cb_plotkepler_in_pyplot__user__routines_capi==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback plotkepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
> goto capi_fail;
> }
> if (F2PyCapsule_Check(cb_plotkepler_in_pyplot__user__routines_capi)) {
> cb_plotkepler_in_pyplot__user__routines_typedef cb_plotkepler_in_pyplot__user__routines_cptr;
> cb_plotkepler_in_pyplot__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb_plotkepler_in_pyplot__user__routines_capi);
> (*cb_plotkepler_in_pyplot__user__routines_cptr)();
> return;
> }
> if (capi_arglist==NULL) {
> capi_longjmp_ok = 0;
> capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler_extra_args");
> if (capi_tmp) {
> capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
> if (capi_arglist==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.plotkepler_extra_args to tuple.\n");
739a603,606
> }
> } else {
> PyErr_Clear();
> capi_arglist = (PyTupleObject *)Py_BuildValue("()");
740a608,612
> }
> if (capi_arglist == NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback plotkepler argument list is not set.\n");
> goto capi_fail;
> }
744,745c616,617
< capi_arglist_list = PySequence_List(capi_arglist);
< if (capi_arglist_list == NULL) goto capi_fail;
---
> capi_arglist_list = PySequence_List(capi_arglist);
> if (capi_arglist_list == NULL) goto capi_fail;
752c624
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
754c626
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
756c628
< CFUNCSMESS("cb:Call-back calling Python function plotkepler.\n");
---
> CFUNCSMESS("cb:Call-back calling Python function plotkepler.\n");
761,763c633,635
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist_list);
< Py_DECREF(capi_arglist_list);
< capi_arglist_list = NULL;
---
> capi_return = PyObject_CallObject(cb_plotkepler_in_pyplot__user__routines_capi,(PyObject *)capi_arglist_list);
> Py_DECREF(capi_arglist_list);
> capi_arglist_list = NULL;
765c637
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist);
---
> capi_return = PyObject_CallObject(cb_plotkepler_in_pyplot__user__routines_capi,(PyObject *)capi_arglist);
770,785c642,647
< CFUNCSMESSPY("cb:capi_return=",capi_return);
< if (capi_return == NULL) {
< fprintf(stderr,"capi_return is NULL\n");
< goto capi_fail;
< }
< if (capi_return == Py_None) {
< Py_DECREF(capi_return);
< capi_return = Py_BuildValue("()");
< }
< else if (!PyTuple_Check(capi_return)) {
< capi_return = Py_BuildValue("(N)",capi_return);
< }
< capi_j = PyTuple_Size(capi_return);
< capi_i = 0;
< /*frompyobj*/
< CFUNCSMESS("cb:cb_plotkepler_in_pyplot__user__routines:successful\n");
---
> CFUNCSMESSPY("cb:capi_return=",capi_return);
> if (capi_return == NULL) {
> fprintf(stderr,"capi_return is NULL\n");
> goto capi_fail;
> }
> if (capi_return == Py_None) {
786a649,658
> capi_return = Py_BuildValue("()");
> }
> else if (!PyTuple_Check(capi_return)) {
> capi_return = Py_BuildValue("(N)",capi_return);
> }
> capi_j = PyTuple_Size(capi_return);
> capi_i = 0;
> /*frompyobj*/
> CFUNCSMESS("cb:cb_plotkepler_in_pyplot__user__routines:successful\n");
> Py_DECREF(capi_return);
790c662
< goto capi_return_pt;
---
> goto capi_return_pt;
792,797c664,668
< fprintf(stderr,"Call-back cb_plotkepler_in_pyplot__user__routines failed.\n");
< Py_XDECREF(capi_return);
< Py_XDECREF(capi_arglist_list);
< if (capi_longjmp_ok) {
< longjmp(cb->jmpbuf,-1);
< }
---
> fprintf(stderr,"Call-back cb_plotkepler_in_pyplot__user__routines failed.\n");
> Py_XDECREF(capi_return);
> Py_XDECREF(capi_arglist_list);
> if (capi_longjmp_ok)
> longjmp(cb_plotkepler_in_pyplot__user__routines_jmpbuf,-1);
799c670
< ;
---
> ;
806,840c677,680
< typedef struct {
< PyObject *capi;
< PyTupleObject *args_capi;
< int nofargs;
< jmp_buf jmpbuf;
< } cb_ttykepler_in_pygets__user__routines_t;
<
< #if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS)
<
< static F2PY_THREAD_LOCAL_DECL cb_ttykepler_in_pygets__user__routines_t *_active_cb_ttykepler_in_pygets__user__routines = NULL;
<
< static cb_ttykepler_in_pygets__user__routines_t *swap_active_cb_ttykepler_in_pygets__user__routines(cb_ttykepler_in_pygets__user__routines_t *ptr) {
< cb_ttykepler_in_pygets__user__routines_t *prev = _active_cb_ttykepler_in_pygets__user__routines;
< _active_cb_ttykepler_in_pygets__user__routines = ptr;
< return prev;
< }
<
< static cb_ttykepler_in_pygets__user__routines_t *get_active_cb_ttykepler_in_pygets__user__routines(void) {
< return _active_cb_ttykepler_in_pygets__user__routines;
< }
<
< #else
<
< static cb_ttykepler_in_pygets__user__routines_t *swap_active_cb_ttykepler_in_pygets__user__routines(cb_ttykepler_in_pygets__user__routines_t *ptr) {
< char *key = "__f2py_cb_cb_ttykepler_in_pygets__user__routines";
< return (cb_ttykepler_in_pygets__user__routines_t *)F2PySwapThreadLocalCallbackPtr(key, ptr);
< }
<
< static cb_ttykepler_in_pygets__user__routines_t *get_active_cb_ttykepler_in_pygets__user__routines(void) {
< char *key = "__f2py_cb_cb_ttykepler_in_pygets__user__routines";
< return (cb_ttykepler_in_pygets__user__routines_t *)F2PyGetThreadLocalCallbackPtr(key);
< }
<
< #endif
<
---
> PyObject *cb_ttykepler_in_pygets__user__routines_capi = NULL;/*was Py_None*/
> PyTupleObject *cb_ttykepler_in_pygets__user__routines_args_capi = NULL;
> int cb_ttykepler_in_pygets__user__routines_nofargs = 0;
> jmp_buf cb_ttykepler_in_pygets__user__routines_jmpbuf;
843,849c683,688
< cb_ttykepler_in_pygets__user__routines_t *cb;
< PyTupleObject *capi_arglist = NULL;
< PyObject *capi_return = NULL;
< PyObject *capi_tmp = NULL;
< PyObject *capi_arglist_list = NULL;
< int capi_j,capi_i = 0;
< int capi_longjmp_ok = 1;
---
> PyTupleObject *capi_arglist = cb_ttykepler_in_pygets__user__routines_args_capi;
> PyObject *capi_return = NULL;
> PyObject *capi_tmp = NULL;
> PyObject *capi_arglist_list = NULL;
> int capi_j,capi_i = 0;
> int capi_longjmp_ok = 1;
851c690
< npy_intp data_Dims[1] = {-1};
---
> npy_intp data_Dims[1] = {-1};
855,888c694,716
< cb = get_active_cb_ttykepler_in_pygets__user__routines();
< capi_arglist = cb->args_capi;
< CFUNCSMESS("cb:Call-back function cb_ttykepler_in_pygets__user__routines (maxnofargs=1(-0))\n");
< CFUNCSMESSPY("cb:cb_ttykepler_in_pygets__user__routines_capi=",cb->capi);
< if (cb->capi==NULL) {
< capi_longjmp_ok = 0;
< cb->capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler");
< }
< if (cb->capi==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback ttykepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
< goto capi_fail;
< }
< if (F2PyCapsule_Check(cb->capi)) {
< cb_ttykepler_in_pygets__user__routines_typedef cb_ttykepler_in_pygets__user__routines_cptr;
< cb_ttykepler_in_pygets__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb->capi);
< (*cb_ttykepler_in_pygets__user__routines_cptr)(data);
< return;
< }
< if (capi_arglist==NULL) {
< capi_longjmp_ok = 0;
< capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler_extra_args");
< if (capi_tmp) {
< capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
< if (capi_arglist==NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.ttykepler_extra_args to tuple.\n");
< goto capi_fail;
< }
< } else {
< PyErr_Clear();
< capi_arglist = (PyTupleObject *)Py_BuildValue("()");
< }
< }
< if (capi_arglist == NULL) {
< PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback ttykepler argument list is not set.\n");
---
> CFUNCSMESS("cb:Call-back function cb_ttykepler_in_pygets__user__routines (maxnofargs=1(-0))\n");
> CFUNCSMESSPY("cb:cb_ttykepler_in_pygets__user__routines_capi=",cb_ttykepler_in_pygets__user__routines_capi);
> if (cb_ttykepler_in_pygets__user__routines_capi==NULL) {
> capi_longjmp_ok = 0;
> cb_ttykepler_in_pygets__user__routines_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler");
> }
> if (cb_ttykepler_in_pygets__user__routines_capi==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"cb: Callback ttykepler not defined (as an argument or module _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz attribute).\n");
> goto capi_fail;
> }
> if (F2PyCapsule_Check(cb_ttykepler_in_pygets__user__routines_capi)) {
> cb_ttykepler_in_pygets__user__routines_typedef cb_ttykepler_in_pygets__user__routines_cptr;
> cb_ttykepler_in_pygets__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb_ttykepler_in_pygets__user__routines_capi);
> (*cb_ttykepler_in_pygets__user__routines_cptr)(data);
> return;
> }
> if (capi_arglist==NULL) {
> capi_longjmp_ok = 0;
> capi_tmp = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler_extra_args");
> if (capi_tmp) {
> capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
> if (capi_arglist==NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Failed to convert _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.ttykepler_extra_args to tuple.\n");
889a718,721
> }
> } else {
> PyErr_Clear();
> capi_arglist = (PyTupleObject *)Py_BuildValue("()");
890a723,727
> }
> if (capi_arglist == NULL) {
> PyErr_SetString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_error,"Callback ttykepler argument list is not set.\n");
> goto capi_fail;
> }
892c729
< data_Dims[0]=132;
---
> data_Dims[0]=132;
895,896c732,733
< capi_arglist_list = PySequence_List(capi_arglist);
< if (capi_arglist_list == NULL) goto capi_fail;
---
> capi_arglist_list = PySequence_List(capi_arglist);
> if (capi_arglist_list == NULL) goto capi_fail;
901,904c738,741
< if (cb->nofargs>capi_i) {
< int itemsize_ = NPY_BYTE == NPY_STRING ? 1 : 0;
< /*XXX: Hmm, what will destroy this array??? */
< PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,data_Dims,NPY_BYTE,NULL,(char*)data,itemsize_,NPY_ARRAY_FARRAY,NULL);
---
> if (cb_ttykepler_in_pygets__user__routines_nofargs>capi_i) {
> int itemsize_ = NPY_BYTE == NPY_STRING ? 1 : 0;
> /*XXX: Hmm, what will destroy this array??? */
> PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,data_Dims,NPY_BYTE,NULL,(char*)data,itemsize_,NPY_ARRAY_FARRAY,NULL);
907,910c744,747
< if (tmp_arr==NULL)
< goto capi_fail;
< if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr))
< goto capi_fail;
---
> if (tmp_arr==NULL)
> goto capi_fail;
> if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr))
> goto capi_fail;
914c751
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
916c753
< CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
---
> CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
918c755
< CFUNCSMESS("cb:Call-back calling Python function ttykepler.\n");
---
> CFUNCSMESS("cb:Call-back calling Python function ttykepler.\n");
923,925c760,762
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist_list);
< Py_DECREF(capi_arglist_list);
< capi_arglist_list = NULL;
---
> capi_return = PyObject_CallObject(cb_ttykepler_in_pygets__user__routines_capi,(PyObject *)capi_arglist_list);
> Py_DECREF(capi_arglist_list);
> capi_arglist_list = NULL;
927c764
< capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist);
---
> capi_return = PyObject_CallObject(cb_ttykepler_in_pygets__user__routines_capi,(PyObject *)capi_arglist);
932,947c769,774
< CFUNCSMESSPY("cb:capi_return=",capi_return);
< if (capi_return == NULL) {
< fprintf(stderr,"capi_return is NULL\n");
< goto capi_fail;
< }
< if (capi_return == Py_None) {
< Py_DECREF(capi_return);
< capi_return = Py_BuildValue("()");
< }
< else if (!PyTuple_Check(capi_return)) {
< capi_return = Py_BuildValue("(N)",capi_return);
< }
< capi_j = PyTuple_Size(capi_return);
< capi_i = 0;
< /*frompyobj*/
< CFUNCSMESS("cb:cb_ttykepler_in_pygets__user__routines:successful\n");
---
> CFUNCSMESSPY("cb:capi_return=",capi_return);
> if (capi_return == NULL) {
> fprintf(stderr,"capi_return is NULL\n");
> goto capi_fail;
> }
> if (capi_return == Py_None) {
948a776,785
> capi_return = Py_BuildValue("()");
> }
> else if (!PyTuple_Check(capi_return)) {
> capi_return = Py_BuildValue("(N)",capi_return);
> }
> capi_j = PyTuple_Size(capi_return);
> capi_i = 0;
> /*frompyobj*/
> CFUNCSMESS("cb:cb_ttykepler_in_pygets__user__routines:successful\n");
> Py_DECREF(capi_return);
952c789
< goto capi_return_pt;
---
> goto capi_return_pt;
954,959c791,795
< fprintf(stderr,"Call-back cb_ttykepler_in_pygets__user__routines failed.\n");
< Py_XDECREF(capi_return);
< Py_XDECREF(capi_arglist_list);
< if (capi_longjmp_ok) {
< longjmp(cb->jmpbuf,-1);
< }
---
> fprintf(stderr,"Call-back cb_ttykepler_in_pygets__user__routines failed.\n");
> Py_XDECREF(capi_return);
> Py_XDECREF(capi_arglist_list);
> if (capi_longjmp_ok)
> longjmp(cb_ttykepler_in_pygets__user__routines_jmpbuf,-1);
961c797
< ;
---
> ;
980,981c816,817
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
992c828
< static char *capi_kwlist[] = {"nargs","input",NULL};
---
> static char *capi_kwlist[] = {"nargs","input",NULL};
998,1001c834,837
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.start_",\
< capi_kwlist,&nargs_capi,&input_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.start_",\
> capi_kwlist,&nargs_capi,&input_capi))
> return NULL;
1030c866
< if (f2py_success) {
---
> if (f2py_success) {
1033,1034c869,870
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1037c873
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1046c882
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1048c884
< } else {
---
> } else {
1050,1051c886,887
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1056c892
< return capi_buildvalue;
---
> return capi_buildvalue;
1071,1072c907,908
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1080c916
< static char *capi_kwlist[] = {"xcmdline","logitx",NULL};
---
> static char *capi_kwlist[] = {"xcmdline","logitx",NULL};
1086,1089c922,925
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.execute_",\
< capi_kwlist,&xcmdline_capi,&logitx_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.execute_",\
> capi_kwlist,&xcmdline_capi,&logitx_capi))
> return NULL;
1110c946
< if (f2py_success) {
---
> if (f2py_success) {
1113,1114c949,950
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1117c953
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1125c961
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1127c963
< } else {
---
> } else {
1129,1130c965,966
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1135c971
< return capi_buildvalue;
---
> return capi_buildvalue;
1149,1150c985,986
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1155c991
< static char *capi_kwlist[] = {"interactive",NULL};
---
> static char *capi_kwlist[] = {"interactive",NULL};
1161,1164c997,1000
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "O|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.cycle_",\
< capi_kwlist,&interactive_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "O|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.cycle_",\
> capi_kwlist,&interactive_capi))
> return NULL;
1182c1018
< if (f2py_success) {
---
> if (f2py_success) {
1185,1186c1021,1022
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1189c1025
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1194c1030
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1196c1032
< } else {
---
> } else {
1198,1199c1034,1035
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1204c1040
< return capi_buildvalue;
---
> return capi_buildvalue;
1218,1219c1054,1055
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1225c1061
< static char *capi_kwlist[] = {"s",NULL};
---
> static char *capi_kwlist[] = {"s",NULL};
1231,1234c1067,1070
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "O|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.terminate_",\
< capi_kwlist,&s_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "O|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.terminate_",\
> capi_kwlist,&s_capi))
> return NULL;
1252c1088
< if (f2py_success) {
---
> if (f2py_success) {
1255,1256c1091,1092
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1259c1095
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1265c1101
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1267c1103
< } else {
---
> } else {
1269,1270c1105,1106
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1275c1111
< return capi_buildvalue;
---
> return capi_buildvalue;
1295,1296c1131,1132
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1315c1151
< static char *capi_kwlist[] = {"namedat","jmin","jmax",NULL};
---
> static char *capi_kwlist[] = {"namedat","jmin","jmax",NULL};
1321,1324c1157,1160
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.loadbuf_",\
< capi_kwlist,&namedat_capi,&jmin_capi,&jmax_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.loadbuf_",\
> capi_kwlist,&namedat_capi,&jmin_capi,&jmax_capi))
> return NULL;
1365c1201
< if (f2py_success) {
---
> if (f2py_success) {
1368,1369c1204,1205
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("Nyi",capi_datbuf_tmp,datlabel,ierr);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("Nyi",capi_datbuf_tmp,datlabel,ierr);
1372c1208
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1388c1224
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1390c1226
< } else {
---
> } else {
1392,1393c1228,1229
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1398c1234
< return capi_buildvalue;
---
> return capi_buildvalue;
1404c1240
< pyexit(foo,endkepler,[endkepler_extra_args])\n\nWrapper for ``pyexit``.\
---
> pyexit(code,endkepler,[endkepler_extra_args])\n\nWrapper for ``pyexit``.\
1406c1242
< "foo : input int\n"
---
> "code : input int\n"
1411c1247
< " def endkepler(foo): return \n\
---
> " def endkepler(code): return \n\
1413c1249
< " foo : input int";
---
> " code : input int";
1419,1420c1255,1256
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1423,1428c1259,1265
< int foo = 0;
< PyObject *foo_capi = Py_None;
< cb_endkepler_in_pyexit__user__routines_t endkepler_cb = { Py_None, NULL, 0 };
< cb_endkepler_in_pyexit__user__routines_t *endkepler_cb_ptr = &endkepler_cb;
< PyTupleObject *endkepler_xa_capi = NULL;
< static char *capi_kwlist[] = {"foo","endkepler","endkepler_extra_args",NULL};
---
> int code = 0;
> PyObject *code_capi = Py_None;
> PyObject *endkepler_capi = Py_None;
> PyTupleObject *endkepler_xa_capi = NULL;
> PyTupleObject *endkepler_args_capi = NULL;
> int endkepler_nofargs_capi = 0;
> static char *capi_kwlist[] = {"code","endkepler","endkepler_extra_args",NULL};
1434,1437c1271,1274
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OO|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyexit",\
< capi_kwlist,&foo_capi,&endkepler_cb.capi,&PyTuple_Type,&endkepler_xa_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OO|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyexit",\
> capi_kwlist,&code_capi,&endkepler_capi,&PyTuple_Type,&endkepler_xa_capi))
> return NULL;
1439,1440c1276,1277
< /* Processing variable foo */
< f2py_success = int_from_pyobj(&foo,foo_capi,"_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyexit() 1st argument (foo) can't be converted to int");
---
> /* Processing variable code */
> f2py_success = int_from_pyobj(&code,code_capi,"_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyexit() 1st argument (code) can't be converted to int");
1443,1445c1280,1282
< if (endkepler_cb.capi==Py_None) {
< endkepler_cb.capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler");
< if (endkepler_cb.capi) {
---
> if (endkepler_capi==Py_None) {
> endkepler_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"endkepler");
> if (endkepler_capi) {
1463c1300
< if (endkepler_cb.capi==NULL) {
---
> if (endkepler_capi==NULL) {
1469,1472c1306,1312
< if (create_cb_arglist(endkepler_cb.capi,endkepler_xa_capi,1,0,&endkepler_cb.nofargs,&endkepler_cb.args_capi,"failed in processing argument list for call-back endkepler.")) {
<
< CFUNCSMESS("Saving callback variables for `endkepler`.\n");
< endkepler_cb_ptr = swap_active_cb_endkepler_in_pyexit__user__routines(endkepler_cb_ptr);
---
> endkepler_nofargs_capi = cb_endkepler_in_pyexit__user__routines_nofargs;
> if (create_cb_arglist(endkepler_capi,endkepler_xa_capi,1,0,&cb_endkepler_in_pyexit__user__routines_nofargs,&endkepler_args_capi,"failed in processing argument list for call-back endkepler.")) {
> jmp_buf endkepler_jmpbuf;
> CFUNCSMESS("Saving jmpbuf for `endkepler`.\n");
> SWAP(endkepler_capi,cb_endkepler_in_pyexit__user__routines_capi,PyObject);
> SWAP(endkepler_args_capi,cb_endkepler_in_pyexit__user__routines_args_capi,PyTupleObject);
> memcpy(&endkepler_jmpbuf,&cb_endkepler_in_pyexit__user__routines_jmpbuf,sizeof(jmp_buf));
1478c1318
< if ((setjmp(endkepler_cb.jmpbuf))) {
---
> if ((setjmp(cb_endkepler_in_pyexit__user__routines_jmpbuf))) {
1481c1321
< (*f2py_func)(&foo);
---
> (*f2py_func)(&code);
1489c1329
< if (f2py_success) {
---
> if (f2py_success) {
1492,1493c1332,1333
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1496c1336
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1498,1501c1338,1344
< CFUNCSMESS("Restoring callback variables for `endkepler`.\n");
< endkepler_cb_ptr = swap_active_cb_endkepler_in_pyexit__user__routines(endkepler_cb_ptr);
< Py_DECREF(endkepler_cb.args_capi);
< }
---
> CFUNCSMESS("Restoring jmpbuf for `endkepler`.\n");
> cb_endkepler_in_pyexit__user__routines_capi = endkepler_capi;
> Py_DECREF(cb_endkepler_in_pyexit__user__routines_args_capi);
> cb_endkepler_in_pyexit__user__routines_args_capi = endkepler_args_capi;
> cb_endkepler_in_pyexit__user__routines_nofargs = endkepler_nofargs_capi;
> memcpy(&cb_endkepler_in_pyexit__user__routines_jmpbuf,&endkepler_jmpbuf,sizeof(jmp_buf));
> }
1503,1504c1346,1347
< } /*if (f2py_success) of foo*/
< /* End of cleaning variable foo */
---
> } /*if (f2py_success) of code*/
> /* End of cleaning variable code */
1506c1349
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1508c1351
< } else {
---
> } else {
1510,1511c1353,1354
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1516c1359
< return capi_buildvalue;
---
> return capi_buildvalue;
1535,1536c1378,1379
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1539,1542c1382,1386
< cb_plotkepler_in_pyplot__user__routines_t plotkepler_cb = { Py_None, NULL, 0 };
< cb_plotkepler_in_pyplot__user__routines_t *plotkepler_cb_ptr = &plotkepler_cb;
< PyTupleObject *plotkepler_xa_capi = NULL;
< static char *capi_kwlist[] = {"plotkepler","plotkepler_extra_args",NULL};
---
> PyObject *plotkepler_capi = Py_None;
> PyTupleObject *plotkepler_xa_capi = NULL;
> PyTupleObject *plotkepler_args_capi = NULL;
> int plotkepler_nofargs_capi = 0;
> static char *capi_kwlist[] = {"plotkepler","plotkepler_extra_args",NULL};
1548,1551c1392,1395
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "O|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyplot",\
< capi_kwlist,&plotkepler_cb.capi,&PyTuple_Type,&plotkepler_xa_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "O|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pyplot",\
> capi_kwlist,&plotkepler_capi,&PyTuple_Type,&plotkepler_xa_capi))
> return NULL;
1554,1556c1398,1400
< if (plotkepler_cb.capi==Py_None) {
< plotkepler_cb.capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler");
< if (plotkepler_cb.capi) {
---
> if (plotkepler_capi==Py_None) {
> plotkepler_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"plotkepler");
> if (plotkepler_capi) {
1574c1418
< if (plotkepler_cb.capi==NULL) {
---
> if (plotkepler_capi==NULL) {
1580,1583c1424,1430
< if (create_cb_arglist(plotkepler_cb.capi,plotkepler_xa_capi,0,0,&plotkepler_cb.nofargs,&plotkepler_cb.args_capi,"failed in processing argument list for call-back plotkepler.")) {
<
< CFUNCSMESS("Saving callback variables for `plotkepler`.\n");
< plotkepler_cb_ptr = swap_active_cb_plotkepler_in_pyplot__user__routines(plotkepler_cb_ptr);
---
> plotkepler_nofargs_capi = cb_plotkepler_in_pyplot__user__routines_nofargs;
> if (create_cb_arglist(plotkepler_capi,plotkepler_xa_capi,0,0,&cb_plotkepler_in_pyplot__user__routines_nofargs,&plotkepler_args_capi,"failed in processing argument list for call-back plotkepler.")) {
> jmp_buf plotkepler_jmpbuf;
> CFUNCSMESS("Saving jmpbuf for `plotkepler`.\n");
> SWAP(plotkepler_capi,cb_plotkepler_in_pyplot__user__routines_capi,PyObject);
> SWAP(plotkepler_args_capi,cb_plotkepler_in_pyplot__user__routines_args_capi,PyTupleObject);
> memcpy(&plotkepler_jmpbuf,&cb_plotkepler_in_pyplot__user__routines_jmpbuf,sizeof(jmp_buf));
1589c1436
< if ((setjmp(plotkepler_cb.jmpbuf))) {
---
> if ((setjmp(cb_plotkepler_in_pyplot__user__routines_jmpbuf))) {
1600c1447
< if (f2py_success) {
---
> if (f2py_success) {
1603,1604c1450,1451
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("");
1607c1454
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1609,1612c1456,1462
< CFUNCSMESS("Restoring callback variables for `plotkepler`.\n");
< plotkepler_cb_ptr = swap_active_cb_plotkepler_in_pyplot__user__routines(plotkepler_cb_ptr);
< Py_DECREF(plotkepler_cb.args_capi);
< }
---
> CFUNCSMESS("Restoring jmpbuf for `plotkepler`.\n");
> cb_plotkepler_in_pyplot__user__routines_capi = plotkepler_capi;
> Py_DECREF(cb_plotkepler_in_pyplot__user__routines_args_capi);
> cb_plotkepler_in_pyplot__user__routines_args_capi = plotkepler_args_capi;
> cb_plotkepler_in_pyplot__user__routines_nofargs = plotkepler_nofargs_capi;
> memcpy(&cb_plotkepler_in_pyplot__user__routines_jmpbuf,&plotkepler_jmpbuf,sizeof(jmp_buf));
> }
1615c1465
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1617c1467
< } else {
---
> } else {
1619,1620c1469,1470
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1625c1475
< return capi_buildvalue;
---
> return capi_buildvalue;
1631c1481
< pygets(ttymsg,ttykepler,[ttykepler_extra_args])\n\nWrapper for ``pygets``.\
---
> ttymsg = pygets(ttykepler,[ttykepler_extra_args])\n\nWrapper for ``pygets``.\
1633d1482
< "ttymsg : in/output rank-0 array(string(len=-1),'c')\n"
1636a1486,1487
> "\nReturns\n-------\n"
> "ttymsg : string(len=-1)\n"
1646,1647c1497,1498
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1653,1656c1504,1508
< cb_ttykepler_in_pygets__user__routines_t ttykepler_cb = { Py_None, NULL, 0 };
< cb_ttykepler_in_pygets__user__routines_t *ttykepler_cb_ptr = &ttykepler_cb;
< PyTupleObject *ttykepler_xa_capi = NULL;
< static char *capi_kwlist[] = {"ttymsg","ttykepler","ttykepler_extra_args",NULL};
---
> PyObject *ttykepler_capi = Py_None;
> PyTupleObject *ttykepler_xa_capi = NULL;
> PyTupleObject *ttykepler_args_capi = NULL;
> int ttykepler_nofargs_capi = 0;
> static char *capi_kwlist[] = {"ttykepler","ttykepler_extra_args",NULL};
1662,1665c1514,1517
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OO|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pygets",\
< capi_kwlist,&ttymsg_capi,&ttykepler_cb.capi,&PyTuple_Type,&ttykepler_xa_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "O|O!:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pygets",\
> capi_kwlist,&ttykepler_capi,&PyTuple_Type,&ttykepler_xa_capi))
> return NULL;
1669c1521
< f2py_success = string_from_pyobj(&ttymsg,&slen(ttymsg),"",ttymsg_capi,"string_from_pyobj failed in converting 1st argument `ttymsg' of _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pygets to C string");
---
> f2py_success = string_from_pyobj(&ttymsg,&slen(ttymsg),"",ttymsg_capi,"string_from_pyobj failed in converting hidden `ttymsg' of _kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.pygets to C string");
1672,1674c1524,1526
< if (ttykepler_cb.capi==Py_None) {
< ttykepler_cb.capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler");
< if (ttykepler_cb.capi) {
---
> if (ttykepler_capi==Py_None) {
> ttykepler_capi = PyObject_GetAttrString(_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_module,"ttykepler");
> if (ttykepler_capi) {
1692c1544
< if (ttykepler_cb.capi==NULL) {
---
> if (ttykepler_capi==NULL) {
1698,1701c1550,1556
< if (create_cb_arglist(ttykepler_cb.capi,ttykepler_xa_capi,1,0,&ttykepler_cb.nofargs,&ttykepler_cb.args_capi,"failed in processing argument list for call-back ttykepler.")) {
<
< CFUNCSMESS("Saving callback variables for `ttykepler`.\n");
< ttykepler_cb_ptr = swap_active_cb_ttykepler_in_pygets__user__routines(ttykepler_cb_ptr);
---
> ttykepler_nofargs_capi = cb_ttykepler_in_pygets__user__routines_nofargs;
> if (create_cb_arglist(ttykepler_capi,ttykepler_xa_capi,1,0,&cb_ttykepler_in_pygets__user__routines_nofargs,&ttykepler_args_capi,"failed in processing argument list for call-back ttykepler.")) {
> jmp_buf ttykepler_jmpbuf;
> CFUNCSMESS("Saving jmpbuf for `ttykepler`.\n");
> SWAP(ttykepler_capi,cb_ttykepler_in_pygets__user__routines_capi,PyObject);
> SWAP(ttykepler_args_capi,cb_ttykepler_in_pygets__user__routines_args_capi,PyTupleObject);
> memcpy(&ttykepler_jmpbuf,&cb_ttykepler_in_pygets__user__routines_jmpbuf,sizeof(jmp_buf));
1707c1562
< if ((setjmp(ttykepler_cb.jmpbuf))) {
---
> if ((setjmp(cb_ttykepler_in_pygets__user__routines_jmpbuf))) {
1718c1573
< if (f2py_success) {
---
> if (f2py_success) {
1720,1721d1574
< f2py_success = try_pyarr_from_string(ttymsg_capi,ttymsg);
< if (f2py_success) {
1723,1724c1576,1577
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("");
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("y",ttymsg);
1726d1578
< } /*if (f2py_success) of ttymsg pyobjfrom*/
1728c1580
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1730,1733c1582,1588
< CFUNCSMESS("Restoring callback variables for `ttykepler`.\n");
< ttykepler_cb_ptr = swap_active_cb_ttykepler_in_pygets__user__routines(ttykepler_cb_ptr);
< Py_DECREF(ttykepler_cb.args_capi);
< }
---
> CFUNCSMESS("Restoring jmpbuf for `ttykepler`.\n");
> cb_ttykepler_in_pygets__user__routines_capi = ttykepler_capi;
> Py_DECREF(cb_ttykepler_in_pygets__user__routines_args_capi);
> cb_ttykepler_in_pygets__user__routines_args_capi = ttykepler_args_capi;
> cb_ttykepler_in_pygets__user__routines_nofargs = ttykepler_nofargs_capi;
> memcpy(&cb_ttykepler_in_pygets__user__routines_jmpbuf,&ttykepler_jmpbuf,sizeof(jmp_buf));
> }
1739c1594
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1741c1596
< } else {
---
> } else {
1743,1744c1598,1599
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1749c1604
< return capi_buildvalue;
---
> return capi_buildvalue;
1766,1767c1621,1622
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1779c1634
< static char *capi_kwlist[] = {"jmin","jmax",NULL};
---
> static char *capi_kwlist[] = {"jmin","jmax",NULL};
1785,1788c1640,1643
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getentropies_",\
< capi_kwlist,&jmin_capi,&jmax_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getentropies_",\
> capi_kwlist,&jmin_capi,&jmax_capi))
> return NULL;
1820c1675
< if (f2py_success) {
---
> if (f2py_success) {
1823,1824c1678,1679
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("N",capi_datbuf_tmp);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("N",capi_datbuf_tmp);
1827c1682
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
1836c1691
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
1838c1693
< } else {
---
> } else {
1840,1841c1695,1696
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
1846c1701
< return capi_buildvalue;
---
> return capi_buildvalue;
1867,1868c1722,1723
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
1903c1758
< static char *capi_kwlist[] = {"jzone","tem","den","dt","idata","flags",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den","dt","idata","flags",NULL};
1909,1912c1764,1767
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eosedit_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dt_capi,&idata_capi,&flags_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eosedit_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dt_capi,&idata_capi,&flags_capi))
> return NULL;
1989c1844
< if (f2py_success) {
---
> if (f2py_success) {
1992,1993c1847,1848
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("N",capi_data_tmp);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("N",capi_data_tmp);
1996c1851
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2022c1877
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2024c1879
< } else {
---
> } else {
2026,2027c1881,1882
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2032c1887
< return capi_buildvalue;
---
> return capi_buildvalue;
2065,2066c1920,1921
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
2093c1948
< static char *capi_kwlist[] = {"jzone","tem","den","dt","flags",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den","dt","flags",NULL};
2099,2102c1954,1957
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eos_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dt_capi,&flags_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eos_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dt_capi,&flags_capi))
> return NULL;
2145c2000
< if (f2py_success) {
---
> if (f2py_success) {
2148,2149c2003,2004
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("dddddddddddddd",ptot,etot,sig,pt,pd,et,ed,xk,xkt,xkd,xs,xst,xsd,dxmax);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("dddddddddddddd",ptot,etot,sig,pt,pd,et,ed,xk,xkt,xkd,xs,xst,xsd,dxmax);
2152c2007
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2179c2034
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2181c2036
< } else {
---
> } else {
2183,2184c2038,2039
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2189c2044
< return capi_buildvalue;
---
> return capi_buildvalue;
2212,2213c2067,2068
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
2229c2084
< static char *capi_kwlist[] = {"jzone","tem","den","dtup","flags",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den","dtup","flags",NULL};
2235,2238c2090,2093
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOOO|O:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.burnzone_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dtup_capi,&flags_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOOO|O:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.burnzone_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dtup_capi,&flags_capi))
> return NULL;
2271c2126
< if (f2py_success) {
---
> if (f2py_success) {
2274,2275c2129,2130
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("ddd",xs,xnu,dxmax);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("ddd",xs,xnu,dxmax);
2278c2133
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2294c2149
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2296c2151
< } else {
---
> } else {
2298,2299c2153,2154
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2304c2159
< return capi_buildvalue;
---
> return capi_buildvalue;
2336,2337c2191,2192
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
2363c2218
< static char *capi_kwlist[] = {"jzone","tem","den","dtup","flags",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den","dtup","flags",NULL};
2369,2372c2224,2227
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eosburn_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dtup_capi,&flags_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOOOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.eosburn_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi,&dtup_capi,&flags_capi))
> return NULL;
2414c2269
< if (f2py_success) {
---
> if (f2py_success) {
2417,2418c2272,2273
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("ddddddddddddd",ptot,etot,sig,pt,pd,et,ed,xk,xkt,xkd,xs,xnu,dxmax);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("ddddddddddddd",ptot,etot,sig,pt,pd,et,ed,xk,xkt,xkd,xs,xnu,dxmax);
2421c2276
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2447c2302
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2449c2304
< } else {
---
> } else {
2451,2452c2306,2307
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2457c2312
< return capi_buildvalue;
---
> return capi_buildvalue;
2483,2484c2338,2339
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
2502c2357
< static char *capi_kwlist[] = {"jzone","tem","den",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den",NULL};
2508,2511c2363,2366
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getesk_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getesk_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi))
> return NULL;
2543c2398
< if (f2py_success) {
---
> if (f2py_success) {
2546,2547c2401,2402
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("ddddddddd",p,e,pt,pd,et,ed,xk,xkt,xkd);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("ddddddddd",p,e,pt,pd,et,ed,xk,xkt,xkd);
2550c2405
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2568c2423
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2570c2425
< } else {
---
> } else {
2572,2573c2427,2428
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2578c2433
< return capi_buildvalue;
---
> return capi_buildvalue;
2601,2602c2456,2457
< PyObject * volatile capi_buildvalue = NULL;
< volatile int f2py_success = 1;
---
> PyObject * volatile capi_buildvalue = NULL;
> volatile int f2py_success = 1;
2617c2472
< static char *capi_kwlist[] = {"jzone","tem","den",NULL};
---
> static char *capi_kwlist[] = {"jzone","tem","den",NULL};
2623,2626c2478,2481
< if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
< "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getes_",\
< capi_kwlist,&jzone_capi,&tem_capi,&den_capi))
< return NULL;
---
> if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
> "OOO|:_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz.getes_",\
> capi_kwlist,&jzone_capi,&tem_capi,&den_capi))
> return NULL;
2655c2510
< if (f2py_success) {
---
> if (f2py_success) {
2658,2659c2513,2514
< CFUNCSMESS("Building return value.\n");
< capi_buildvalue = Py_BuildValue("dddddd",p,e,pt,pd,et,ed);
---
> CFUNCSMESS("Building return value.\n");
> capi_buildvalue = Py_BuildValue("dddddd",p,e,pt,pd,et,ed);
2662c2517
< } /*if (f2py_success) after callfortranroutine*/
---
> } /*if (f2py_success) after callfortranroutine*/
2677c2532
< if (capi_buildvalue == NULL) {
---
> if (capi_buildvalue == NULL) {
2679c2534
< } else {
---
> } else {
2681,2682c2536,2537
< }
< CFUNCSMESS("Freeing memory.\n");
---
> }
> CFUNCSMESS("Freeing memory.\n");
2687c2542
< return capi_buildvalue;
---
> return capi_buildvalue;
5540c5395
< s = PyUnicode_FromString("1.21.0.dev0+655.g2f466b318");
---
> s = PyString_FromString("$Revision: $");
5544c5399
< "This module '_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz' is auto-generated with f2py (version:1.21.0.dev0+655.g2f466b318).\nFunctions:\n"
---
> "This module '_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz' is auto-generated with f2py (version:2).\nFunctions:\n"
5550c5405
< " pyexit(foo,endkepler,endkepler_extra_args=())\n"
---
> " pyexit(code,endkepler,endkepler_extra_args=())\n"
5552c5407
< " pygets(ttymsg,ttykepler,ttykepler_extra_args=())\n"
---
> " ttymsg = pygets(ttykepler,ttykepler_extra_args=())\n"
5562,5564d5416
< Py_DECREF(s);
< s = PyUnicode_FromString("1.21.0.dev0+655.g2f466b318");
< PyDict_SetItemString(d, "__f2py_numpy_version__", s);
I also attach the files.
Error message:
When now from within the Fortran code pyexit
is called, a segmentation fault results. I have tried for callbacks that are not methods, and for those w/o parameter - but it always causes a segmentation fault.
Segmentation fault (core dumped)
the full backtrace is
Program terminated with signal SIGSEGV, Segmentation fault.
#0 endkepler_ (code_cb_capi=0x7f352652fd38)
at /home/alex/python/source/kepler/code/_kepler_build/src.linux-x86_64-3.9/_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHzmodule.c:543
543 capi_arglist = cb->args_capi;
[Current thread is 1 (Thread 0x7f35c1e56740 (LWP 1089561))]
Missing separate debuginfos, use: dnf debuginfo-install systemd-libs-246.7-2.fc33.x86_64
(gdb) bt
#0 endkepler_ (code_cb_capi=0x7f352652fd38)
at /home/alex/python/source/kepler/code/_kepler_build/src.linux-x86_64-3.9/_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHzmodule.c:543
#1 0x00007f3526368740 in f2py_rout__kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHz_terminate_ (capi_self=<optimized out>, capi_args=<optimized out>, capi_keywds=<optimized out>, f2py_func=0x7f352636e670 <terminate_>)
at /home/alex/python/source/kepler/code/_kepler_build/src.linux-x86_64-3.9/_kepler_NBURN_8192_JMZ_1983_FULDAT_fuldat1_f_CPU_Intel_R_Xeon_R_W_2145_CPU_3_70GHzmodule.c:1234
#2 0x00007f35c22ae6e0 in _PyObject_MakeTpCall (tstate=0x1df11d0, callable=0x7f35a1086ae0, args=<optimized out>,
nargs=<optimized out>, keywords=0x0) at Objects/call.c:191
#3 0x00007f35c226ce53 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775809, args=0x26ae4c8,
callable=0x7f35a1086ae0, tstate=<optimized out>) at ./Include/cpython/abstract.h:116
#4 _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775809, args=0x26ae4c8, callable=0x7f35a1086ae0,
tstate=<optimized out>) at ./Include/cpython/abstract.h:103
#5 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775809, args=0x26ae4c8, callable=0x7f35a1086ae0)
at ./Include/cpython/abstract.h:127
#6 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#7 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3487
#8 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x26ae340, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#9 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x7f35a0fb73b8, kwcount=0, kwstep=1, defs=0x7f359a908dd8,
defcount=1, kwdefs=0x0, closure=0x0, name=0x7f35b4354230, qualname=0x7f359a904cb0) at Python/ceval.c:4327
#10 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#11 0x00007f35c22b14e8 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=1, args=0x7f35a0fb73b0, callable=0x7f35a101ed30,
tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#12 method_vectorcall (method=<optimized out>, args=0x7f35a0fb73b8, nargsf=<optimized out>, kwnames=0x0)
at Objects/classobject.c:53
#13 0x00007f35c226c5f1 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7f35a0fb73b8,
callable=0x7f35a07c0100, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#14 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7f35a0fb73b8, callable=0x7f35a07c0100)
at ./Include/cpython/abstract.h:127
#15 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#16 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3487
#17 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x7f35a0fb7240, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#18 _PyEval_EvalCode (tstate=0x1df11d0, _co=_co@entry=0x7f35a10263a0, globals=globals@entry=0x7f35b2cd5700,
locals=locals@entry=0x7f35b2cd5700, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=0x0, kwargs=0x0, kwcount=0,
kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:4327
#19 0x00007f35c23921fe in _PyEval_EvalCodeWithName (_co=_co@entry=0x7f35a10263a0, globals=globals@entry=0x7f35b2cd5700,
locals=locals@entry=0x7f35b2cd5700, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x0,
kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:4359
#20 0x00007f35c239224e in PyEval_EvalCodeEx (_co=_co@entry=0x7f35a10263a0, globals=globals@entry=0x7f35b2cd5700,
locals=locals@entry=0x7f35b2cd5700, args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=0,
defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:4375
#21 0x00007f35c239227b in PyEval_EvalCode (co=co@entry=0x7f35a10263a0, globals=globals@entry=0x7f35b2cd5700,
locals=locals@entry=0x7f35b2cd5700) at Python/ceval.c:826
#22 0x00007f35c238cec1 in builtin_exec_impl (module=<optimized out>, locals=0x7f35b2cd5700, globals=0x7f35b2cd5700,
source=0x7f35a10263a0) at Python/bltinmodule.c:1035
#23 builtin_exec (module=<optimized out>, args=0x33e9948, nargs=<optimized out>) at Python/clinic/bltinmodule.c.h:396
#24 0x00007f35c22f5434 in cfunction_vectorcall_FASTCALL (func=0x7f35b48b6db0, args=0x33e9948, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/methodobject.c:426
#25 0x00007f35c226b033 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x33e9948,
callable=0x7f35b48b6db0, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#26 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x33e9948, callable=0x7f35b48b6db0)
at ./Include/cpython/abstract.h:127
#27 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#28 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3518
#29 0x00007f35c22c28cf in _PyEval_EvalFrame (throwflag=0, f=0x33e9770, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#30 gen_send_ex (gen=0x7f35a2ec1240, arg=<optimized out>, exc=0, closing=<optimized out>) at Objects/genobject.c:215
#31 0x00007f35c226afd8 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>)
at Python/ceval.c:2200
#32 0x00007f35c22c28cf in _PyEval_EvalFrame (throwflag=0, f=0x2b6dea0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#33 gen_send_ex (gen=0x7f35ab179bc0, arg=<optimized out>, exc=0, closing=<optimized out>) at Objects/genobject.c:215
#34 0x00007f35c226afd8 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>)
at Python/ceval.c:2200
#35 0x00007f35c22c28cf in _PyEval_EvalFrame (throwflag=0, f=0x2ad88e0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#36 gen_send_ex (gen=0x7f35b241f8c0, arg=<optimized out>, exc=0, closing=<optimized out>) at Objects/genobject.c:215
#37 0x00007f35c22b7eb2 in method_vectorcall_O (func=0x7f35b49174f0, args=0x7f35b2431b20, nargsf=<optimized out>, kwnames=0x0)
at Objects/descrobject.c:462
#38 0x00007f35c226c52c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7f35b2431b20,
callable=0x7f35b49174f0, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#39 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7f35b2431b20, callable=0x7f35b49174f0)
at ./Include/cpython/abstract.h:127
#40 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#41 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3504
#42 0x00007f35c2264c1b in _PyEval_EvalFrame (throwflag=0, f=0x7f35b24319a0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#43 function_code_fastcall (tstate=0x1df11d0, co=<optimized out>, args=<optimized out>, nargs=1, globals=<optimized out>)
at Objects/call.c:329
#44 0x00007f35c226b033 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x2b5a070,
callable=0x7f35b38c6dc0, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#45 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x2b5a070, callable=0x7f35b38c6dc0)
at ./Include/cpython/abstract.h:127
#46 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#47 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3518
#48 0x00007f35c2264c1b in _PyEval_EvalFrame (throwflag=0, f=0x2b59ea0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#49 function_code_fastcall (tstate=0x1df11d0, co=<optimized out>, args=<optimized out>, nargs=5, globals=<optimized out>)
at Objects/call.c:329
#50 0x00007f35c226c52c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x2b65ee0,
callable=0x7f35b38de790, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#51 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x2b65ee0, callable=0x7f35b38de790)
at ./Include/cpython/abstract.h:127
#52 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#53 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3504
#54 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x2b65d40, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
--Type <RET> for more, q to quit, c to continue without paging--bt5~
#55 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=2, kwnames=0x7f35b3b9db38, kwargs=0x7f35a2c023b0, kwcount=1, kwstep=1, defs=0x7f35b3bce358,
defcount=3, kwdefs=0x0, closure=0x0, name=0x7f35b3bc4630, qualname=0x7f35b3bc3a80) at Python/ceval.c:4327
#56 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#57 0x00007f35c22b14e8 in _PyObject_VectorcallTstate (kwnames=0x7f35b3b9db20, nargsf=2, args=0x7f35a2c023a0,
callable=0x7f35b38de700, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#58 method_vectorcall (method=<optimized out>, args=0x7f35a2c023a8, nargsf=<optimized out>, kwnames=0x7f35b3b9db20)
at Objects/classobject.c:53
#59 0x00007f35c226b135 in _PyObject_VectorcallTstate (kwnames=0x7f35b3b9db20, nargsf=<optimized out>, args=<optimized out>,
callable=0x7f35aaf20580, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#60 PyObject_Vectorcall (kwnames=0x7f35b3b9db20, nargsf=<optimized out>, args=<optimized out>, callable=0x7f35aaf20580)
at ./Include/cpython/abstract.h:127
#61 call_function (kwnames=0x7f35b3b9db20, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0)
at Python/ceval.c:5072
#62 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3535
#63 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x7f35a2c02220, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#64 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x7f35a8317f60, kwcount=0, kwstep=1, defs=0x7f35b2e76cb8,
defcount=1, kwdefs=0x0, closure=0x0, name=0x7f35b42ae2b0, qualname=0x7f35b38ed210) at Python/ceval.c:4327
#65 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#66 0x00007f35c226c52c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7f35a8317f58,
callable=0x7f35b2e7cdc0, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#67 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7f35a8317f58, callable=0x7f35b2e7cdc0)
at ./Include/cpython/abstract.h:127
#68 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#69 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3504
#70 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x7f35a8317dd0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#71 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x7f35b2d593c0, kwcount=0, kwstep=1, defs=0x7f35b2e76ce8,
defcount=1, kwdefs=0x0, closure=0x0, name=0x7f35b41713f0, qualname=0x7f35b38ed2d0) at Python/ceval.c:4327
#72 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#73 0x00007f35c226c52c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7f35b2d593b8,
callable=0x7f35b2e7ce50, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#74 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7f35b2d593b8, callable=0x7f35b2e7ce50)
at ./Include/cpython/abstract.h:127
#75 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#76 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3504
#77 0x00007f35c2264c1b in _PyEval_EvalFrame (throwflag=0, f=0x7f35b2d59240, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#78 function_code_fastcall (tstate=0x1df11d0, co=<optimized out>, args=<optimized out>, nargs=1, globals=<optimized out>)
at Objects/call.c:329
#79 0x00007f35c226c52c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x2358b70,
callable=0x7f35b2d23e50, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#80 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x2358b70, callable=0x7f35b2d23e50)
at ./Include/cpython/abstract.h:127
#81 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#82 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3504
#83 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x23589e0, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#84 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=1, kwnames=0x7f35b48bc508, kwargs=0x7f35b2d040c8, kwcount=1, kwstep=1, defs=0x7f35b4406748,
defcount=1, kwdefs=0x0, closure=0x0, name=0x7f35b4409270, qualname=0x7f35b4407d00) at Python/ceval.c:4327
#85 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#86 0x00007f35c22b14e8 in _PyObject_VectorcallTstate (kwnames=0x7f35b48bc4f0, nargsf=1, args=0x7f35b2d040c0,
callable=0x7f35b42fdf70, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#87 method_vectorcall (method=<optimized out>, args=0x7f35b2d040c8, nargsf=<optimized out>, kwnames=0x7f35b48bc4f0)
at Objects/classobject.c:53
#88 0x00007f35c22ae170 in PyVectorcall_Call (callable=0x7f35b2d2bf40, tuple=<optimized out>, kwargs=<optimized out>)
at Objects/call.c:242
#89 0x00007f35c2269add in do_call_core (kwdict=0x7f35b46a9b40, callargs=0x7f35b48ea040, func=0x7f35b2d2bf40, tstate=0x1df11d0)
at Python/ceval.c:5120
#90 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3580
#91 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x2450350, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#92 _PyEval_EvalCode (tstate=tstate@entry=0x1df11d0, _co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0,
args=<optimized out>, argcount=0, kwnames=0x0, kwargs=0x1e4f990, kwcount=0, kwstep=1, defs=0x7f35b4795d48, defcount=1,
kwdefs=0x0, closure=0x0, name=0x7f35b485dc70, qualname=0x7f35b485dc70) at Python/ceval.c:4327
#93 0x00007f35c22ae43d in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
kwnames=<optimized out>) at Objects/call.c:395
#94 0x00007f35c226b033 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x1e4f990,
callable=0x7f35b2cafaf0, tstate=0x1df11d0) at ./Include/cpython/abstract.h:118
#95 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x1e4f990, callable=0x7f35b2cafaf0)
at ./Include/cpython/abstract.h:127
#96 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x1df11d0) at Python/ceval.c:5072
#97 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3518
#98 0x00007f35c2391eac in _PyEval_EvalFrame (throwflag=0, f=0x1e4f810, tstate=0x1df11d0)
at ./Include/internal/pycore_ceval.h:40
#99 _PyEval_EvalCode (tstate=0x1df11d0, _co=_co@entry=0x7f35b47e69d0, globals=globals@entry=0x7f35b485da80,
locals=locals@entry=0x7f35b485da80, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=0x0, kwargs=0x0, kwcount=0,
kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:4327
#100 0x00007f35c23921fe in _PyEval_EvalCodeWithName (_co=_co@entry=0x7f35b47e69d0, globals=globals@entry=0x7f35b485da80,
locals=locals@entry=0x7f35b485da80, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x0,
kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:4359
#101 0x00007f35c239224e in PyEval_EvalCodeEx (_co=_co@entry=0x7f35b47e69d0, globals=globals@entry=0x7f35b485da80,
locals=locals@entry=0x7f35b485da80, args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=0,
defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:4375
#102 0x00007f35c239227b in PyEval_EvalCode (co=co@entry=0x7f35b47e69d0, globals=globals@entry=0x7f35b485da80,
locals=locals@entry=0x7f35b485da80) at Python/ceval.c:826
#103 0x00007f35c23d2875 in run_eval_code_obj (locals=0x7f35b485da80, globals=0x7f35b485da80, co=0x7f35b47e69d0,
tstate=0x1df11d0) at Python/pythonrun.c:1178
#104 run_mod (mod=mod@entry=0x1eb63f8, filename=filename@entry=0x7f35b46a8e90, globals=globals@entry=0x7f35b485da80,
locals=locals@entry=0x7f35b485da80, flags=flags@entry=0x7ffcefc562e8, arena=arena@entry=0x7f35b4886f90)
at Python/pythonrun.c:1199
#105 0x00007f35c23d419a in PyRun_FileExFlags (fp=fp@entry=0x1dee690,
filename_str=filename_str@entry=0x7f35b47f0cd0 "/home/alex/Python/bin/ipython3", start=start@entry=257,
--Type <RET> for more, q to quit, c to continue without paging--
globals=globals@entry=0x7f35b485da80, locals=locals@entry=0x7f35b485da80, closeit=closeit@entry=1, flags=0x7ffcefc562e8)
at Python/pythonrun.c:1116
#106 0x00007f35c23d431b in PyRun_SimpleFileExFlags (fp=fp@entry=0x1dee690, filename=<optimized out>, closeit=closeit@entry=1,
flags=flags@entry=0x7ffcefc562e8) at Python/pythonrun.c:438
#107 0x00007f35c23d488c in PyRun_AnyFileExFlags (fp=fp@entry=0x1dee690, filename=<optimized out>, closeit=closeit@entry=1,
flags=flags@entry=0x7ffcefc562e8) at Python/pythonrun.c:87
#108 0x00007f35c23f12e8 in pymain_run_file (cf=0x7ffcefc562e8, config=0x1def5b0) at Modules/main.c:373
#109 pymain_run_python (exitcode=0x7ffcefc562e0) at Modules/main.c:598
#110 Py_RunMain () at Modules/main.c:677
#111 0x00007f35c23f1783 in pymain_main (args=0x7ffcefc563d0) at Modules/main.c:707
#112 Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:731
#113 0x00007f35c1e811e2 in __libc_start_main (main=0x401040 <main>, argc=2, argv=0x7ffcefc56528, init=<optimized out>,
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcefc56518) at ../csu/libc-start.c:314
#114 0x000000000040107e in _start ()
(gdb)
<!-- If you are reporting a segfault please include a GDB traceback, which you
can generate by following
https://github.com/numpy/numpy/blob/master/doc/source/dev/development_environment.rst#debugging -->
NumPy/Python version information:
The problem is present in 1.20+, but not in 1.19.5
1.21.0.dev0+655.g2f466b318 3.9.1 (default, Dec 16 2020, 01:02:01) [GCC 10.2.1 20201125 (Red Hat 10.2.1-9)]
Issue Analytics
- State:
- Created 3 years ago
- Comments:42 (42 by maintainers)
@2sn, please see https://github.com/numpy/numpy/issues/18385 for a more detailed description of the problem.
@2sn The PR https://github.com/numpy/numpy/pull/18375 should fix your use case. Can you verify?