Dear Sage developers, A colleague of mine (Vincent Neri, in CC) is investigating the usage of docker to run multiple instances of the sage patchbot within sandboxes on a cluster here. This works smoothly, except that the doctesting framework fails mysteriously on three files, and we haven't been able to debug. So this is a blocker for moving further, and help would be much appreciated.
Vincent tried the docker centos-based image built by Volker: https://github.com/sagemath/docker He also built his own docker images using several other linux distributions and various recent versions of Sage (including 6.4.1 and 6.5). In all cases, all tests pass smoothly, except for three files: sage -t --warn-long 19.5 src/sage/interfaces/qsieve.py # Bad exit: 1 sage -t --warn-long 19.5 local/lib/python2.7/site-packages/sagenb-0.11.4-py2.7.egg/sagenb/notebook/worksheet.py # Bad exit: 1 sage -t --warn-long 19.5 local/lib/python2.7/site-packages/sagenb-0.11.4-py2.7.egg/sagenb/notebook/cell.py # Bad exit: 1 In all three cases, it's actually the doctesting framework that fails, somewhere during the multiprocessing handling: Traceback (most recent call last): File "/home/sage/sage-6.4.1/local/lib/python/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/home/sage/sage-6.4.1/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1839, in run task(self.options, self.outtmpfile, msgpipe, self.result_queue) File "/home/sage/sage-6.4.1/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2159, in __call__ result_queue.put(result, False) File "/home/sage/sage-6.4.1/local/lib/python/multiprocessing/queues.py", line 102, in put raise Full Full Bad exit: 1 The failing line in queues.py is doing something like acquiring a semaphore: if not self._sem.acquire(block, timeout): The failure occurs as well when running the tests on a single file (thus without real need for multiprocessing). Steps to reproduce: > docker run -t -i sagemath/sage su - sage > cd sage-6.4.1/ > ./sage -t src/sage/interfaces/qsieve.py Occasionally another test file fails similarly. There can also be some minor unrelated failures in sagedev.py, but we are not worried about those. As a complement, here is a minimal file that triggers a systematic failure: =====8<----------------------- bla.py r""" sage: from sage.interfaces.qsieve import qsieve sage: k = 19; n = next_prime(10^k)*next_prime(10^(k+1)) sage: v, t = qsieve(n, time=True) # uses qsieve; optional - time sage: q = qsieve(next_prime(10^20)*next_prime(10^21), block=False) """ =====8<----------------------- Any idea of what might go wrong? Thanks! Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- 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 post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.