Hi,
On Tue, Mar 03, 2015 at 10:44:06PM +0100, Jeroen Demeyer wrote:
> On 2015-03-03 22:06, Nicolas M. Thiery wrote:
> >Any idea of what might go wrong?
> Does "docker" involve unexpected forking or multi-threading?
I don't know. In a first approximation, this should be similar to
running within a virtual machine. But there may be peculiarities with
certain system calls since we are using the host kernel.
Vincent, any clue?
> I have seen that error before and it usually happens because there
> is a duplicate process in the doctester somehow.
Ok.
> Also: can you please post the *actual* and *complete* output from
> running the command you posted?
Sure thing, see below. I ran the test in verbose mode in case that
would be useful.
Thanks!
Cheers,
Nicolas
root@xxx:~# docker run -t -i sagemath/sage su - sage
Last login: Thu Nov 27 15:28:05 GMT 2014
[sage@63182b1b1561 ~]$ uname -a
Linux 63182b1b1561 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[sage@63182b1b1561 ~]$ cd sage-6.4.1/
[sage@63182b1b1561 sage-6.4.1]$ ./sage -v
Sage Version 6.4.1, Release Date: 2014-11-23
[sage@63182b1b1561 sage-6.4.1]$ cat > bla.py << EOF
> 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)
> """
> EOF
[sage@63182b1b1561 sage-6.4.1]$ ./sage -t --verbose bla.py
init.sage does not exist ... creating
no stored timings available
Running doctests with ID 2015-03-04-07-53-04-191d76e2.
Doctesting 1 file.
sage -t bla.py
Trying (line 2): from sage.interfaces.qsieve import qsieve
Expecting nothing
ok [0.00 s]
Trying (line 3): k = 19; n = next_prime(10^k)*next_prime(10^(k+1))
Expecting nothing
ok [0.00 s]
Trying (line 5): q = qsieve(next_prime(10^20)*next_prime(10^21), block=False)
Expecting nothing
ok [0.23 s]
Trying (line 6): sig_on_count()
Expecting:
0
ok [0.00 s]
1 item passed all tests:
4 tests in bla
4 tests in 1 item.
4 passed and 0 failed.
Test passed.
Process DocTestWorker-1:
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
**********************************************************************
Tests run before process (pid=108) failed:
sage: from sage.interfaces.qsieve import qsieve ## line 2 ##
sage: k = 19; n = next_prime(10^k)*next_prime(10^(k+1)) ## line 3 ##
sage: q = qsieve(next_prime(10^20)*next_prime(10^21), block=False) ## line 5 ##
sage: sig_on_count() ## line 6 ##
0
**********************************************************************
----------------------------------------------------------------------
sage -t bla.py # Bad exit: 1
----------------------------------------------------------------------
Total time for all tests: 0.4 seconds
cpu time: 0.0 seconds
cumulative wall time: 0.0 seconds
[sage@63182b1b1561 sage-6.4.1]$ logout