[Cython] Bug report: lambda and numpy.vectorize segfaults

René Rex r.rex at tu-bs.de
Wed Mar 23 14:20:52 CET 2011


Hello

The attached code creates a segfault with Cython 0.14.1. A workaround
is to use a real function instead of lambda. Using the normal python
interpreter the same code works flawlessly.

Here are my build commands:

cython --embed vectorizeBug.pyx
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O0 -Wall -fPIC
-lpython2.6 -I/usr/include/python2.6 -o vectorizeBug vectorizeBug.c

-- 
René Rex
TU Braunschweig
Bioinformatics & Biochemistry
Langer Kamp 19 b
38106 Braunschweig
Phone: +49-531-391-8315
-------------- next part --------------
(gdb) run
Starting program: /home/user/Desktop/vecBug/vectorizeBug 
[Thread debugging using libthread_db enabled]
[ 2.  2.  2.]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff797b208 in ?? () from /usr/lib/libpython2.6.so.1.0
(gdb) backtrace 
#0  0x00007ffff797b208 in ?? () from /usr/lib/libpython2.6.so.1.0
#1  0x00007ffff797b590 in PyNumber_Add () from /usr/lib/libpython2.6.so.1.0
#2  0x0000000000401eb5 in __pyx_lambda_funcdef12vectorizeBug_4main_lambda1 (__pyx_self=0x0, 
    __pyx_args=0x7ffff7f8f050, __pyx_kwds=0x0) at vectorizeBug.c:586
#3  0x00007ffff797abb3 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#4  0x00007ffff7a202a9 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
#5  0x00007ffff7a21468 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
#6  0x00007ffff7a228b0 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
#7  0x00007ffff79a8630 in ?? () from /usr/lib/libpython2.6.so.1.0
#8  0x00007ffff797abb3 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#9  0x00007ffff798c5bf in ?? () from /usr/lib/libpython2.6.so.1.0
#10 0x00007ffff797abb3 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#11 0x00007ffff79e1670 in ?? () from /usr/lib/libpython2.6.so.1.0
#12 0x00007ffff79d7958 in ?? () from /usr/lib/libpython2.6.so.1.0
#13 0x00007ffff797abb3 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#14 0x0000000000402535 in __pyx_pf_12vectorizeBug_1main (__pyx_self=0x0, unused=0x0)
    at vectorizeBug.c:689
#15 0x00007ffff797abb3 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#16 0x00000000004034ff in initvectorizeBug () at vectorizeBug.c:952
#17 0x0000000000403bc7 in main (argc=1, argv=0x7fffffffdfd8) at vectorizeBug.c:1149
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vectorizeBug.pyx
Type: application/octet-stream
Size: 451 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20110323/a716ea00/attachment.obj>


More information about the cython-devel mailing list