On Feb 21, 2009, at 8:00 AM, Dag Sverre Seljebotn wrote:
> Robert Bradshaw wrote:
>> I'm running the tests, but probably won't be able to work on it much
>> today anyways. So far I have a 7MB log (and it's less than half way
>> done).
>
> Well, as you showed us with your last patch, one bug in this area
> tends
> to be repeated a lot of time. So IMHO anything but the top 20 lines in
> that log is worthless, because you'd like to rerun after fixing the
> first issue anyway to remove the duplicates...
>
> (Of course, statistics is fun.)
Yes, there's a lot of duplicates
Robert-Bradshaws-Laptop:~/sage/sage-cython/devel/sage robert$ cat
test.log | grep "Acquired on lines" | sort | uniq | wc
25 367 2431
Robert-Bradshaws-Laptop:~/sage/sage-cython/devel/sage robert$ cat
test.log | grep "sage/.*: " | sort | uniq
sage/libs/pari/gen.c: _normalize_slice()
sage/libs/singular/singular.cpp: sa2si_ZZ()
sage/matrix/misc.c: matrix_rational_echelon_form_multimodular()
sage/rings/polynomial/multi_polynomial_libsingular.cpp: subs()
Which, not surprisingly, are the "usual suspects" for memory leaks. I
haven't hit sage/rings yet though, which may turn up a lot more.
>>> One suspect is here:
>>>
>>> http://hg.cython.org/cython-devel/rev/4e19b8a61272
>>>
>>> There are some more as well which could lead to similar symptoms
>>> which
>>> I'll have to wait with pushing -- ironically, the fix itself
>>> seems to
>>> produce a temp handling refcount bug on the refnanny.c code itself,
>>> so I
>>> must fix that simultaneously.
>>
>> Cool, let us know when you smash this one.
>
> http://hg.cython.org/cython-devel/rev/6692a0f0e87a
>
> I won't get into a discussion on whether a fault like this is due
> to me
> over-relying on the test suite or the pathetic low coverage it has.
> It's
> fixed now; but I wonder how many more there are...
Yeah. At least Sage provides pretty good coverage :).
> Anyway, having a refcount fault on every single "del a.b[c]" is
> something I can easily see accounting for some of the megabytes in
> that log.
I don't think this is common, but happening just once in a lot of
places could result in a big log.
- Robert
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev