Strange and hard to reproduce crash

Charles R Harris charlesr.harris at gmail.com
Mon Oct 30 16:54:10 EST 2006


On 10/30/06, Fernando Perez <fperez.net at gmail.com> wrote:
>
> 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.


I suspect the real problem is that the refcount keeps going up. Even if it
was unsigned it would eventually wrap to zero and with a bit of luck get
garbage collected. So probably something isn't decrementing the refcount.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20061030/6e840818/attachment.html>
-------------- 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