#18741: Random failure in sagespawn.pyx
-------------------------------+------------------------
Reporter: vbraun | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-6.8
Component: interfaces | Resolution:
Keywords: random_fail | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-------------------------------+------------------------
Changes (by vbraun):
* cc: jdemeyer (added)
Comment:
On OSX:
{{{
sage -t --long src/sage/interfaces/sagespawn.pyx
Bad exit: 1
**********************************************************************
Tests run before process (pid=73714) failed:
sage: from sage.interfaces.sagespawn import SageSpawn ## line 45 ##
sage: SageSpawn("sleep 1", name="Sleeping Beauty") ## line 46 ##
Sleeping Beauty with PID 73715 running /bin/sleep 1
sage: sig_on_count() ## line 48 ##
0
sage: from sage.interfaces.sagespawn import SageSpawn ## line 67 ##
sage: s = SageSpawn("true", name="stupid process") ## line 68 ##
sage: s # indirect doctest ## line 69 ##
stupid process with PID 73717 running /usr/bin/true
sage: while s.isalive(): # Wait until the process finishes
sleep(0.1) ## line 71 ##
sage: s # indirect doctest ## line 73 ##
stupid process finished running /usr/bin/true
sage: sig_on_count() ## line 75 ##
0
sage: from sage.interfaces.sagespawn import SageSpawn ## line 96 ##
sage: s = SageSpawn("sh", ["-c", "while true; do sleep 1; done"]) ## line
97 ##
sage: s._keep_alive() ## line 98 ##
sage: pid = s.pid ## line 99 ##
sage: del s ## line 100 ##
sage: import gc ## line 101 ##
sage: _ = gc.collect() ## line 102 ##
sage: from signal import SIGTERM ## line 107 ##
sage: os.kill(pid, SIGTERM) ## line 108 ##
sage: sig_on_count() ## line 109 ##
0
sage: from sage.interfaces.sagespawn import SageSpawn ## line 122 ##
sage: s = SageSpawn("sleep 1000") ## line 123 ##
sage: s.close() ## line 124 ##
sage: while s.isalive(): # long time (5 seconds)
sleep(0.1) ## line 125 ##
sage: sig_on_count() ## line 127 ##
0
sage: from sage.interfaces.sagespawn import SageSpawn ## line 157 ##
sage: s = SageSpawn("sh", ["-c", "while true; do sleep 1; done"]) ## line
158 ##
sage: s.terminate_async(interval=0.2) ## line 163 ##
sage: while True:
try:
os.kill(s.pid, 0)
except OSError:
sleep(0.1)
else:
break # process got killed ## line 164 ##
sage: sig_on_count() ## line 171 ##
0
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/18741#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.