[ python-Bugs-1092225 ] IDLE hangs due to subprocess

SourceForge.net noreply at sourceforge.net
Sat Jan 1 18:17:38 CET 2005


Bugs item #1092225, was opened at 2004-12-28 10:31
Message generated for change (Comment added) made by kbk
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1092225&group_id=5470

Category: IDLE
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: ZACK (kitanek)
>Assigned to: Kurt B. Kaiser (kbk)
Summary: IDLE hangs due to subprocess

Initial Comment:
IDLE GUI hangs after some time when launched in the
default mode (i.e. with the subprocess).
I have noticed that the subprocess generates fast
continuous stream of system calls even if the GUI is
not used and not visible (moved to another desktop).
Example output from strace (strace -f idle):

...
[pid  5359] <... select resumed> )      = 0 (Timeout)
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5359] select(4, [3], [], [], {0, 50000}
<unfinished ...>
[pid  5355] <... futex resumed> )       = -1 ETIMEDOUT
(Connection timed out)
[pid  5355] write(7, "\0", 1 <unfinished ...>
[pid  5356] <... select resumed> )      = 1 (in [6])
[pid  5355] <... write resumed> )       = 1
[pid  5356] futex(0x81c7250, FUTEX_WAIT, 2, NULL
<unfinished ...>
[pid  5355] futex(0x81c7250, FUTEX_WAKE, 1 <unfinished ...>
[pid  5356] <... futex resumed> )       = -1 EAGAIN
(Resource temporarily unavailable)
[pid  5355] <... futex resumed> )       = 0
[pid  5356] futex(0x81c7250, FUTEX_WAKE, 1 <unfinished ...>
[pid  5355] gettimeofday( <unfinished ...>
[pid  5356] <... futex resumed> )       = 0
[pid  5355] <... gettimeofday resumed> {1104246902,
467914}, {4294967236, 0}) = 0
[pid  5356] read(6,  <unfinished ...>
[pid  5355] gettimeofday( <unfinished ...>
[pid  5356] <... read resumed> "\0", 1) = 1
[pid  5355] <... gettimeofday resumed> {1104246902,
468040}, {4294967236, 0}) = 0
[pid  5356] select(7, [6], [], [], NULL <unfinished ...>
[pid  5355] select(6, [5], [], [], {0, 50000}
<unfinished ...>
[pid  5357] <... select resumed> )      = 0 (Timeout)
[pid  5357] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5357] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5357] select(0, NULL, NULL, NULL, {0, 50000}
<unfinished ...>
[pid  5359] <... select resumed> )      = 0 (Timeout)
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
[pid  5359] futex(0x81fb798, FUTEX_WAKE, 1) = 0
...

If IDLE is launched without the subprocess (idle -n)
than it seems to run just fine without the syscall storm:

futex(0x83d1fa0, FUTEX_WAIT, 200, NULL



----------------------------------------------------------------------

>Comment By: Kurt B. Kaiser (kbk)
Date: 2005-01-01 12:17

Message:
Logged In: YES 
user_id=149084

The socket is polled by the GUI and the subprocess.  What you 
are seeing is the normal delays and polls.  Without the 
subprocess there is no socket and therefore no polling.

Further information is needed.  When IDLE "hangs", does the
GUI become inactive?  Can the subprocess be restarted?  Is
there any evidence (via ps etc.) that the system is running out
of some resource?  Does the problem occur if you send a 
continuous stream of characters to stdout?  Is the interval
to a "hang" always the same?

----------------------------------------------------------------------

Comment By: ZACK (kitanek)
Date: 2004-12-28 10:38

Message:
Logged In: YES 
user_id=1159448

Sorry, I forgot the system specs:

Debian Linux, unstable branche (SID)
Kernel 2.6.9-1-686
Python 2.3.4 (#2, Dec  3 2004, 13:53:17)
[GCC 3.3.5 (Debian 1:3.3.5-2)] on linux2
glib-config --version = 1.2.10

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1092225&group_id=5470


More information about the Python-bugs-list mailing list