[Numpy-discussion] Segfault when indexing on second or higher dimension with list or tuple

Travis Oliphant oliphant.travis at ieee.org
Thu Apr 13 08:29:01 EDT 2006


Travis Oliphant wrote:
> Albert Strasheim wrote:
>> Hello all,
>>
>> The following segfault bug was discovered in NumPy 0.9.7.2348 by 
>> someone at our Python workshop:
>>
>> import numpy as N
>> F = N.zeros((1,1))
>> F[:,[0]] = 0
>>
>> The following also segfaults:
>>
>> F[:,(0,)] = 0
>>
>> Something seems to go wrong when one uses a tuple or a list to index 
>> into a NumPy array on the second or higher dimension, since the 
>> following code works:
>>
>>   
> The segfault was due to an error condition not being caught.   This is 
> now fixed, so now you get (a rather cryptic error).  Now, to figure 
> out why this code doesn't work....
>

The problem is that the code is not handling arbitrary shapes on the RHS 
of the equal sign.    I'll enter a ticket and fix this before 0.9.8.

Basically, right now,  the RHS  needs to have the same shape as the LHS

so

F[:,[0]] = [[0]]

should work already.


-Travis










More information about the NumPy-Discussion mailing list