10000 Segmentation fault in PyArray_Item_INCREF · Issue #7595 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content
Segmentation fault in PyArray_Item_INCREF  #7595
Closed
@goldonly

Description

@goldonly

I embed Python into cpp, and need to use numpy in the embeded python-shell. I get "Segmentation fault" while importing numpy in the second session with python-shell, and the first session with python-shell is ended by Ctrl-D. The following cpp code recall the "Segmentation fault" error.
Using Ubuntu 14.04.4 LTS(64 bit), Python3.4.3, gcc4.8.4, numpy1.11.0

//c_py.cpp
#include <stdio.h>
#include "Python.h"

void callpy(int argc, char**argv);

int main(int argc, char**argv)
{
    while(true)
    {
        callpy(argc,argv);
        printf("\nFinish one call. Do something else. Wait.\n");
        getchar();
    }
    return 0;
}

void callpy(int argc, char**argv)
{
    Py_Initialize();
    Py_Main(argc,(wchar_t**)argv);
    Py_Finalize();
}

I gdb it and got the following:

$ gdb ./c_py 

GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
This GDB was configured as "x86_64-linux-gnu".

(gdb) run
Starting program: ./c_py 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Python 3.4.3 (default, Oct 14 2015, 20:31:36) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> print(np.version.version)
1.11.0
>>> Ctr-D

Finish one call. Do something else. Wait.

Python 3.4.3 (default, Oct 14 2015, 20:31:36) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff55b5db8 in PyArray_Item_INCREF (
    data=data@entry=0x7ffff4b3f740 "\n", 
    descr=descr@entry=0x7ffff5839060 <OBJECT_Descr>)
    at numpy/core/src/multiarray/refcount.c:35
35          Py_XINCREF(temp);
(gdb) list
30      if (!PyDataType_REFCHK(descr)) {
31          return;
32      }
33      if (descr->type_num == NPY_OBJECT) {
34          NPY_COPY_PYOBJECT_PTR(&temp, data);
35          Py_XINCREF(temp);
36      }
37      else if (PyDataType_HASFIELDS(descr)) {
38          PyObject *key, *value, *title = NULL;
39          PyArray_Descr *new;
(gdb) bt
#0  0x00007ffff55b5db8 in PyArray_Item_INCREF (
    data=data@entry=0x7ffff4b3f740 "\n", 
    descr=descr@entry=0x7ffff5839060 <OBJECT_Descr>)
    at numpy/core/src/multiarray/refcount.c:35
#1  0x00007ffff55b8eeb in PyArray_FromScalar (scalar=<optimized out>, 
    outcode=outcode@entry=0x0) at numpy/core/src/multiarray/scalarapi.c:344
#2  0x00007ffff55ba2ac in gentype_nonzero_number (m1=<optimized out>)
    at numpy/core/src/multiarray/scalartypes.c.src:371
#3  0x00007ffff79e5507 in PyObject_IsTrue ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#4  0x00007ffff7894162 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#5  0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#6  0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#7  0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#8  0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#9  0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#10 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#11 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#12 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#13 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#14 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#15 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#16 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#17 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#18 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#19 0x00007ffff7984aec in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#20 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#21 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#22 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#23 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#24 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#25 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#26 0x00007ffff79f135d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#27 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#28 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#29 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#30 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#31 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#32 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#33 0x00007ffff78976fc in PyEval_EvalFrameEx ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#34 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#35 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#36 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#37 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#38 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#39 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#40 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#41 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#42 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#43 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#44 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#45 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#46 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#47 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#48 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#49 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-l
8130
inux-gnu/libpython3.4m.so.1.0
#50 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#51 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#52 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#53 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#54 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#55 0x00007ffff79f135d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#56 0x00007ffff7896feb in PyEval_EvalFrameEx ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#57 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#58 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#59 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#60 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#61 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#62 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#63 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#64 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#65 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#66 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#67 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#68 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#69 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#70 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#71 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#72 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#73 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#74 0x00007ffff79f135d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#75 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#76 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#77 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#78 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#79 0x00007ffff78976fc in PyEval_EvalFrameEx ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#80 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#81 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#82 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#83 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#84 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#85 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#86 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#87 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#88 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#89 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#90 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#91 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#92 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#93 0x00007ffff79f135d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#94 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#95 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#96 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#97 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#98 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#99 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#100 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#101 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#102 0x00007ffff79c87f6 in ?? ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#103 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#104 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#105 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#106 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#107 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#108 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#109 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#110 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#111 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#112 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#113 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#114 0x00007ffff7984aec in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#115 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#116 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#117 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#118 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#119 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#120 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#121 0x00007ffff79f135d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#122 0x00007ffff7896feb in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#123 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#124 0x00007ffff78971e2 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#125 0x00007ffff78976fc in PyEval_EvalFrameEx ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#126 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#127 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#128 0x00007ffff78976fc in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#129 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#130 0x00007ffff79c87f6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#131 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#132 0x00007ffff796f161 in _PyObject_CallMethodIdObjArgs ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#133 0x00007ffff7984c33 in PyImport_ImportModuleLevelObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#134 0x00007ffff78dd82f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#135 0x00007ffff78e2938 in PyObject_Call ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#136 0x00007ffff7986ba7 in PyEval_CallObjectWithKeywords ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
---Type <return> to continue, or q <return> to quit---
#137 0x00007ffff7894a41 in PyEval_EvalFrameEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#138 0x00007ffff79c81c6 in PyEval_EvalCodeEx ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#139 0x00007ffff79c895b in PyEval_EvalCode ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#140 0x00007ffff79f0123 in PyRun_InteractiveOneObject ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#141 0x00007ffff79f046e in PyRun_InteractiveLoopFlags ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#142 0x00007ffff79f0c7e in PyRun_AnyFileExFlags ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#143 0x00007ffff79f24ae in Py_Main ()
   from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#144 0x0000000000400983 in callpy (argc=1, argv=0x7fffffffdf28)
    at ./c_py.cpp:20
#145 0x000000000040094d in main (argc=1, argv=0x7fffffffdf28)
    at ./c_py.cpp:10

Is there something wrong with NPY_COPY_PYOBJECT_PTR?
NPY_COPY_PYOBJECT_PTR copy PyObject pointer from src to dst, so src and dst need to be pointer to PyObject pointer.
NPY_COPY_PYOBJECT_PTR is defined in npy_cpu.h
#define NPY_COPY_PYOBJECT_PTR(dst, src) memcpy(dst, src, sizeof(PyObject *))
but in
34 NPY_COPY_PYOBJECT_PTR(&temp, data);
data is char*. Perhaps data would be &data.
But I get some other Segmentation faults after modifying to NPY_COPY_PYOBJECT_PTR(&temp, &data);
well, deep segfault, deep night.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0