[Numpy-discussion] complex roots() segfault on Solaris 10/x86 with numpy 1.2.rc1 using python 2.5.2

Michael Abshoff michael.abshoff@googlemail....
Mon Sep 22 23:56:32 CDT 2008


Hi,

I have been having trouble with the following computation with numpy 
1.2.rc1:

Python 2.5.2 (r252:60911, Jul 14 2008, 15:20:38)
[GCC 4.2.4] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
 >>> from numpy import *
 >>> a = array([1,0,0,0,0,-1],dtype=complex)
array([ 1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j,  0.+0.j, -1.+0.j])
 >>> roots(a)
Segmentation Fault      (core dumped) python "$@"

This is python 2.5.2 build with gcc 4.2.4, numpy itself is build with 
"-O0", i.e. this is unlikely to be a compiler bug IMHO. This bug has 
been present in 1.0.4, 1.1.0 and it seems unfixed in 1.2.rc1. The numpy 
1.1 test suite passed with that install, I did not run the 1.2.rc1 one 
yet since I do not have nose installed.

gdb says nothing particularly helpful:

-bash-3.00$ gdb python
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.10"...
(gdb) r
Starting program: /home/mabshoff/sage-3.0.5-x86-solaris/local/bin/python
warning: rw_common (): unable to read at addr 0xd3f08
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Python 2.5.2 (r252:60911, Jul 14 2008, 15:20:38)
[GCC 4.2.4] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
 >>> from numpy import *
 >>> a = array([1,0,0,0,0,-1],dtype=complex)
 >>> a
array([ 1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j,  0.+0.j, -1.+0.j])
 >>> roots(a)

Program received signal SIGSEGV, Segmentation fault.
0xfed622b3 in csqrt () from /lib/libm.so.2
(gdb) bt
#0  0xfed622b3 in csqrt () from /lib/libm.so.2
#1  0xfe681d5a in ?? ()
#2  0x00000000 in ?? ()
(gdb) quit

Any pointers?

Cheers,

Michael



More information about the Numpy-discussion mailing list