New submission from Charles-François Natali: test_subprocess fails on OpenBSD/NetBSD buildbots: http://buildbot.python.org/all/builders/AMD64 NetBSD 5.1.2 [SB] 2.7/builds/158/steps/test/logs/stdio """
====================================================================== ERROR: test_kill_dead (test.test_subprocess.POSIXProcessTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 940, in test_kill_dead self._kill_dead_process('kill') File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 913, in _kill_dead_process getattr(p, method)(*args) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/subprocess.py", line 1506, in kill self.send_signal(signal.SIGKILL) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/subprocess.py", line 1496, in send_signal os.kill(self.pid, sig) OSError: [Errno 3] No such process ====================================================================== ERROR: test_send_signal_dead (test.test_subprocess.POSIXProcessTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 936, in test_send_signal_dead self._kill_dead_process('send_signal', signal.SIGINT) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 913, in _kill_dead_process getattr(p, method)(*args) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/subprocess.py", line 1496, in send_signal os.kill(self.pid, sig) OSError: [Errno 3] No such process ====================================================================== ERROR: test_terminate_dead (test.test_subprocess.POSIXProcessTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 944, in test_terminate_dead self._kill_dead_process('terminate') File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/test/test_subprocess.py", line 913, in _kill_dead_process getattr(p, method)(*args) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/subprocess.py", line 1501, in terminate self.send_signal(signal.SIGTERM) File "/home/cpython/buildslave/2.7.snakebite-netbsd51-amd64-1/build/Lib/subprocess.py", line 1496, in send_signal os.kill(self.pid, sig) OSError: [Errno 3] No such process """ According to POSIX, kill shoudln't fail with ESRCH on a zombie processes: """ Existing implementations vary on the result of a kill() with pid indicating an inactive process (a terminated process that has not been waited for by its parent). Some indicate success on such a call (subject to permission checking), while others give an error of [ESRCH]. Since the definition of process lifetime in this volume of POSIX.1-2008 covers inactive processes, the [ESRCH] error as described is inappropriate in this case. In particular, this means that an application cannot have a parent process check for termination of a particular child with kill(). (Usually this is done with the null signal; this can be done reliably with waitpid().) """ ---------- components: Tests keywords: buildbot, needs review, patch messages: 178045 nosy: neologix priority: low severity: normal stage: patch review status: open title: test_subprocess failure on OpenBSD/NetBSD buildbots type: behavior versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16762> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com