[pypy-issue] [issue737] Crash on OS X, maybe in RPyThreadAfterFork
Jean-Paul Calderone
tracker at bugs.pypy.org
Fri Jun 3 15:22:09 CEST 2011
New submission from Jean-Paul Calderone <exarkun at twistedmatrix.com>:
I tried to deploy a BuildBot slave on PyPy, but found the processes it was trying to
run would crash seemingly at random. I managed to reproduce the behavior with this
short Twisted-using example:
from twisted.python.log import err
from twisted.internet import reactor
from twisted.internet.utils import getProcessValue
from twisted.internet.task import LoopingCall
def main():
def launch():
print 'Launching'
d = getProcessValue("/bin/bash", ["-c", "echo $((1+2))"])
def report(result):
assert result == 0
return d.addCallback(report)
call = LoopingCall(launch)
call.start(0.01).addErrback(err)
reactor.resolve("www.google.com")
reactor.run()
if __name__ == '__main__':
main()
The expected correct behavior is for it to run forever launching short-lived bash
children. The observed behavior is that after 5 or 10 seconds the assertion fails,
indicating that the child process exited with either a non-zero exit status or due to a
signal. OS X generates a crash report at the same time indicating that the child
process crashed before it had exec'd bash due to either SIGSEGV or SIGBUS (sometimes
one, sometimes the other).
----------
messages: 2593
nosy: calderone, pypy-issue
priority: bug
release: 1.5
status: unread
title: Crash on OS X, maybe in RPyThreadAfterFork
________________________________________
PyPy bug tracker <tracker at bugs.pypy.org>
<https://bugs.pypy.org/issue737>
________________________________________
More information about the pypy-issue
mailing list