[NumPy-Tickets] [NumPy] #1631: Solaris10/SPARC/gcc-4.5.1/32bit: SIGBUS in test_mrecords.py

NumPy Trac numpy-tickets@scipy....
Sun Oct 10 15:32:02 CDT 2010


#1631: Solaris10/SPARC/gcc-4.5.1/32bit: SIGBUS in test_mrecords.py
--------------------+-------------------------------------------------------
 Reporter:  nics    |       Owner:  somebody
     Type:  defect  |      Status:  new     
 Priority:  high    |   Milestone:  1.5.1   
Component:  Other   |     Version:  1.5.0   
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by nics):

 After some intensive debugging, I've got the reason for the mvoid-failer:
 It has nd == 0 (that is zero dimension).

 The error only appears if the array has to be copied in PyArray_PutMask
 due to alignment requirements.
 In that case, when the copy is destructed at the end of PyArray_PutMask
 and the data is to be copied back to self->base due to NPY_UPDATEIFCOPY
 being set in the flags, I can decide whether I want to have a SIGSEGFAULT
 in _copy_from_same_shape or wrong behaviour (my patch
 04_copy_from_same_shape_zerodim_fix.diff makes _copy_from_same_shape
 return silently if nd == 0 without any copying).

 So now how to fix that?
 There are two possiblities:
 - If nd == 0 makes no sense: Set nd at mvoid's construction to a
 meaningful value. What value would that be?
 - If nd == 0 makes sense: Prepare _copy_from_same_shape to copy from
 zerodim arrays. How?

 Unfortunately mvoid isn't documented anywhere and thus, I can't answer any
 of these questions. What is it supposed to do?

 I think I'll just remove it completely: It's not used anywhere (at least I
 think so).

-- 
Ticket URL: <http://projects.scipy.org/numpy/ticket/1631#comment:8>
NumPy <http://projects.scipy.org/numpy>
My example project


More information about the NumPy-Tickets mailing list