OK, I'll first make sure my sources are sync'd and then look into it. I already think I know what one of the problems is. That's what comes of adding features: new bugs.
John On 19/12/2007, mabshoff <[EMAIL PROTECTED]> wrote: > > > > 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 > > > -- John Cremona --~--~---------~--~----~------------~-------~--~----~ 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/ -~----------~----~----~----~------~----~------~--~---