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 sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/25f7d986-a5f4-4766-aa5e-7cc8be0f3b1b%40googlegroups.com.

Reply via email to