Dan Drake and I have released Sage 4.5.2.rc0. The source is at
http://sage.math.washington.edu/home/release/sage-4.5.2.rc0/sage-4.5.2.rc0.tar
Here's an upgrade path:
http://sage.math.washington.edu/home/release/sage-4.5.2.rc0/sage-4.5.2.rc0/
The long doctests pass for us on bsd and sage.math. The t2 tests are
underway. Please build, test, and report!
This release is still in feature freeze. We don't plan to merge any
tickets unless they fix blocker issues.
== Known issues ==
A doctest failure in schemes/elliptic_curves/ell_number_field.py on
32-bit Ubuntu 9.04 x86 (Pentium 4 Prescott, gcc 4.3.3). This is a blocker:
http://trac.sagemath.org/sage_trac/ticket/9659
== Tickets ==
We merged 7 tickets in sage-4.5.2.rc0:
#8465: Minh Van Nguyen, John Palmieri: move the document "Python
Functional Programming for Mathematicians" to the classification
"Thematic Tutorials" [Reviewed by John Palmieri, Leif Leonhardy]
#9582: Carl Witty: Term order discrepancy in random test on OS X
[Reviewed by Mitesh Patel]
#9607: Rob Beezer: Doctest failure in latex.rst [Reviewed by John Palmieri]
#9608: Mitesh Patel: Docbuild warnings in sage/interfaces/matlab.py
[Reviewed by John Palmieri]
#9609: Dan Drake: Remove unnecessary files from spkg/standard [Reviewed
by John Palmieri]
#9615: Rishikesh: doctest failures with lcalc functions in 4.5.2.alpha1
[Reviewed by Dan Drake]
#9616: Mitesh Patel: Errno 16 / NFS problems with parallel/decorate.py
[Reviewed by John Palmieri]
I've seen such (I don't remember if exactly there, but the same
exception/error message) on a single-core when doctesting in parallel
with too many threads.
-Leif
I've opened
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To post to this group, send email to sage-r...@googlegroups.com.
> To unsubscribe from this group, send email to sage-release...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-release?hl=en.
>
>
[aghitza@soleil sage-4.5]$ uname -a
Linux soleil.ms.unimelb.edu.au 2.6.18-194.8.1.el5 #1 SMP Wed Jun 23 10:52:51 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
Best,
Alex
--
Alex Ghitza -- http://aghitza.org/
Lecturer in Mathematics -- The University of Melbourne -- Australia
John
I've give it positive review
Dave
According to the release announcement here, rc0 has built fine and
passed all (long) tests on bsd.math, which is a MacOS X 10.4.0 box.
-Leif
Oh. Sorry.
> I'll see if I can confirm this problem on my own 10.4 (Tiger) box, but
> gsw's explanation makes perfect sense.
I thought that, too, but wondered why it worked on bsd.math (and other
OS X boxes). I do not deal with apples though.
-Leif
I ordered a new fast internal disk for t2 today (with David Kirkby's help).
>
> Mac OS X 10.6, 64-bit: all tests passed
>
> skynet machines cicero, cleo, eno, flavius, lena, menas, sextus,
> taurus: all tests passed.
>
> skynet machine iras: two non-repeatable failures: graphs/genus.pyx (I
> reported the same problem for the alpha releases) and schemes/
> elliptic_curves/BSD.py.
>
> skynet machine mark (solaris on sparc): after using the cvxopt spkg
> from #9657, one failure: a timeout on ssmod.py. Given the slowness of
> this machine, it's not a surprise that it has a timeout failure. If we
> get #9657 merged, this machine will then build Sage successfully "out
> of the box". This is progress.
>
> skynet machine fulvia (solaris on x86, 32-bit): R fails to build. If
> I then touch spkg/installed/r-..., everything else builds, and there
> are about 10 files with doctest failures. Not a blocker for this
> release (but perhaps for Sage 5.0?) since this platform is not yet
> officially supported. We need to working on it, though: see #9026 and
> related tickets.
>
> fulvia (64-bit): lots of problems here, as discussed at #9026. Again,
> not a blocker.
>
> --
> John
>
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To post to this group, send email to sage-r...@googlegroups.com.
> To unsubscribe from this group, send email to sage-release...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-release?hl=en.
>
>
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
> Hello,
>
> Dan Drake and I have released Sage 4.5.2.rc0. The source is at
>
> http://sage.math.washington.edu/home/release/sage-4.5.2.rc0/sage-4.5.2.rc0.tar
Built from scratch on Mac OS X, 10.5.8 (dual quad Xeon). No problems
and all tests passed. 10.6 build to follow.
--
Justin C. Walker, Curmudgeon at Large
Institute for the Absorption of Federal Funds
-----------
My wife 'n kids 'n dogs are gone,
I can't get Jesus on the phone,
But Ol' Milwaukee's Best is my best friend.
-----------
FWIW, I did see exactly the same two doctest errors (and also only
these) when running "make ptestlong" (with only the default number of
threads, which is 2 on a [single-core] Pentium 4 with HT) the first time
on 4.5.2 (final), system otherwise idling.
I've *never* seen these before with just 2 threads on that machine
(running Ubuntu 9.04 x86); they didn't show up in a second run.
I note Leif says today:
========================================
I've *never* seen these before with just 2 threads on that machine
(running Ubuntu 9.04 x86); they didn't show up in a second run.
=========================================
(Both comments were on sage-release, but seem more appropite to put on sage-devel).
Why are so many tests failing, but then passing on reruns?
This is happening far too often, where tests fail, but then pass. I've seen it
on Linux, OS X and Solaris, with several different tests.
I've seen it on my Blade 2000 which has ony 2 CPUs but 8 GB RAM. Theres no way
that should be a resource shortage. (I often run tests on my Blade 1000, which
has a lot less RAM, so I can attribute the odd failure to a resource shortage).
I think the tickets that aim to improve the doctesting framework should be given
fairly high priority in merging them. (I did not write one single one of them!!!)
Seriously though, if we can't trust the doctests, what can we trust?
Another possibility is that the code may be buggy, so pass some times and fail
others. It might be worth running any tests which fail then pass a large number
of times.
This gets back to the point I made to you before about thinking about how things
might fail - not fixing bugs when someone reports a failure.
But I think the problem extends well beyond a few lines you may have wrote in
one bit of code. I've seen this so many times now, with code written by
different people. BSD.py has often been a cause of failures for me, which later
pass.
I created a wiki page where people can list doctests which fail then pass.
http://wiki.sagemath.org/doctests-that-fail-then-pass
Hopefully some culprits can be identified, and those looked at in more detail in
case they have code which like yours has a small probability of failing under
some cases.
I think part of the problem may be resource shortages, which can result in
timeouts. Unfortunately, some timeouts have been reported as "missing files",
though I think that bug has been squashed now.
I know someome remarked one test was taking over 1 GB RAM on his system and when
I tested it, it was over 500 MB. Those sort of tests, could easily cause
problems on systems with little RAM, especially if they happen to be run in
parallel with another test that uses a lot of RAM.
Dave
Not really. I knew this docstring could fail, it is just very unikely.
Take 1000 random numbers between 0 and 10, and check their mean is
between 4 and 6. Yeah, of course it can fail. You can take a long list
of "0". The very same happened for this docstring. When you are taking
a random graph, there is a non-zero probability that it has no
edges... It is just... unlikely :-D
> But I think the problem extends well beyond a few lines you may have wrote
> in one bit of code. I've seen this so many times now, with code written by
> different people. BSD.py has often been a cause of failures for me, which
> later pass.
>
> I created a wiki page where people can list doctests which fail then pass.
>
> http://wiki.sagemath.org/doctests-that-fail-then-pass
Of course, any doctest which does not pass should be immediately
fixed. We can consider ourselves lucky when the actualy mistake is in
the docstring, and not the methods themselves :-)
> Hopefully some culprits can be identified and those looked at in more
> detail in case they have code which like yours has a small probability of
> failing under some cases.
<.<
>.>
> I think part of the problem may be resource shortages, which can result in
> timeouts. Unfortunately, some timeouts have been reported as "missing
> files", though I think that bug has been squashed now.
Not in this case. That code requires almost no ressources. This
failure just means that everybody can hope to win at the lottery :-D
> I know someome remarked one test was taking over 1 GB RAM on his system and
> when I tested it, it was over 500 MB. Those sort of tests, could easily
> cause problems on systems with little RAM, especially if they happen to be
> run in parallel with another test that uses a lot of RAM.
LP sometimes requires things like that... I think the worst docstring
on this regard in the Graph/LP library is Graph.is_minor, and it is
not ~so~ bad....
Nathann
That's why we use *pseudo* random numbers. Such doctests should be the
same across different systems, and in every run on the same machine.
(It's not a bad idea to add a doctest ensuring this, i.e. comparing the
graph to the one expected.)
>
>> But I think the problem extends well beyond a few lines you may have wrote
>> in one bit of code. I've seen this so many times now, with code written by
>> different people. BSD.py has often been a cause of failures for me, which
>> later pass.
>>
>> I created a wiki page where people can list doctests which fail then pass.
>>
>> http://wiki.sagemath.org/doctests-that-fail-then-pass
Fill it! ;-)
>
> Of course, any doctest which does not pass should be immediately
> fixed. We can consider ourselves lucky when the actualy mistake is in
> the docstring, and not the methods themselves :-)
Some doctest fixes do just the opposite; they fix the symptom rather
than (try to track down and fix) the cause.
Though there have been IMHO needless changes to the actual code rather
than just the doctest, too, e.g. adding sorted(...) around returned
values in the tested function itself, rather than just sorting prior to
comparison in the doctest.
>
>> Hopefully some culprits can be identified and those looked at in more
>> detail in case they have code which like yours has a small probability of
>> failing under some cases.
No doctest should have a small probability of failing; except for e.g.
memory addresses or pids given in examples (not really tests), all
doctests should be deterministic (see above wrt. random numbers).
>
> <.<
>
>> .>
>
>> I think part of the problem may be resource shortages, which can result in
>> timeouts. Unfortunately, some timeouts have been reported as "missing
>> files", though I think that bug has been squashed now.
I think the odd "file not found" is finally past. (Btw, the logs are
made to allow investigation of the real causes.)
>
> Not in this case. That code requires almost no ressources. This
> failure just means that everybody can hope to win at the lottery :-D
>
>> I know someome remarked one test was taking over 1 GB RAM on his system and
>> when I tested it, it was over 500 MB. Those sort of tests, could easily
>> cause problems on systems with little RAM, especially if they happen to be
>> run in parallel with another test that uses a lot of RAM.
I've successfully built and tested Sage on a system (also running a GUI)
with just 768MB RAM (without ever swapping); watching the memory
consumption during building and testing, I'm quite sure half of that
would suffice. (Requirements of course rise when building/testing in
parallel, but I also didn't observe excessive memory usage with 6 or 16
threads on other machines.)
[Not testing return codes of critical functions is of course another
issue, and one potential cause of such failures. Despite having (badly
documented) exceptions, I wish Python had something like
"-Wunused-result" (and "-Werror")...]
I don't remember any of such irreproducible doctest failures being
reported from sequential testing, so to me these smell more of
non-reentrant code, or broken synchronization that's meant to avoid race
conditions.
-Leif
You were the one that reported the failure earlier today!
> I've successfully built and tested Sage on a system (also running a GUI)
> with just 768MB RAM (without ever swapping); watching the memory
> consumption during building and testing, I'm quite sure half of that
> would suffice. (Requirements of course rise when building/testing in
> parallel, but I also didn't observe excessive memory usage with 6 or 16
> threads on other machines.)
Jeroen Demeyer reported some of the doctests related to elliptic curves used a
lot of RAM (> 1 GB). When I asked for a particular test, he said:
sage/schemes/elliptic_curves/heegner.py
When I run the doctest, it used just under 700 MB for me on a 32-bit Solaris
SPARC build. (I'm guessing it might use more on a 64-bit build, depending on how
the data is stored).
I believe BSD.py is related to elliptic curves - that test has failed for me
more than once, then passed.
> I don't remember any of such irreproducible doctest failures being
> reported from sequential testing, so to me these smell more of
> non-reentrant code, or broken synchronization that's meant to avoid race
> conditions.
>
>
> -Leif
Yes, I think sequential testing is more reliable - just a lot slower on
multi-core machines.
Dave
Not really, I just "confirmed" a doctest error previously reported by
Marshall Hampton, for rc0. ;-)
>> I don't remember any of such irreproducible doctest failures being
>> reported from sequential testing, so to me these smell more of
>> non-reentrant code, or broken synchronization that's meant to avoid race
>> conditions.
>
> Yes, I think sequential testing is more reliable - just a lot slower on
> multi-core machines.
:-) I didn't want to say "don't test in parallel", but name a possible
reason that should be examined, since running "normal" code in parallel
(or even running Sage on heavy-loaded machines) might give similar
errors, caused by the same thing.
-Leif
>>> I don't remember any of such irreproducible doctest failures being
>>> reported from sequential testing, so to me these smell more of
>>> non-reentrant code, or broken synchronization that's meant to avoid race
>>> conditions.
>>
>> Yes, I think sequential testing is more reliable - just a lot slower on
>> multi-core machines.
>
> :-) I didn't want to say "don't test in parallel", but name a possible
> reason that should be examined, since running "normal" code in parallel
> (or even running Sage on heavy-loaded machines) might give similar
> errors, caused by the same thing.
>
>
> -Leif
I do not know enough about the doc testing framework to really comment. I'd like
to see the times of tests recorded, so one could correlated that with RAM usage,
CPU usage, system error messages.
I know there are problems on the *.math network due to the fact the ZIL log has
been disabled on disk.math. Some of the failures might be due to that, as I see
error messages on t2 that relate to NFS errors. Being about to correlate times
of failures with system log messages would be useful.
If a doc test is taking over 1 GB on one machine, but you can doctest sage in
768 MB of RAM without swapping, then something is strange.
I don't really trust the doctests much. I don't however to claim to know what's
wrong.