Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

memleak in LinBox::MatrixHom::BlasBlackboxMAP exposed by ModularSymbols(n,sign=1).decomposition() #563

Closed
sagetrac-mabshoff mannequin opened this issue Sep 2, 2007 · 2 comments
Assignees
Milestone

Comments

@sagetrac-mabshoff
Copy link
Mannequin

sagetrac-mabshoff mannequin commented Sep 2, 2007

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

Component: memleak

Issue created by migration from https://trac.sagemath.org/ticket/563

@sagetrac-mabshoff sagetrac-mabshoff mannequin added this to the sage-2.8.4 milestone Sep 2, 2007
@sagetrac-mabshoff sagetrac-mabshoff mannequin added t: bug labels Sep 2, 2007
@sagetrac-mabshoff sagetrac-mabshoff mannequin self-assigned this Sep 2, 2007
@williamstein williamstein modified the milestones: sage-2.8.4, sage-2.9 Sep 7, 2007
@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Nov 17, 2007

comment:3

The issue has been fixed in LinBox by Clement Pernet, an updated spkg with the backported fix is at

http://sage.math.washington.edu/home/mabshoff/linbox-20070915.p2.spkg

Cheers,

Michael

@sagetrac-mabshoff sagetrac-mabshoff mannequin modified the milestones: sage-2.9.1, sage-2.8.13 Nov 17, 2007
@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Nov 18, 2007

comment:4

Merged in 2.8.13.alpha0.

@sagetrac-mabshoff sagetrac-mabshoff mannequin closed this as completed Nov 18, 2007
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant