Strange and hard to reproduce crash

Fernando Perez fperez.net at gmail.com
Mon Oct 30 15:08:00 EST 2006


On 10/23/06, Travis Oliphant <oliphant.travis at ieee.org> wrote:

> I've placed them in SVN (r3384):
>
> arraydescr_dealloc needs to do something like.
>
> if (self->fields == Py_None) {
>     print something
>     incref(self)
>     return;
> }

Here is some more info.  We left a long-running job over the weekend
with the prints you suggested.  Oddly, something happened at the OS
level which killed our SSH connection to that machine, but the above
numpy dealloc() warning never printed (we logged this).

What did happen is that the refcount you suggested we print:

sys.getrefcount(numpy.dtype('float'))

eventually seems to have wrapped around and gone negative.  I'm
attaching the log file with those print statements, the key point is
that this happens eventually:

PSVD Iteration  19
Ref count  1989827662
bar 444
PSVD Iteration  0
Ref count  2021353399
PSVD Iteration  1
Ref count  2143386207
PSVD Iteration  2
Ref count  -2001245193
PSVD Iteration  3
Ref count  -1915816437
PSVD Iteration  4
Ref count  -1902698473

That refcount is for dtype('float') as indicated above.  Is it not a
problem that this particular refcount goes negative?  Eventually it
may continue increasing and hit a zero, point at which I imagine that
the bad dealloc will occur.

Are refcounts stored in signed 32-bit ints? Why? I'd have naively
expected them to be stored in unsigned longs to avoid wraparound
problems, but maybe I'm completely missing the real problem here.

We've started another run to see if we can get the actual crash to
happen, will report.

Cheers,

f
-------------- next part --------------
A non-text attachment was scrubbed...
Name: numpy_report
Type: application/octet-stream
Size: 3307 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20061030/f4ea7eb3/attachment.obj>
-------------- next part --------------
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
-------------- next part --------------
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


More information about the NumPy-Discussion mailing list