On 07/30/2010 01:54 AM, Craig Citro wrote: > So we're currently working on a long-overdue release of Cython with > all kinds of snazzy new features. However, our automated testing > system seems to keep turning up sporadic segfaults when running the > sage doctest suite. This is obviously bad, but we're having a hard > time reproducing this -- they seem to be *very* occasional failures > while starting up sage, and thus far the only consistent appearance > has been *within* our automated testing system (hudson). We've got a > pile of dumped cores, which have mostly led us to the conclusions that > (1) the problem occurs at a seemingly random point, so we should > suspect some sort of memory corruption, and (2) sage does a *whole* > lot of stuff when it starts up. ;) > [...] > After that, run the full test suite as many times as you're willing, > hopefully with and without parallel doctesting (i.e. sage -tp). Then > let us know what you turn up -- lots of random failures, or does > everything pass? Points for machines we can ssh into and generated > core files (ulimit -c unlimited), and even more points for anyone > seeing consistent/repeatable failures. I'd also be very interested of > reports that you've run the test suite N times with no failures.
Below are some results from parallel doctests on sage.math. In each of /mnt/usb1/scratch/mpatel/tmp/sage-4.4.4-cython /mnt/usb1/scratch/mpatel/tmp/sage-4.5.1-cython I have run (or am still running) ./tester | tee -a ztester & where 'tester' contains #!/bin/bash ulimit -c unlimited RUNS=20 for I in `seq 1 $RUNS`; do LOG="ptestlong-j20-$I.log" if [ ! -f "$LOG" ]; then echo "Run $I of $RUNS" nice ./sage -tp 20 -long -sagenb devel/sage > "$LOG" 2>&1 # grep -A2 -B1 dumped "$LOG" ls -lsFtr `find -type f -name core` | grep core | tee -a "$LOG" # Rename each core to core_cy.$I rm -f _ren find -name core -type f | awk '{print "mv "$0" "$0"_cy.'${I}'"}' > _ren . _ren fi done The log files and cores (renamed to core_cy.1, etc.) are still in/under SAGE_ROOT. I don't know if the results tell you more than you already know. For example, sage-4.5.1-cython$ for x in `\ls ptestlong-j20-*`; do grep "doctests failed" $x; done | grep -v "0 doctests failed" | sort | uniq -c 1 sage -t -long devel/sage/sage/graphs/graph.py # 2 doctests failed 19 sage -t -long devel/sage/sage/tests/startup.py # 1 doctests failed But sage-4.5.1-cython$ find -name core_cy\* | sort ./data/extcode/genus2reduction/core_cy.1 ./data/extcode/genus2reduction/core_cy.10 ./data/extcode/genus2reduction/core_cy.11 ./data/extcode/genus2reduction/core_cy.12 ./data/extcode/genus2reduction/core_cy.13 ./data/extcode/genus2reduction/core_cy.14 ./data/extcode/genus2reduction/core_cy.15 ./data/extcode/genus2reduction/core_cy.16 ./data/extcode/genus2reduction/core_cy.17 ./data/extcode/genus2reduction/core_cy.18 ./data/extcode/genus2reduction/core_cy.19 ./data/extcode/genus2reduction/core_cy.2 ./data/extcode/genus2reduction/core_cy.20 ./data/extcode/genus2reduction/core_cy.3 ./data/extcode/genus2reduction/core_cy.4 ./data/extcode/genus2reduction/core_cy.5 ./data/extcode/genus2reduction/core_cy.6 ./data/extcode/genus2reduction/core_cy.7 ./data/extcode/genus2reduction/core_cy.8 ./data/extcode/genus2reduction/core_cy.9 ./devel/sage-main/doc/fr/tutorial/core_cy.17 ./devel/sage-main/sage/algebras/core_cy.17 ./devel/sage-main/sage/categories/core_cy.4 ./devel/sage-main/sage/categories/core_cy.6 ./devel/sage-main/sage/combinat/root_system/core_cy.12 ./devel/sage-main/sage/databases/core_cy.1 ./devel/sage-main/sage/databases/core_cy.18 ./devel/sage-main/sage/ext/core_cy.18 ./devel/sage-main/sage/groups/matrix_gps/core_cy.5 ./devel/sage-main/sage/gsl/core_cy.4 ./devel/sage-main/sage/misc/core_cy.10 ./devel/sage-main/sage/misc/core_cy.17 ./devel/sage-main/sage/misc/core_cy.2 ./devel/sage-main/sage/modular/abvar/core_cy.7 ./devel/sage-main/sage/plot/plot3d/core_cy.19 ./devel/sage-main/sage/rings/core_cy.20 ./local/lib/python2.6/site-packages/sagenb-0.8.1-py2.6.egg/sagenb/testing/tests/core_cy.19 Should I test differently? -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org