[wingide-users] supprocess.popen hangs on Ubuntu Hardy

Karl wingide at n808.otherinbox.com
Fri Apr 17 12:17:25 MDT 2009


If you run the attached trivialthread2.py script on your desktop in a
terminal it exits normally, with no processes left behind.

Now, instead run it inside WingIDE 3.1 (on Hardy). It appears to
complete, but look at what ps x tells you, even after exiting WingIDE.

The number of left-behind processes (out of 50) varies, but has been in
the 25-35 range. This happens only on Hardy, not on Gutsy.

You will have to 'killall -9 python' to get rid of the leftover processes.

ps x | grep python | wc
     30     441    8130


11496 pts/0    S      0:00 /usr/bin/python -u
/usr/lib/wingide-personal3.1/bin/wingdb.py 127.0.0.1:37894 0
--no-first-stop r''+chr(60)+r'none'+chr(62)+r'' --nowait-on-exit
11503 pts/0    S      0:00 /usr/bin/python -u
/usr/lib/wingide-personal3.1/bin/wingdb.py 127.0.0.1:37894 0
--no-first-stop r''+chr(60)+r'none'+chr(62)+r'' --nowait-on-exit

[....]

The attached script is contrived of course, but this problem prevents me
from running a larger application in WingIDE, where subprocess.popen()
hangs at os.read inside _read_no_intr in subprocess.py

        def _read_no_intr(self, fd, buffersize):
            """Like os.read, but retries on EINTR"""
            while True:
                try:
-->                 return os.read(fd, buffersize)
                except OSError, e:
                    if e.errno == errno.EINTR:
                        continue
                    else:
                        raise

-------------- next part --------------
A non-text attachment was scrubbed...
Name: trivialthread2.py
Type: text/x-python
Size: 487 bytes
Desc: not available
Url : /pipermail/wingide-users/attachments/20090417/31a761bb/trivialthread2.py


More information about the wingide-users mailing list