[Numpy-discussion] crash at prompt exit after running test
Johann Cohen-Tanugi
cohen at lpta.in2p3.fr
Tue Mar 9 18:52:40 EST 2010
more fun :
[cohen at jarrett tests]$ pwd
/home/cohen/sources/python/numpy/numpy/core/tests
[cohen at jarrett tests]$ python -c 'import test_ufunc'
python: Modules/gcmodule.c:277: visit_decref: Assertion `gc->gc.gc_refs
!= 0' failed.
Aborted (core dumped)
and in the debugger:
(gdb) run
Starting program: /usr/bin/python
warning: .dynamic section for "/lib/libpthread.so.0" is not at the
expected address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/lib/libdl.so.2" is not at the expected
address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/lib/libc.so.6" is not at the expected
address
warning: difference appears to be caused by prelink, adjusting expectations
[Thread debugging using libthread_db enabled]
Python 2.6.2 (r262:71600, Jan 25 2010, 18:46:45)
[GCC 4.4.2 20091222 (Red Hat 4.4.2-20)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import test_ufunc
>>>
>>>
python: Modules/gcmodule.c:277: visit_decref: Assertion `gc->gc.gc_refs
!= 0' failed.
Program received signal SIGABRT, Aborted.
0x00aab416 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install
atlas-3.8.3-12.fc12.i686 libgcc-4.4.3-4.fc12.i686
libgfortran-4.4.3-4.fc12.i686
(gdb) bt
#0 0x00aab416 in __kernel_vsyscall ()
#1 0x00159a91 in raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x0015b35a in abort () at abort.c:92
#3 0x00152be8 in __assert_fail (assertion=<value optimized out>,
file=<value optimized out>, line=<value optimized out>, function=<value
optimized out>) at assert.c:81
#4 0x0050931e in visit_decref (op=<value optimized out>, data=<value
optimized out>) at Modules/gcmodule.c:277
#5 0x0047c8c2 in dict_traverse (op=<value optimized out>, visit=<value
optimized out>, arg=<value optimized out>) at Objects/dictobject.c:2003
#6 0x00509af3 in subtract_refs (generation=<value optimized out>) at
Modules/gcmodule.c:296
#7 collect (generation=<value optimized out>) at Modules/gcmodule.c:817
#8 0x0050a640 in PyGC_Collect () at Modules/gcmodule.c:1292
#9 0x004fb0f0 in Py_Finalize () at Python/pythonrun.c:424
#10 0x0050868f in Py_Main (argc=<value optimized out>, argv=<value
optimized out>) at Modules/main.c:625
#11 0x080485c8 in main (argc=<value optimized out>, argv=<value
optimized out>) at Modules/python.c:23
which looks identical to the bt I sent to Robert earlier on.
HTH,
Johann
On 03/10/2010 12:43 AM, Johann Cohen-Tanugi wrote:
>
>
> On 03/10/2010 12:33 AM, Johann Cohen-Tanugi wrote:
>>
>>
>> On 03/10/2010 12:07 AM, Pauli Virtanen wrote:
>>> ti, 2010-03-09 kello 21:14 +0100, Johann Cohen-Tanugi kirjoitti:
>>>
>>>> thinking about it, this morning there was a fedora update to python, so
>>>> I am using 2.6.2-4.fc12.
>>>> Looks like the problem is in python itself, hence this piece of info.
>>>>
>>> That the problem would be in Python is not so clear to me. Can you try
>>> running it with the previous Python shipped by Fedora? Do you see the
>>> problem then? What's the previous version, btw?
>>>
>> 2.6.2-1 IIRC. I would have to check, and I am not sure how to either
>> query this information or step back one update up with yum :(
>>> Memory errors are somewhat difficult to debug. Can you try running only
>>> a certain subset of the tests, first
>>>
>>> nosetests numpy.core
>>>
>> crash
>>> Be sure to set Pythonpath so that you get the correct Numpy version. If
>>> it segfaults, proceed to (under numpy/core/tests)
>>>
>>> nosetests test_multiarray.py
>>> nosetests test_multiarray.py:TestNewBufferProtocol
>>>
>> neither crash, so the problem is not there....
> I followed your lead and tried each script and ended up with :
> [cohen at jarrett tests]$ nosetests test_ufunc.py
> .............
> ----------------------------------------------------------------------
> Ran 13 tests in 1.146s
>
> OK
> python: Modules/gcmodule.c:277: visit_decref: Assertion
> `gc->gc.gc_refs != 0' failed.
> Aborted (core dumped)
>
> so test_ufunc.py seems to be at stake
>
>>> Since the crash occurs in cyclic garbage collection, I'm doubting a bit
>>> the numpy/core/src/multiarray/numpymemoryview.c implementation, since
>>> that's the only part in Numpy that supports that.
>>>
>>> Alternatively, just replace numpymemoryview.c with the attached one
>>> which has cyclic GC stripped, and see if you still get the crash.
>>>
>>> Cheers,
>>> Pauli
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>
>> --
>> This message has been scanned for viruses and
>> dangerous content by *MailScanner* <http://www.mailscanner.info/>,
>> and is
>> believed to be clean.
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20100310/f70e3a4d/attachment.html>
More information about the NumPy-Discussion
mailing list