Skip to content

gmpz leak in gmp.pxi #566

@sagetrac-mabshoff

Description

@sagetrac-mabshoff

Hello,

every piece of code that includes gmp.pxi leaks at least one gmpz:

  /* "/tmp/Work2/sage-2.8.3.rc3/devel/sage-main/sage/rings/../ext/gmp.pxi":66
 * cdef mpq_t tmp
 * mpz_init(u);  mpz_init(v); mpz_init(q)
 * mpz_init(u0); mpz_init(u1); mpz_init(u2)             # <<<<<<<<<<<<<<
 * mpz_init(v0); mpz_init(v1); mpz_init(v2)
 * mpz_init(t0); mpz_init(t1); mpz_init(t2)
 */
  mpz_init(__pyx_v_8rational_u0);

Valgrind says:

==25825== 8 bytes in 1 blocks are still reachable in loss record 349 of 2,539
==25825==    at 0x4A05809: malloc (vg_replace_malloc.c:149)
==25825==    by 0x94A2697: __gmpz_init (in /tmp/Work2/sage-2.8.3.rc3/local/lib/libgmp.so.3.4.1)
==25825==    by 0x169D8914: initrational (rational.c:10891)
==25825==    by 0x49F762: _PyImport_LoadDynamicModule (importdl.c:53)
==25825==    by 0x49D63E: import_submodule (import.c:2394)
==25825==    by 0x49DB11: load_next (import.c:2214)
==25825==    by 0x49DD6E: import_module_level (import.c:2002)
==25825==    by 0x49E1A4: PyImport_ImportModuleLevel (import.c:2066)
==25825==    by 0x47D5D8: builtin___import__ (bltinmodule.c:47)
==25825==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==25825==    by 0x47DB71: PyEval_CallObjectWithKeywords (ceval.c:3433)
==25825==    by 0x480BD3: PyEval_EvalFrameEx (ceval.c:2063)

This leak is usually 8 bytes only, so this counts as noise.

Cheers,

Michael

Component: memleak

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

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions