Segmentation faults using threads
Mathias
mathiasDOTfranzius at webDELETEME.de
Wed Feb 14 06:01:09 EST 2007
>
> What module are you using for SSH?
>
> What's in your program that isn't pure Python?
> The problem is probably in some non-Python component; you shouldn't
> be able to force a memory protection error from within Python code.
>
It looks like the error could be in scipy/Numeric, when a large array's
type is changed, like this:
>>> from scipy import *
>>> a=zeros(100000000,'b') #100 MiB
>>> b=a.copy().astype('d') #800 MiB, ok
>>> a=zeros(1000000000,'b') #1GiB
>>> b=a.copy().astype('d') #8GiB, fails with sf
Segmentation fault
if I use zeros directly for allocation of the doubles it works as expected:
>>> from scipy import *
>>> a=zeros(1000000000,'d') #8GiB, fails with python exception
Traceback (most recent call last):
File "<stdin>", line 1, in ?
MemoryError: can't allocate memory for array
>>>
I use python 2.4, but my scipy and Numeric aren't quite up-to-date:
scipy version 0.3.2, Numeric v 24.2
More information about the Python-list
mailing list