[Debian-science-sagemath] Buster todo list

Ximin Luo infinity0 at debian.org
Wed Jan 23 06:15:00 GMT 2019


Ximin Luo:
>>
>> https://wiki.debian.org/DebianScience/Sage#Buster_roadmap
>>
> 
>> Fix sage/matrix/matrix_double_dense.pyx  # Testing error: no result when testing in parallel. (This causes tests to be rerun.) 
> 
> The situation is actually worse than this. If you look through the test logs, you can see that we are "Only doctesting files that failed last test", however if you grep for "matrix_double_dense" after this line you'll see that it doesn't appear and is ignored totally, and does not actually succeed.
> 
> Locally, I cannot reproduce either a success *or* having the doctesting framework ignore the matrix_double_dense when I give -f, all combinations of:
> 
> $ ./sage -t --long src/sage/matrix/matrix_double_dense.pyx
> $ ./sage -t -p --long src/sage/matrix/matrix_double_dense.pyx
> $ ./sage -t -p 1 --long src/sage/matrix/matrix_double_dense.pyx
> $ ./sage -t -f --long src/sage/matrix/matrix_double_dense.pyx
> $ ./sage -t -f -p --long src/sage/matrix/matrix_double_dense.pyx
> $ ./sage -t -f -p 1 --long src/sage/matrix/matrix_double_dense.pyx
> 
> all result in:
> 
> [..]
> Doctesting 1 file.
> sage -t --long src/sage/matrix/matrix_double_dense.pyx
>     Error in doctesting framework (no result returned)
> [..]
> sage: P.is_unitary(algorithm='orthonormal') ## line 2520 ##
>  ** On entry to ZGEES  parameter number  6 had an illegal value
> 
> **********************************************************************
> ----------------------------------------------------------------------
> sage -t --long src/sage/matrix/matrix_double_dense.pyx  # Testing error: no result
> ----------------------------------------------------------------------
> 

Examining the doctesting code in forker.py, it seems that this sort of "Testing error: no result" can happen when exec(compiled, glob) bypasses python to call exit(0) in C code, and it seems that's what's happening here.

So there are two bugs:

1. the underlying C code (perhaps lapack, which is where ZGEES comes from) is inappropriately calling exit(0)

2. sage's doctesting framework doesn't handle this case well

(1) is probably the more immediately-important one, fixing (2) is just a case of making the error message more descriptive like "test worker exited with 0 but somehow did not produce any result from the python code, probably C code called exit(0) inappropriately".

X

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git



More information about the Debian-science-sagemath mailing list