[Python-Dev] 2.3rc2 IDLE problems on a Win2000sp3 box

Kurt B. Kaiser kbk@shore.net
Sat, 26 Jul 2003 12:22:07 -0400


Alex Martelli <aleaxit@yahoo.com> writes:

> A guy on the Italian Python mailing list has just installed 2.3rc2
> on top of his existing 2.2 and IDLE doesn't start.  Specifically
> when he gives an explicit command at the DOS Box prompt of:
>
> python.exe "C:\Programmi\Python23\Lib\idlelib\idle.pyw"
>
> he sees from Task Manager that 2 python.exe instances start, one
> disappears after a few seconds, and on the DOS Box appear the
> messages:
>
> Python subprocess socket error: Connection refused, retrying....
>
> Python subprocess socket error: Connection refused, retrying....
>
> Python subprocess socket error: Connection refused, retrying....
>
> Connection to Idle failed, exiting.

If he got this far, the GUI process was able to set up a listening
socket on 127.0.0.1 / 8833 but the subprocess was not able to make a
connection to it.  I have seen this problem in the past when a crashed
IDLE GUI process was left listening on 8833.  Please have him check
the task manager, there should be only two pythonw.exe running in W2K.
Sorting the task manager on the first column helps to see this.


> *HOWEVER* IDLE runs fine IF he starts it while connected to
> the internet!  This clearly points to a configuration/installation
> problem with his Win2000 SP3 box 

Please define "connected to the internet".  Does it mean plug in 
the RJ-45?  What exactly does he do to "disconnect"?  Are reboots
involved?

(He should upgrade his box, there is a critical buffer overflow hole
in Direct X announced a couple of days ago.  It would also be
interesting to see if SP4 etc. fixes the problem.)

> and I'm working with him to pin that down -- see if his sockets work
> at all when he's not on the net, etc, etc.  Nevertheless I'm worried
> by this problem: no doubt it's something he needs to fix by
> correcting his Win2000 installation and configuration, *BUT*, just
> as doubtlessly a huge number of Windows machines out there must
> suffer from similar misconfiguration issues.  If on all of those
> misbegotten boxes IDLE 1.0 silently refuses to start with no
> clarification nor error-message at all to the user as to WHY
> (typical newbies won't THINK of running idle.pyw at the prompt,
> they'll keep banging on icons and getting silent failure as a
> result),

Well, this is the key point.  Things can and no doubt will go wrong,
many of them beyond the control of IDLE or Python.  It's desirable to
let the user know what's going on if possible and not leave him
"banging the icons"  :-)

> I predict a flood of help request to the main and help lists, AND
> many potential new users simply giving up on Python without even
> such help requests -- that would be pretty sad.
>
> I can't reproduce the problem myself -- I've tried deliberately
> breaking my Win/98 configuration but local sockets keep getting
> opened happily, and I have no Win/2000 box to try things on.

I can't see it on W2K / SP4 or XP Pro 2002 / SP1 but I need to 
know what "disconnect from the internet" means.

> Should I nevertheless try bug-reporting or even hacking a patch that
> puts out some kind of visible error message to the user if socket
> connection fails, even though I can't try it out myself?  Does
> anybody agree with me that this doubtlessly trivial issue has the
> potential to do Python substantial damage, making it critical enough
> to address between 2.3rc2 and 2.3 final...?

This would involve having the subprocess open a Tk window with
the error message.   I'll take a look at it.  However, I'm going
to be away for a couple of days starting this afternoon.

-- 
KBK