homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: import deadlocks when using fork
Type: crash Stage:
Components: None Versions: Python 2.4
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: Ringding, abaron, apevec, benjamin.peterson
Priority: normal Keywords:

Created on 2009年05月03日 11:50 by abaron, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Messages (3)
msg87044 - (view) Author: ayal baron (abaron) Date: 2009年05月03日 11:50
While running 2 or more threads, if one thread is importing anything
(i.e. has the import lock) and the other thread runs fork and then the
child process runs import then the child and parent will hang forever
(the child waits on the import lock but the parent receives the signal).
see Issue1590864 for another example of this.
Following is a simple way to reproduce this behavior:
mysleep.py:
import time
time.sleep(1)
run_me_and_hang.py:
import os
import threading
import subprocess
class F(threading.Thread):
	def run(self):
		import mysleep
		print "f is out"
f = F()
f.start()
a = subprocess.call(["echo", "DONE"])
print "exit"
msg87737 - (view) Author: Alan Pevec (apevec) Date: 2009年05月14日 13:31
Issue is not reproducible with python 2.5, following patch fixes it on
python 2.4:
--- os.py-2.4 2009年05月14日 12:54:08.000000000 +0000
+++ os.py 2009年05月14日 13:06:21.000000000 +0000
@@ -351,8 +351,8 @@
 __all__.extend(["execl","execle","execlp","execlpe","execvp","execvpe"])
+from errno import ENOENT, ENOTDIR
 def _execvpe(file, args, env=None):
- from errno import ENOENT, ENOTDIR
 if env is not None:
 func = execve
msg87747 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2009年05月14日 17:24
2.4 is no longer supported.
History
Date User Action Args
2022年04月11日 14:56:48adminsetgithub: 50162
2009年05月14日 17:24:19benjamin.petersonsetstatus: open -> closed

nosy: + benjamin.peterson
messages: + msg87747

resolution: out of date
2009年05月14日 13:31:42apevecsetnosy: + apevec

messages: + msg87737
versions: - Python 2.6, Python 2.5
2009年05月05日 08:17:57Ringdingsetnosy: + Ringding
2009年05月03日 11:50:27abaroncreate

AltStyle によって変換されたページ (->オリジナル) /