Issue786827
Created on 2003-08-11 16:58 by duanekaufman, last changed 2012-03-26 18:43 by asvetlov. This issue is now closed.
| Messages (23) | |||
|---|---|---|---|
| msg17703 - (view) | Author: Duane Kaufman (duanekaufman) | Date: 2003-08-11 16:58 | |
When started from a Cygwin window (duane@USD22C821 /cygdrive/d/my_python/Cygwin_test $ /usr/lib/python2.3/idlelib/idle.py) The IDLE window has no menus. If started as: duane@USD22C821 /cygdrive/d/my_python/Cygwin_test $ /usr/lib/python2.3/idlelib/idle.py -n (no subprocess) the menus are present. Starting Python: duane@USD22C821 /cygdrive/d/my_python/Cygwin_test $ python Python 2.3 (#1, Aug 1 2003, 15:01:23) [GCC 3.2 20020927 (prerelease)] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> Win2k SP2 Duane Kaufman duane.kaufman@med.ge.com |
|||
| msg17704 - (view) | Author: Neal Norwitz (nnorwitz) * ![]() |
Date: 2003-08-13 22:38 | |
Logged In: YES user_id=33168 Jason, if you can't help can you assign to Kurt (kbk)? Thanks. |
|||
| msg17705 - (view) | Author: Jason Tishler (jlt63) * | Date: 2003-08-14 12:00 | |
Logged In: YES user_id=86216 I would like to assign this (at least temporarily) to Kurt for the following reasons: 1. I will be off-net for a while 2. I am not very familiar with Tkinter 3. I am not very familiar with IDLE 4. IDLE works fine under Python 2.2.3 with the identical underlying software (e.g, Cygwin, Tcl/Tk, etc.) However, IDLE under Python 2.3 could be tickling YA Cygwin bug... I will check in when I'm back... Thanks. |
|||
| msg17706 - (view) | Author: Kurt B. Kaiser (kbk) * ![]() |
Date: 2003-08-14 14:20 | |
Logged In: YES user_id=149084 It appears that IDLE can't start its subprocess. I have a patch in process that will give proper error messages and timeouts under that condition, at least giving the user a notice about the failure. Then there is the question why the subprocess doesn't start under Cygwin. There are no error messages in the shell window? I'm going to be away for a few days myself. |
|||
| msg17707 - (view) | Author: Jason Tishler (jlt63) * | Date: 2003-08-14 14:49 | |
Logged In: YES
user_id=86216
kbk> There are no error messages in the
kbk> shell window?
No, the shell window just looks like the following:
Python 2.3 (#1, Aug 5 2003, 09:49:11)
[GCC 3.2 20020927 (prerelease)] on cygwin
Type "copyright", "credits" or "license()" for more information.
**********************************************
******************
Personal firewall software may warn about the connection
IDLE
makes to its subprocess using this computer's internal
loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the
Internet.
**********************************************
******************
IDLE 1.0
>>>
And appears to work, until one types "^D", then it hangs.
|
|||
| msg17708 - (view) | Author: Kurt B. Kaiser (kbk) * ![]() |
Date: 2003-08-14 15:21 | |
Logged In: YES user_id=149084 Well, that's peculiar. So the subprocess is starting up ok but the menus aren't posted. Now I'm thinking a TK problem -- what bug are you thinking of? |
|||
| msg17709 - (view) | Author: Jason Tishler (jlt63) * | Date: 2003-08-14 16:06 | |
Logged In: YES
user_id=86216
> what bug are you thinking of?
Nothing in particular. However, experience has taught me
to consider Cygwin bugs when porting to Cygwin...
Anyway, I just found a difference between Python 2.2.3
and 2.3 after starting IDLE.
Under 2.2.3:
$ ps | fgrep python
3308 1400 3308 3092 0 19695
11:57:56 /home/jt/src/python-2.2.3-2/python
Under 2.3:
$ ps | fgrep python
2244 1400 2244 2864 0 19695
12:02:57 /usr/bin/python2.3
700 2244 2244 3592 0 19695
12:02:58 /usr/bin/python2.3
Note one python process under 2.2.3 and two under 2.3.
This may explain why IDLE works under 2.2.3 and not.
Were there major IDLE changes between 2.2.3 and 2.3?
If so, what?
|
|||
| msg17710 - (view) | Author: Kurt B. Kaiser (kbk) * ![]() |
Date: 2003-08-14 16:39 | |
Logged In: YES user_id=149084 Oh, big differences: Without the -n switch, which makes IDLE act like the 2.2 version, IDLE starts up an execution server subprocess which then connects to the user's GUI. This subprocess is restarted every time the user does a Run/F5 or a Shell/Restart Shell. There are other major differences. The IDLE in 2.3 is the version developed on the IDLEfork project at Sourceforge. It sounds like you are getting farther than Duane Kaufman. I wonder if he was seeing the initial message in the shell window like you are. Do you see the menus? Well, gotta go :-) |
|||
| msg17711 - (view) | Author: Jason Tishler (jlt63) * | Date: 2003-08-14 16:47 | |
Logged In: YES user_id=86216 > It sounds like you are getting farther than Duane > Kaufman. I don't think so. AFAICT, we are observing the same behavior. > I wonder if he was seeing the initial message in the > shell window like you are. My WAG is yes. Duane, please confirm. > Do you see the menus? No. |
|||
| msg17712 - (view) | Author: Duane Kaufman (duanekaufman) | Date: 2003-08-14 16:53 | |
Logged In: YES user_id=574999 I am seeing the same behavior, and do _not_ see menus when started with a sub-process. Duane |
|||
| msg17713 - (view) | Author: Duane Kaufman (duanekaufman) | Date: 2003-12-31 15:37 | |
Logged In: YES user_id=574999 Hi, I was wondering if there has been any motion on this item yet? Thanks, Duane |
|||
| msg17714 - (view) | Author: Jason Tishler (jlt63) * | Date: 2003-12-31 17:48 | |
Logged In: YES user_id=86216 Unfortunately, not. The bug report was created right before I was going on vacation last summer. Since I'm still on vacation... :,) Well...actually the assumed high "head banger" factor has facilitated my procrastination. Additionally, since I do not use use IDLE, I'm not very motivated to build a debuggable Python and Cygwin and attach to the hung process with gdb and debug. FWIW, I haven't forgetton. The bug report stares me in the face everytime I read my email. Unfortunately, I haven't taken any action. :,( Are you a developer type? If so, would you be willing to try to debug this problem yourself? |
|||
| msg17715 - (view) | Author: Sean McCardell (smccardell) | Date: 2004-01-20 21:23 | |
Logged In: YES user_id=956087 Don't know if this sheds any more light, but on WinXP, Python 2.3.3: when starting IDLE with a file to edit (e.g. 'idle foo.py') the edit window becomes visible first. _And_ it has a visible menu bar. But when the shell window becomes visible, it has no menu bar, and the menu bar _disappears_ from the edit window. |
|||
| msg17716 - (view) | Author: Jason Tishler (jlt63) * | Date: 2004-01-21 14:44 | |
Logged In: YES user_id=86216 Sean, thanks for the info. Kurt, ring any bells? |
|||
| msg17717 - (view) | Author: Daniel Joyce (danieljoyce) | Date: 2005-07-30 05:15 | |
Logged In: YES
user_id=1321088
I found the problem! :D
Around line 394 of PyShell.py roughly, this function:
def start_subprocess(self):
# spawning first avoids passing a listening socket
to the subprocess
self.spawn_subprocess()
#time.sleep(20) # test to simulate GUI not accepting
connection
addr = (LOCALHOST, self.port)
# Idle starts listening for connection on localhost
for i in range(3):
time.sleep(i)
try:
self.rpcclt = MyRPCClient(addr)
break
except socket.error, err:
pass
else:
self.display_port_binding_error()
return None
# Accept the connection from the Python execution server
self.rpcclt.listening_sock.settimeout(10)
try:
self.rpcclt.accept()
except socket.timeout, err:
self.display_no_subprocess_error()
return None
self.rpcclt.register("stdin", self.tkconsole)
self.rpcclt.register("stdout", self.tkconsole.stdout)
self.rpcclt.register("stderr", self.tkconsole.stderr)
self.rpcclt.register("flist", self.tkconsole.flist)
self.rpcclt.register("linecache", linecache)
self.rpcclt.register("interp", self)
self.transfer_path()
self.poll_subprocess()
return self.rpcclt
It spawns the subprocess, but never manages to talk to it.
The socket.timeout exception is raised. Communication to the
subprocess fails in here:
try:
self.rpcclt = MyRPCClient(addr)
break
except socket.error, err:
pass
Then, it tries to register the functions with tkconsole, and
TkInter seems to die. I haven't dug down into it yet to see
what exactly happens. But, I suspect that rpcclt is null
when self.rpcclt.register() is called.
So, it's not a Tk error. It's an error with trying to
contact the subprocess.
|
|||
| msg82026 - (view) | Author: Daniel Diniz (ajaksu2) | Date: 2009-02-14 12:11 | |
Is the problem described by Daniel, "So, it's not a Tk error. It's an error with trying to contact the subprocess", still present? It's not cleat to me from messages that it'd be restricted to Cygwin, if confirmed on other build please change title again. |
|||
| msg84295 - (view) | Author: Guilherme Polo (gpolo) * ![]() |
Date: 2009-03-28 01:38 | |
I just tried idle here under cygwin and menus are not shown. This cygwin includes python 2.5.2, btw. But I verified what Daniel Joyce said and I see the problem is no longer there, so it has to be tracked down again. |
|||
| msg114255 - (view) | Author: Mark Lawrence (BreamoreBoy) | Date: 2010-08-18 17:33 | |
Is this still an issue with later versions of Python and Cygwin? |
|||
| msg156776 - (view) | Author: Andrew Svetlov (asvetlov) * ![]() |
Date: 2012-03-25 21:33 | |
ping |
|||
| msg156830 - (view) | Author: Jason Tishler (jlt63) * | Date: 2012-03-26 16:48 | |
AFAICT, this issue is resolved in the latest Cygwin Python package (i.e., 2.6.7-1) that is built against a X11-based Tcl/Tk instead of a Win32 GDI version: http://cygwin.com/ml/cygwin-announce/2012-02/msg00014.html |
|||
| msg156831 - (view) | Author: Andrew Svetlov (asvetlov) * ![]() |
Date: 2012-03-26 17:01 | |
I like to close the issue if problem has been solved by cygwin itself. |
|||
| msg156832 - (view) | Author: Jason Tishler (jlt63) * | Date: 2012-03-26 17:11 | |
Please do. When I tested the Cygwin Python 2.6.7-1 release, IDLE was one of my testcases. In my limited testing (I'm not a regular IDLE user), the menus appeared to function properly. |
|||
| msg156848 - (view) | Author: Andrew Svetlov (asvetlov) * ![]() |
Date: 2012-03-26 18:43 | |
Closing as the latest cygwin build works fine. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2012-03-26 18:43:19 | asvetlov | set | status: open -> closed resolution: out of date messages: + msg156848 stage: needs patch -> committed/rejected |
| 2012-03-26 17:24:01 | r.david.murray | set | nosy:
- smccardell |
| 2012-03-26 17:11:53 | jlt63 | set | messages: + msg156832 |
| 2012-03-26 17:01:36 | asvetlov | set | messages: + msg156831 |
| 2012-03-26 16:48:56 | jlt63 | set | messages: + msg156830 |
| 2012-03-25 21:33:46 | asvetlov | set | nosy:
+ asvetlov messages: + msg156776 |
| 2010-08-18 17:33:36 | BreamoreBoy | set | versions:
+ Python 3.1, Python 2.7, Python 3.2, - Python 2.6 nosy: + BreamoreBoy messages: + msg114255 stage: test needed -> needs patch |
| 2009-03-28 01:38:35 | gpolo | set | nosy:
+ gpolo messages: + msg84295 |
| 2009-02-14 12:11:49 | ajaksu2 | set | nosy:
+ ajaksu2 title: IDLE starts with no menus (Cygwin build of python2.3) -> IDLE starts with no menus (Cygwin) messages: + msg82026 stage: test needed |
| 2008-01-20 19:31:34 | christian.heimes | set | type: behavior versions: + Python 2.6, - Python 2.3 |
| 2003-08-11 16:58:45 | duanekaufman | create | |
