Sage: Ticket #25476: MeatAxe-related bug introduced in 8.3.beta
https://trac.sagemath.org/ticket/25476
<p>
Vincent reports this for SageMath 8.3.beta3 with MeatAxe installed:
</p>
<pre class="wiki">File "src/sage/coding/linear_code.py", line 2039, in
sage.coding.linear_code.AbstractLinearCode.__getitem__
Failed example:
C = random_matrix(GF(25,'a'), 2, 7).row_space()
Exception raised:
Traceback (most recent call last):
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/doctest/forker.py",
line 572, in _run
self.compile_and_execute(example, compiler, test.globs)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/doctest/forker.py",
line 982, in compile_and_execute
exec(compiled, globs)
File "<doctest
sage.coding.linear_code.AbstractLinearCode.__getitem__[4]>", line 1, in
<module>
C = random_matrix(GF(Integer(25),'a'), Integer(2),
Integer(7)).row_space()
File "sage/matrix/matrix2.pyx", line 4592, in
sage.matrix.matrix2.Matrix.row_space
(build/cythonized/sage/matrix/matrix2.c:34495)
return self.row_module(base_ring=base_ring)
File "sage/matrix/matrix2.pyx", line 4565, in
sage.matrix.matrix2.Matrix.row_module
(build/cythonized/sage/matrix/matrix2.c:34373)
return M.span(self.rows(), already_echelonized=False)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/modules/free_module.py",
line 3850, in span
self.ambient_module(), gens=gens, check=check,
already_echelonized=already_echelonized)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/modules/free_module.py",
line 6961, in __init__
echelonize=not already_echelonized,
already_echelonized=already_echelonized)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/modules/free_module.py",
line 6763, in __init__
echelonized_basis=echelonized_basis,
already_echelonized=already_echelonized)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/modules/free_module.py",
line 5691, in __init__
basis = self._echelonized_basis(ambient, basis)
File
"/home/vdelecro/sage_patchbot/local/lib/python2.7/site-packages/sage/modules/free_module.py",
line 6894, in _echelonized_basis
E = A.echelon_form()
File "sage/matrix/matrix2.pyx", line 6819, in
sage.matrix.matrix2.Matrix.echelon_form
(build/cythonized/sage/matrix/matrix2.c:53810)
v = E.echelonize(cutoff=cutoff, **kwds)
File "sage/matrix/matrix2.pyx", line 6719, in
sage.matrix.matrix2.Matrix.echelonize
(build/cythonized/sage/matrix/matrix2.c:53210)
self._echelon_in_place(algorithm)
File "sage/matrix/matrix2.pyx", line 6984, in
sage.matrix.matrix2.Matrix._echelon_in_place
(build/cythonized/sage/matrix/matrix2.c:54847)
A.rescale_row(r, a_inverse, c)
File "sage/matrix/matrix0.pyx", line 3005, in
sage.matrix.matrix0.Matrix.rescale_row
(build/cythonized/sage/matrix/matrix0.c:21880)
self.rescale_row_c(i, s, start_col)
File "sage/matrix/matrix_gfpn_dense.pyx", line 944, in
sage.matrix.matrix_gfpn_dense.Matrix_gfpn_dense.rescale_row_c
(build/cythonized/sage/matrix/matrix_gfpn_dense.c:9339)
raise ValueError("We can only rescale a full row of a non-empty
matrix")
ValueError: We can only rescale a full row of a non-empty matrix
**********************************************************************
</pre><p>
The above error does not occur in 8.2.rc4. Let's try to prevent it from being published in 8.3!
</p>
en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/25476
Trac 1.1.6SimonKingWed, 30 May 2018 23:03:45 GMT
https://trac.sagemath.org/ticket/25476#comment:1
https://trac.sagemath.org/ticket/25476#comment:1
<p>
Practical problem: I can currently not build and test 8.3.beta3, since I won't interrupt a computation that I am currently running (it is running since three weeks and might disprove a conjecture on the structure of cohomology rings).
</p>
TickettscrimThu, 31 May 2018 04:58:30 GMTcc changed
https://trac.sagemath.org/ticket/25476#comment:2
https://trac.sagemath.org/ticket/25476#comment:2
<ul>
<li><strong>cc</strong>
<em>tscrim</em> added
</li>
</ul>
<p>
This also occurs in testing <code>matrix/matrix2.pyx</code>.
</p>
TickettscrimThu, 31 May 2018 05:47:17 GMTpriority changed
https://trac.sagemath.org/ticket/25476#comment:3
https://trac.sagemath.org/ticket/25476#comment:3
<ul>
<li><strong>priority</strong>
changed from <em>critical</em> to <em>blocker</em>
</li>
</ul>
<p>
So this seems to be caused by <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>, but I do not understand why. It is the exact same code for the classical echelon algorithm. The only other difference is that has become a <code>cpdef</code> method instead of a <code>def</code> method, but changing that didn't seem to fix the problem. At least, where the error is happening, it means we would have just inverted a 0 if the row is all 0. So perhaps this is a bug in Cython?
</p>
<p>
Also, failing tests with optional packages is a blocker.
</p>
TickettscrimThu, 31 May 2018 05:49:10 GMT
https://trac.sagemath.org/ticket/25476#comment:4
https://trac.sagemath.org/ticket/25476#comment:4
<p>
PS - I think the machine I tested <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a> on did not have <code>meataxe</code> installed (unlike my usual devbox), but I thought it did...(cannot check it for the next ~2 months).
</p>
TickettscrimThu, 31 May 2018 06:01:17 GMT
https://trac.sagemath.org/ticket/25476#comment:5
https://trac.sagemath.org/ticket/25476#comment:5
<p>
I really have no idea what is going on. It does work before <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>, but fails after. Changing both the <code>cpdef</code> -> <code>def</code> doesn't fix it. The algorithm is exactly the same and even reverting that part of the code does not fix it.
</p>
TicketSimonKingThu, 31 May 2018 07:08:05 GMT
https://trac.sagemath.org/ticket/25476#comment:6
https://trac.sagemath.org/ticket/25476#comment:6
<p>
While trying to build the latest beta, cddlib fails. Very bad. So, I still cannot test stuff.
</p>
TicketSimonKingThu, 31 May 2018 07:09:58 GMT
https://trac.sagemath.org/ticket/25476#comment:7
https://trac.sagemath.org/ticket/25476#comment:7
<p>
Fortunately retrying <code>make cddlib</code> worked.
</p>
TicketSimonKingThu, 31 May 2018 09:32:32 GMT
https://trac.sagemath.org/ticket/25476#comment:8
https://trac.sagemath.org/ticket/25476#comment:8
<p>
Now I completed building the latest beta and can confirm the bug.
</p>
TicketSimonKingThu, 31 May 2018 09:33:10 GMT
https://trac.sagemath.org/ticket/25476#comment:9
https://trac.sagemath.org/ticket/25476#comment:9
<p>
PS: It is not the creation of the matrix but calling <code>.row_space()</code>.
</p>
TicketSimonKingThu, 31 May 2018 09:37:17 GMT
https://trac.sagemath.org/ticket/25476#comment:10
https://trac.sagemath.org/ticket/25476#comment:10
<p>
OK, the problem is that the algorithm has been changed so that only a part of a row was rescaled. That's quite reasonable to do, and actually one of the changes of SharedMeatAxe compared to MeatAxe is that in the school book gaußian elimination implementation I made it so that the already annulated part of a row is not rescaled.
</p>
<p>
Only in the wrapper in Sage I did not expose that functionality. I guess that needs to change.
</p>
TickettscrimThu, 31 May 2018 09:42:46 GMT
https://trac.sagemath.org/ticket/25476#comment:11
https://trac.sagemath.org/ticket/25476#comment:11
<p>
That part of Gaußian elimination was not changed by <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>.
</p>
<p>
Ah, I found the problem: the method was renamed <code>_echelon_in_place_classical</code> -> <code>_echelon_in_place</code>. So the generic matrix code is no longer calling the specialized version.
</p>
TickettscrimThu, 31 May 2018 09:45:04 GMT
https://trac.sagemath.org/ticket/25476#comment:12
https://trac.sagemath.org/ticket/25476#comment:12
<p>
I will push a fix in 1 second.
</p>
TickettscrimThu, 31 May 2018 10:16:25 GMTstatus changed; commit, branch set
https://trac.sagemath.org/ticket/25476#comment:13
https://trac.sagemath.org/ticket/25476#comment:13
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>needs_review</em>
</li>
<li><strong>commit</strong>
set to <em>4eae803913d67d3f46f58e56d3524c9b4f73b002</em>
</li>
<li><strong>branch</strong>
set to <em>public/linear_algebras/fix_meataxe_echelon-25476</em>
</li>
</ul>
<p>
Okay, so this fixes the problem. It has a bit of technical debt as it pushes a potentially bigger issue design issue down the road, but it works. I also do similar fixes for other matrices that may not be using their optimized code. A bigger design discussion on matrices is likely needed.
</p>
<hr />
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit?id=4eae803913d67d3f46f58e56d3524c9b4f73b002"><span class="icon"></span>4eae803</a></td><td><code>Making matrices use the new _echelon_in_place method.</code>
</td></tr></table>
TicketSimonKingThu, 31 May 2018 14:07:39 GMT
https://trac.sagemath.org/ticket/25476#comment:14
https://trac.sagemath.org/ticket/25476#comment:14
<p>
So, you think it won't be needed to allow !Matrix_gfpn_dense to perform a partial row rescaling? Would it nonetheless be a good idea to implement?
</p>
TickettscrimThu, 31 May 2018 14:17:36 GMT
https://trac.sagemath.org/ticket/25476#comment:15
https://trac.sagemath.org/ticket/25476#comment:15
<p>
I definitely think it would be good to do partial row rescaling; it probably will give you a speed boost. Although that this actually indicated an error turned out to be a good thing indicating something I missed when reviewing <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>.
</p>
TicketSimonKingThu, 31 May 2018 14:20:01 GMT
https://trac.sagemath.org/ticket/25476#comment:16
https://trac.sagemath.org/ticket/25476#comment:16
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:15" title="Comment 15">tscrim</a>:
</p>
<blockquote class="citation">
<p>
I definitely think it would be good to do partial row rescaling; it probably will give you a speed boost. Although that this actually indicated an error turned out to be a good thing indicating something I missed when reviewing <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>.
</p>
</blockquote>
<p>
Then I propose to provide an enhancement on top of your changes. I just checked: With your branch the tests in src/sage/matrix pass. And then I hope we can review each other's commits.
</p>
TickettscrimThu, 31 May 2018 14:29:52 GMT
https://trac.sagemath.org/ticket/25476#comment:17
https://trac.sagemath.org/ticket/25476#comment:17
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:16" title="Comment 16">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:15" title="Comment 15">tscrim</a>:
</p>
<blockquote class="citation">
<p>
I definitely think it would be good to do partial row rescaling; it probably will give you a speed boost. Although that this actually indicated an error turned out to be a good thing indicating something I missed when reviewing <a class="closed ticket" href="https://trac.sagemath.org/ticket/17272" title="defect: Use pivoting for Gaussian elimination on matrices over p-adics (closed: fixed)">#17272</a>.
</p>
</blockquote>
<p>
Then I propose to provide an enhancement on top of your changes. I just checked: With your branch the tests in src/sage/matrix pass. And then I hope we can review each other's commits.
</p>
</blockquote>
<p>
In principle, I would fine with it. However, given this is a blocker issue, I think this would be better to do so on a follow-up (which I will happily review).
</p>
TicketSimonKingThu, 31 May 2018 15:25:19 GMT
https://trac.sagemath.org/ticket/25476#comment:18
https://trac.sagemath.org/ticket/25476#comment:18
<p>
So far I got a timeout in <code>sage -t src/sage/rings/padics/padic_lattice_element.py</code>.
</p>
TickettscrimThu, 31 May 2018 15:30:31 GMT
https://trac.sagemath.org/ticket/25476#comment:19
https://trac.sagemath.org/ticket/25476#comment:19
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:18" title="Comment 18">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
So far I got a timeout in <code>sage -t src/sage/rings/padics/padic_lattice_element.py</code>.
</p>
</blockquote>
<p>
That has been noticed by a few other people.
</p>
TicketSimonKingThu, 31 May 2018 18:13:47 GMT
https://trac.sagemath.org/ticket/25476#comment:20
https://trac.sagemath.org/ticket/25476#comment:20
<p>
<code>sage -t src/sage/rings/padics/padic_lattice_element.py</code> and <code>sage -t src/sage/rings/padics/padic_base_leaves.py</code> time out consistently, even when tested separately.
</p>
<p>
I cannot imagine that it is related with the issue we are dealing with here - hence, I'll try if these two tests fail without the patch from here.
</p>
TicketSimonKingThu, 31 May 2018 19:10:35 GMT
https://trac.sagemath.org/ticket/25476#comment:21
https://trac.sagemath.org/ticket/25476#comment:21
<p>
Yep, I get the same timeouts. So, I believe the timeouts are not related with this ticket and thus shouldn't prevent a review.
</p>
<p>
The code looks good. But shouldn't there be a test that demonstrates that the bug is fixed? Or are the existing tests good enough?
</p>
TicketjhpalmieriThu, 31 May 2018 19:57:06 GMT
https://trac.sagemath.org/ticket/25476#comment:22
https://trac.sagemath.org/ticket/25476#comment:22
<p>
Tests pass for me on OS X with this branch, on a system with MeatAxe installed. I haven't tried without MeatAxe present.
</p>
TickettscrimFri, 01 Jun 2018 05:57:17 GMT
https://trac.sagemath.org/ticket/25476#comment:23
https://trac.sagemath.org/ticket/25476#comment:23
<p>
I would say the existing tests are good enough since they were breaking before this change.
</p>
TicketSimonKingFri, 01 Jun 2018 06:35:20 GMTstatus changed; reviewer, author set
https://trac.sagemath.org/ticket/25476#comment:24
https://trac.sagemath.org/ticket/25476#comment:24
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>positive_review</em>
</li>
<li><strong>reviewer</strong>
set to <em>Simon King</em>
</li>
<li><strong>author</strong>
set to <em>Travis Scrimshaw</em>
</li>
</ul>
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:23" title="Comment 23">tscrim</a>:
</p>
<blockquote class="citation">
<p>
I would say the existing tests are good enough since they were breaking before this change.
</p>
</blockquote>
<p>
In this case I can give a positive review.
</p>
TicketvbraunSat, 02 Jun 2018 09:05:07 GMTstatus changed
https://trac.sagemath.org/ticket/25476#comment:25
https://trac.sagemath.org/ticket/25476#comment:25
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
See patchbot
</p>
TicketSimonKingSat, 02 Jun 2018 09:56:30 GMT
https://trac.sagemath.org/ticket/25476#comment:26
https://trac.sagemath.org/ticket/25476#comment:26
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:25" title="Comment 25">vbraun</a>:
</p>
<blockquote class="citation">
<p>
See patchbot
</p>
</blockquote>
<p>
The patchbot complains that there is a non-ascii character. But I cannot identify it. So, what is it?
</p>
<p>
The patchbot complains about pyflakes. But the error is "<a class="missing wiki">NameError?</a>: name 'isPythonFile' is not defined". Doesn't that mean there is a bug in the plugin, not in the changeset?
</p>
<p>
The patchbot complains about startup time. I don't know how to interpret the numbers, so I don't know how much of a problem we have here.
</p>
<p>
The test error is reproducible as follows:
</p>
<pre class="wiki">sage: K.<x> = GF(25)
sage: M = MatrixSpace(K,9,3,implementation='generic')()
sage: entries = [((0, 2), x), ((0, 4), 3*x + 2), ((0, 8), 2*x), ((1, 1), x + 3), ((1, 5), 3*x), ((1, 6), x + 4), ((2, 0), 2*x), ((2, 5), 4*x + 1)]
sage: for (i,j),v in entries: M[j,i]=v
sage: M
[ 0 0 2*x]
[ 0 x + 3 0]
[ x 0 0]
[ 0 0 0]
[3*x + 2 0 0]
[ 0 3*x 4*x + 1]
[ 0 x + 4 0]
[ 0 0 0]
[ 2*x 0 0]
sage: type(M)
<type 'sage.matrix.matrix_generic_dense.Matrix_generic_dense'>
sage: M._echelon_in_place('classical')
(0, 1, 2)
</pre><p>
Hence, <code>M._echelon_in_place_classical</code> behaves differently for Matrix_gfpn_dense and for generic implementation. That indeed needs to be fixed.
</p>
TicketSimonKingSat, 02 Jun 2018 09:59:43 GMT
https://trac.sagemath.org/ticket/25476#comment:27
https://trac.sagemath.org/ticket/25476#comment:27
<p>
The generic implementation's documentation does not state what return value it gives. However, it apparently returns the pivots. So, I guess I shall modify the _echelon_in_place_classical method of Matrix_gfpn_dense.
</p>
TicketgitSat, 02 Jun 2018 15:00:47 GMTcommit changed
https://trac.sagemath.org/ticket/25476#comment:28
https://trac.sagemath.org/ticket/25476#comment:28
<ul>
<li><strong>commit</strong>
changed from <em>4eae803913d67d3f46f58e56d3524c9b4f73b002</em> to <em>e2f0550696a5dbc9e0cd595d1eda7d9b9048d06d</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=e2f0550696a5dbc9e0cd595d1eda7d9b9048d06d"><span class="icon"></span>e2f0550</a></td><td><code>Specify that _echelon_in_place shall return the pivots</code>
</td></tr></table>
TicketSimonKingSat, 02 Jun 2018 15:02:01 GMTstatus, author changed
https://trac.sagemath.org/ticket/25476#comment:29
https://trac.sagemath.org/ticket/25476#comment:29
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
<li><strong>author</strong>
changed from <em>Travis Scrimshaw</em> to <em>Travis Scrimshaw, Simon King</em>
</li>
</ul>
<p>
Done! Should work now, regardless whether meataxe is installed or not. Hopefully someone can review the last commit.
</p>
TicketSimonKingSat, 02 Jun 2018 18:37:40 GMT
https://trac.sagemath.org/ticket/25476#comment:30
https://trac.sagemath.org/ticket/25476#comment:30
<pre class="wiki">----------------------------------------------------------------------
sage -t src/sage/rings/padics/padic_base_leaves.py # Timed out
sage -t src/sage/rings/padics/padic_lattice_element.py # Timed out
sage -t src/sage/tests/cmdline.py # 2 doctests failed
sage -t src/sage/symbolic/integration/integral.py # 1 doctest failed
sage -t src/sage/combinat/tutorial.py # 2 doctests failed
sage -t src/sage/groups/perm_gps/permgroup_named.py # 2 doctests failed
sage -t src/sage/combinat/words/paths.py # 1 doctest failed
sage -t src/sage/symbolic/integration/external.py # 3 doctests failed
sage -t src/sage/combinat/designs/bibd.py # 1 doctest failed
sage -t src/sage/databases/oeis.py # 34 doctests failed
sage -t src/sage/coding/databases.py # 2 doctests failed
sage -t src/doc/en/developer/coding_basics.rst # 1 doctest failed
sage -t src/sage/combinat/integer_lists/invlex.pyx # 1 doctest failed
sage -t src/sage/repl/load.py # 1 doctest failed
sage -t src/sage/databases/findstat.py # 8 doctests failed
sage -t src/sage/combinat/designs/ext_rep.py # 1 doctest failed
sage -t src/sage/finance/stock.py # 20 doctests failed
sage -t src/sage/structure/sage_object.pyx # 2 doctests failed
----------------------------------------------------------------------
Total time for all tests: 4047.7 seconds
cpu time: 8523.9 seconds
cumulative wall time: 10809.1 seconds
External software detected for doctesting: internet,latex
Traceback (most recent call last):
File "/home/king/Sage/git/sage/src/bin/sage-runtests", line 127, in <module>
err = DC.run()
File "/home/king/Sage/git/sage/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1176, in run
+ ','.join(available_software.seen()))
File "/home/king/Sage/git/sage/local/lib/python2.7/site-packages/sage/doctest/control.py", line 583, in log
self.logger.write(s + end)
File "/home/king/Sage/git/sage/local/lib/python2.7/site-packages/sage/doctest/control.py", line 250, in write
f.write(x)
ValueError: I/O operation on closed file
Makefile:132: recipe for target 'ptestall' failed
make: *** [ptestall] Error 1
</pre><p>
Ouch.
</p>
TicketSimonKingSat, 02 Jun 2018 18:39:51 GMT
https://trac.sagemath.org/ticket/25476#comment:31
https://trac.sagemath.org/ticket/25476#comment:31
<p>
But these failures seem all to be "optional: internet". Anyway, I got them with <code>make ptestall</code>.
</p>
TicketSimonKingSat, 02 Jun 2018 18:40:41 GMT
https://trac.sagemath.org/ticket/25476#comment:32
https://trac.sagemath.org/ticket/25476#comment:32
<p>
PS: I'll try again with a clean develop branch.
</p>
TicketSimonKingSat, 02 Jun 2018 19:29:11 GMT
https://trac.sagemath.org/ticket/25476#comment:33
https://trac.sagemath.org/ticket/25476#comment:33
<p>
Loads of errors, but at least the last few errors I saw are due to what was fixed in this ticket.
</p>
<p>
Frustrating.
</p>
TicketSimonKingSat, 02 Jun 2018 19:35:48 GMT
https://trac.sagemath.org/ticket/25476#comment:34
https://trac.sagemath.org/ticket/25476#comment:34
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:33" title="Comment 33">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
Loads of errors, but at least the last few errors I saw are due to what was fixed in this ticket.
</p>
<p>
Frustrating.
</p>
</blockquote>
<p>
The "optional - internet" tests are failing, too.
</p>
TicketSimonKingSat, 02 Jun 2018 20:40:46 GMT
https://trac.sagemath.org/ticket/25476#comment:35
https://trac.sagemath.org/ticket/25476#comment:35
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:33" title="Comment 33">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
Frustrating.
</p>
</blockquote>
<p>
By "frustrating" I mean the fact that a clean develop branch doesn't pass tests. So, how could one possibly do development without a proper base to start with.
</p>
TicketjhpalmieriSat, 02 Jun 2018 21:34:52 GMT
https://trac.sagemath.org/ticket/25476#comment:36
https://trac.sagemath.org/ticket/25476#comment:36
<p>
The internet tests failing are in some sense recent: Sage is supposed to automatically test for an internet connection and then run those tests, but the function <code>has_internet</code> was incorrectly returning <code>False</code> until a recent fix (<a class="closed ticket" href="https://trac.sagemath.org/ticket/25222" title="defect: has_internet is broken (closed: fixed)">#25222</a>). Now lots of tests are failing, but there are tickets for them (<a class="closed ticket" href="https://trac.sagemath.org/ticket/25474" title="defect: Few internet doctests failed in 6 files (closed: fixed)">#25474</a>, <a class="closed ticket" href="https://trac.sagemath.org/ticket/25472" title="defect: 18 internet doctests failed in databases/findstat.py (closed: fixed)">#25472</a>, and some others). You could turn off your internet while running tests, or just specify testing those tests marked optional with the <code>meataxe</code> tag.
</p>
TickettscrimSun, 03 Jun 2018 07:53:41 GMT
https://trac.sagemath.org/ticket/25476#comment:37
https://trac.sagemath.org/ticket/25476#comment:37
<p>
You can also run the tests manually with <code>sage -b</code> (with <code>--optional=sage,meataxe</code>, but I think <code>internet</code> gets excluded from those tests and the default is sufficient).
</p>
TicketjdemeyerMon, 04 Jun 2018 08:19:56 GMT
https://trac.sagemath.org/ticket/25476#comment:38
https://trac.sagemath.org/ticket/25476#comment:38
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:35" title="Comment 35">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
So, how could one possibly do development without a proper base to start with.
</p>
</blockquote>
<p>
Don't use <code>make ptestall</code> if you don't want all external tests to be run. Instead, use <code>make ptest</code>.
</p>
TicketjdemeyerMon, 04 Jun 2018 12:33:00 GMT
https://trac.sagemath.org/ticket/25476#comment:39
https://trac.sagemath.org/ticket/25476#comment:39
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/25476#comment:29" title="Comment 29">SimonKing</a>:
</p>
<blockquote class="citation">
<p>
Hopefully someone can review the last commit.
</p>
</blockquote>
<p>
Travis, can you do that? This is making it very hard to work on any matrix-related ticket (like <a class="closed ticket" href="https://trac.sagemath.org/ticket/23719" title="enhancement: Move matrices to new coercion model (closed: fixed)">#23719</a>, <a class="closed ticket" href="https://trac.sagemath.org/ticket/25079" title="defect: Use _mul_long Matrix*int (closed: fixed)">#25079</a> and <a class="closed ticket" href="https://trac.sagemath.org/ticket/25504" title="defect: Implement _an_element_ for matrix spaces (closed: fixed)">#25504</a>)
</p>
TickettscrimTue, 05 Jun 2018 00:12:23 GMTstatus, reviewer changed
https://trac.sagemath.org/ticket/25476#comment:40
https://trac.sagemath.org/ticket/25476#comment:40
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>positive_review</em>
</li>
<li><strong>reviewer</strong>
changed from <em>Simon King</em> to <em>Simon King, Travis Scrimshaw</em>
</li>
</ul>
<p>
LGTM. Thank you.
</p>
TicketvbraunThu, 07 Jun 2018 22:15:20 GMTstatus, branch changed; resolution set
https://trac.sagemath.org/ticket/25476#comment:41
https://trac.sagemath.org/ticket/25476#comment:41
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
<li><strong>branch</strong>
changed from <em>public/linear_algebras/fix_meataxe_echelon-25476</em> to <em>e2f0550696a5dbc9e0cd595d1eda7d9b9048d06d</em>
</li>
</ul>
Ticket