On Dec 19, 6:09 pm, mabshoff <[EMAIL PROTECTED]
dortmund.de> wrote:
> Trouble in paradise. With the latest cremona.spkg I get a doctest
> failures with segfaults in
>
> devel/sage-main/sage/schemes/elliptic_curves/ell_rational_field.py
> devel/sage-main/sage/schemes/elliptic_curves/sha.py
> devel/sage-main/sage/libs/mwrank/interface.py
>
> That even happens after a "sage -ba". One example:
>
> sage: EllipticCurve('11a').regulator()
> -infinity
> sage:
> Exiting SAGE (CPU time 0m0.17s, Wall time 0m8.09s).
> fatal error:
> Internal error: can't free this _ntl_gbigint
> exit...
>
> I am looking into this, but so far no real leads.
Hi John,
Well, I got some leads, but I am unclear which end (cremona.spkg or
sage) is at fault here. The first "Mismatched free() / delete / delete
[]" is a know issue that has been around for a while, but maybe you
have an idea what might be wrong. I need to do other things for a
couple hours.
The log:
==17803== Mismatched free() / delete / delete []
==17803== at 0x4A1B74A: free (vg_replace_malloc.c:320)
==17803== by 0xDF2EB60:
__pyx_f_4sage_4libs_6mwrank_6mwrank_string_sigoff (mwrank.c:314)
==17803== by 0xDF302C9:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_10_Curvedata_discriminant
(mwrank.c:1339)
==17803== by 0x415542: PyObject_Call (abstract.c:1860)
==17803== by 0x47C480: PyEval_CallObjectWithKeywords (ceval.c:3433)
==17803== by 0xDF33DEC:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_10_Curvedata___init__ (mwrank.c:
1003)
==17803== by 0x458E40: type_call (typeobject.c:436)
==17803== by 0x415542: PyObject_Call (abstract.c:1860)
==17803== by 0x481AC1: PyEval_EvalFrameEx (ceval.c:3775)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4CDFF0: function_call (funcobject.c:517)
==17803== by 0x415542: PyObject_Call (abstract.c:1860)
==17803== Address 0x1f591260 is 0 bytes inside a block of size 8
alloc'd
==17803== at 0x4A1BFE4: operator new[](unsigned long)
(vg_replace_malloc.c:271)
==17803== by 0xDF350E6:
stringstream_to_char(std::basic_ostringstream<char,
std::char_traits<char>, std::allocator<char> >&) (wrap.cc:26)
==17803== by 0xDF36000: Curvedata_getdiscr (wrap.cc:98)
==17803== by 0xDF302C1:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_10_Curvedata_discriminant
(mwrank.c:1339)
==17803== by 0x415542: PyObject_Call (abstract.c:1860)
==17803== by 0x47C480: PyEval_CallObjectWithKeywords (ceval.c:3433)
==17803== by 0xDF33DEC:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_10_Curvedata___init__ (mwrank.c:
1003)
==17803== by 0x458E40: type_call (typeobject.c:436)
==17803== by 0x415542: PyObject_Call (abstract.c:1860)
==17803== by 0x481AC1: PyEval_EvalFrameEx (ceval.c:3775)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4CDFF0: function_call (funcobject.c:517)
==17803==
==17803== Mismatched free() / delete / delete []
==17803== at 0x4A1B74A: free (vg_replace_malloc.c:320)
==17803== by 0xDF2EB60:
__pyx_f_4sage_4libs_6mwrank_6mwrank_string_sigoff (mwrank.c:314)
==17803== by 0xDF2ECB9:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_regulator
(mwrank.c:2836)
==17803== by 0x482C18: PyEval_EvalFrameEx (ceval.c:3548)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== Address 0x113738c8 is 0 bytes inside a block of size 64
alloc'd
==17803== at 0x4A1BFE4: operator new[](unsigned long)
(vg_replace_malloc.c:271)
==17803== by 0xDF350E6:
stringstream_to_char(std::basic_ostringstream<char,
std::char_traits<char>, std::allocator<char> >&) (wrap.cc:26)
==17803== by 0xDF368CD: two_descent_regulator (wrap.cc:269)
==17803== by 0xDF2ECB1:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_regulator
(mwrank.c:2836)
==17803== by 0x482C18: PyEval_EvalFrameEx (ceval.c:3548)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803==
==17803== Invalid read of size 8
==17803== at 0xE0AF182: mw::~mw() (mwprocs.cc:250)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== Address 0x1f592780 is 8 bytes before a block of size 48
alloc'd
==17803== at 0x4A1BB35: malloc (vg_replace_malloc.c:207)
==17803== by 0x6577FD9: _ntl_gsetlength (g_lip_impl.h:411)
==17803== by 0x6578692: _ntl_gcopy (g_lip_impl.h:474)
==17803== by 0xE054787: Curvedata::operator=(Curvedata const&)
(ZZ.h:72)
==17803== by 0xE629BAC: two_descent::two_descent(Curvedata*, int,
int, long, long, long, int) (descent.cc:54)
==17803== by 0xDF34817: two_descent_new (wrap.cc:226)
==17803== by 0xDF31370:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_do_descent
(mwrank.c:2467)
==17803== by 0x482C61: PyEval_EvalFrameEx (ceval.c:3564)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803==
==17803== Invalid free() / delete / delete[]
==17803== at 0x4A1B0D8: operator delete[](void*)
(vg_replace_malloc.c:358)
==17803== by 0xE0AF1AB: mw::~mw() (mwprocs.cc:250)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== Address 0x1f592780 is 8 bytes before a block of size 48
alloc'd
==17803== at 0x4A1BB35: malloc (vg_replace_malloc.c:207)
==17803== by 0x6577FD9: _ntl_gsetlength (g_lip_impl.h:411)
==17803== by 0x6578692: _ntl_gcopy (g_lip_impl.h:474)
==17803== by 0xE054787: Curvedata::operator=(Curvedata const&)
(ZZ.h:72)
==17803== by 0xE629BAC: two_descent::two_descent(Curvedata*, int,
int, long, long, long, int) (descent.cc:54)
==17803== by 0xDF34817: two_descent_new (wrap.cc:226)
==17803== by 0xDF31370:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_do_descent
(mwrank.c:2467)
==17803== by 0x482C61: PyEval_EvalFrameEx (ceval.c:3564)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803==
==17803== Conditional jump or move depends on uninitialised value(s)
==17803== at 0xE436C47: mat_l::~mat_l() (mat.cc:55)
==17803== by 0xE0B0D1C: saturator::~saturator() (saturate.h:77)
==17803== by 0xE0AF1B8: mw::~mw() (mwprocs.cc:251)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803==
==17803== Invalid read of size 1
==17803== at 0x65778B9: _ntl_gfree (g_lip_impl.h:428)
==17803== by 0xE0B0DD7: saturator::~saturator() (ZZ.h:77)
==17803== by 0xE0AF1B8: mw::~mw() (mwprocs.cc:251)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== Address 0xca40fe0 is 0 bytes after a block of size 8
alloc'd
==17803== at 0x4A1C344: operator new(unsigned long)
(vg_replace_malloc.c:227)
==17803== by 0xE05D30E: std::vector<NTL::ZZ,
std::allocator<NTL::ZZ> >::operator=(std::vector<NTL::ZZ,
std::allocator<NTL::ZZ> > const&) (new_allocator.h:88)
==17803== by 0xE5BFCEE: rank1::getquartics() (curve.h:126)
==17803== by 0xE5C5D14: rank1::rank1(Curvedata*, int, int, long,
long, long) (mrank1.cc:1428)
==17803== by 0xE62A09B: two_descent::two_descent(Curvedata*, int,
int, long, long, long, int) (descent.cc:67)
==17803== by 0xDF34817: two_descent_new (wrap.cc:226)
==17803== by 0xDF31370:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_do_descent
(mwrank.c:2467)
==17803== by 0x482C61: PyEval_EvalFrameEx (ceval.c:3564)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803==
==17803== Invalid free() / delete / delete[]
==17803== at 0x4A1B74A: free (vg_replace_malloc.c:320)
==17803== by 0x65778C5: _ntl_gfree (g_lip_impl.h:431)
==17803== by 0xE0B0DD7: saturator::~saturator() (ZZ.h:77)
==17803== by 0xE0AF1B8: mw::~mw() (mwprocs.cc:251)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== Address 0xca40fe0 is 0 bytes after a block of size 8
alloc'd
==17803== at 0x4A1C344: operator new(unsigned long)
(vg_replace_malloc.c:227)
==17803== by 0xE05D30E: std::vector<NTL::ZZ,
std::allocator<NTL::ZZ> >::operator=(std::vector<NTL::ZZ,
std::allocator<NTL::ZZ> > const&) (new_allocator.h:88)
==17803== by 0xE5BFCEE: rank1::getquartics() (curve.h:126)
==17803== by 0xE5C5D14: rank1::rank1(Curvedata*, int, int, long,
long, long) (mrank1.cc:1428)
==17803== by 0xE62A09B: two_descent::two_descent(Curvedata*, int,
int, long, long, long, int) (descent.cc:67)
==17803== by 0xDF34817: two_descent_new (wrap.cc:226)
==17803== by 0xDF31370:
__pyx_pf_4sage_4libs_6mwrank_6mwrank_12_two_descent_do_descent
(mwrank.c:2467)
==17803== by 0x482C61: PyEval_EvalFrameEx (ceval.c:3564)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x48328C: PyEval_EvalFrameEx (ceval.c:3660)
==17803== by 0x483C6A: PyEval_EvalFrameEx (ceval.c:3650)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803==
==17803== Invalid read of size 1
==17803== at 0x65778B9: _ntl_gfree (g_lip_impl.h:428)
==17803== by 0xE0B0DF7: saturator::~saturator() (ZZ.h:77)
==17803== by 0xE0AF1B8: mw::~mw() (mwprocs.cc:251)
==17803== by 0xDF3476C: two_descent_del (descent.h:97)
==17803== by 0xDF305FD:
__pyx_tp_dealloc_4sage_4libs_6mwrank_6mwrank__two_descent (mwrank.c:
2412)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x43FE9A: dict_dealloc (dictobject.c:847)
==17803== by 0x45526B: subtype_dealloc (typeobject.c:697)
==17803== by 0x480050: PyEval_EvalFrameEx (ceval.c:3598)
==17803== by 0x484B6A: PyEval_EvalCodeEx (ceval.c:2831)
==17803== by 0x4838F4: PyEval_EvalFrameEx (ceval.c:494)
==17803== Address 0x10 is not stack'd, malloc'd or (recently) free'd
==17803==
> Cheers,
>
> Michael
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---