Ticket #563 (closed defect: fixed)
[with spkg] memleak in LinBox::MatrixHom::BlasBlackboxMAP exposed by ModularSymbols(n,sign=1).decomposition()
| Reported by: | mabshoff | Owned by: | mabshoff |
|---|---|---|---|
| Priority: | major | Milestone: | sage-2.8.13 |
| Component: | memleak | Keywords: | |
| Cc: | Author(s): | ||
| Report Upstream: | Reviewer(s): | ||
| Merged in: | Work issues: |
Description
Hello folks,
for n in range(10,100): a=ModularSymbols(n,sign=1).decomposition(); print n, get_memory_usage()
causes (among other things) the following:
==5107== 684,128 (349,720 direct, 334,408 indirect) bytes in 1,249 blocks are definitely lost in loss record 2,897 of 2,944 ==5107== at 0x4A06019: operator new(unsigned long) (vg_replace_malloc.c:167) ==5107== by 0x1FA16467: LinBox::MatrixHom::BlasBlackboxMAP<LinBox::Modular<double>, LinBox::DenseMatrix<LinBox::Unparamet ricField<Integer> >, LinBox::MatrixContainerCategory::Container>::operator()(LinBox::BlasBlackbox<LinBox::Modular<double> >* &, LinBox::DenseMatrix<LinBox::UnparametricField<Integer> > const&, LinBox::Modular<double> const&, LinBox::MatrixContainerC ategory::Container) (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1FA16685: void LinBox::MatrixHom::map<LinBox::Modular<double>, LinBox::DenseMatrix<LinBox::UnparametricFiel d<Integer> > >(LinBox::BlasBlackbox<LinBox::Modular<double> >*&, LinBox::DenseMatrix<LinBox::UnparametricField<Integer> > co nst&, LinBox::Modular<double> const&) (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1FA64331: LinBox::GivPolynomial<Integer>& LinBox::cia<LinBox::GivPolynomial<Integer>, LinBox::DenseMatrix<L inBox::UnparametricField<Integer> > >(LinBox::GivPolynomial<Integer>&, LinBox::DenseMatrix<LinBox::UnparametricField<Integer > > const&, LinBox::BlasEliminationTraits const&) (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1FA64B97: LinBox::GivPolynomial<Integer>& LinBox::charpoly<LinBox::GivPolynomial<Integer>, LinBox::DenseMat rix<LinBox::UnparametricField<Integer> > >(LinBox::GivPolynomial<Integer>&, LinBox::DenseMatrix<LinBox::UnparametricField<In teger> > const&, LinBox::RingCategories::IntegerTag const&, LinBox::BlasEliminationTraits const&) (in /tmp/Work2/sage-2.8.3. rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1FA64BD9: LinBox::GivPolynomial<Integer>& LinBox::charpoly<LinBox::GivPolynomial<Integer>, LinBox::Unparame tricField<Integer>, LinBox::RingCategories::IntegerTag>(LinBox::GivPolynomial<Integer>&, LinBox::DenseMatrix<LinBox::Unparam etricField<Integer> > const&, LinBox::RingCategories::IntegerTag const&, LinBox::HybridSpecifier const&) (in /tmp/Work2/sage -2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1FA64C0D: LinBox::GivPolynomial<Integer>& LinBox::charpoly<LinBox::DenseMatrix<LinBox::UnparametricField<In teger> >, LinBox::GivPolynomial<Integer>, LinBox::HybridSpecifier>(LinBox::GivPolynomial<Integer>&, LinBox::DenseMatrix<LinB ox::UnparametricField<Integer> > const&, LinBox::HybridSpecifier const&) (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwr ap.so.0.0.0) ==5107== by 0x1FA64C39: LinBox::GivPolynomial<Integer>& LinBox::charpoly<LinBox::DenseMatrix<LinBox::UnparametricField<In teger> >, LinBox::GivPolynomial<Integer> >(LinBox::GivPolynomial<Integer>&, LinBox::DenseMatrix<LinBox::UnparametricField<In teger> > const&) (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1F9AF567: linbox_integer_dense_charpoly (in /tmp/Work2/sage-2.8.3.rc3/local/lib/liblinboxwrap.so.0.0.0) ==5107== by 0x1F6CB0F6: __pyx_f_6linbox_20Linbox_integer_dense__poly(_object*, _object*) (linbox.cpp:1124) ==5107== by 0x4156A2: PyObject_Call (abstract.c:1860) ==5107== by 0x47DB71: PyEval_CallObjectWithKeywords (ceval.c:3433)
This one looks scary, too.
Cheers,
Tagged for 2.8.4
Michael
Change History
Note: See
TracTickets for help on using
tickets.
