[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