Dave Witte Morris pointed out the following bug (now trac 28970):
M = random_matrix(GF(4), 70, 70)
def test_matrix(iterations=50): for k in range(iterations):
S,U,V = M.smith_form()
print(k)
if not S == U * M * V:
raise ValueError
On OS X, this will often run for a few iterations and then raise a
ValueError, or run for a few iterations and then crash Sage. Note that the
matrix is fixed at the start, so each iteration should be identical to the
others, but this is not happening. Also, the ValueError should never be
raised: the definition of Smith normal form is that S == U * M * V. (The
code also sometimes raises a NotImplementedError, but this has been
addressed at #28967.)
The occasional crash:
python3(37360,0x10f7355c0) malloc: Incorrect checksum for freed object
0x7fce33018c00: probably modified after being freed.
Corrupt value: 0xc000000000000000
python3(37360,0x10f7355c0) malloc: *** set a breakpoint in
malloc_error_break to debug
------------------------------------------------------------------------
(no backtrace available)
------------------------------------------------------------------------
Unhandled SIGABRT: An abort() occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
What's going on? A memory leak or something along those lines? Can someone
help to debug this?
- https://trac.sagemath.org/ticket/28970
--
You received this message because you are subscribed to the Google Groups
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-devel/25f7d986-a5f4-4766-aa5e-7cc8be0f3b1b%40googlegroups.com.