[Idle-dev] idle 1.0.2 cannot bind (again) to port 8833 w/python 2.3.3

Kurt B. Kaiser kbk at shore.net
Thu Feb 26 18:13:57 EST 2004


Neal Norwitz <neal at metaslash.com> writes:

> You can restart the process if you wish.  IIRC, it's started when
> necessary.  The problem doesn't haven anything to do with IDLE
> specifically.  When you started X (perhaps by logging in),
> GNOME started up, which started oafd and it took port 8833.
> Unfortunately, IDLE is hard coded (IIRC) to use the same port.
> So there is a conflict since each program is trying to use
> the same port.  Whichever starts first wins.  I think oafd
> can use any port.  

It's strange it would use 8833 twice, but I guess system startup is
deterministic.  I looked around a bit, but Bonobo is complex, and I
ran out of time trying to figure out whether oasd's port is hard
coded.

> Just in case, you can verify that 8833 is not in /etc/services.
> If it is in there, change the value to another number.  The
> new number must be unique in /etc/services (at least for all
> the TCP services).

If IDLE's port was registered in /etc/services, might that
prevent oasd from grabbing it?  Or is services just advisory?

In any case, IDLE is indeed hard coded to 8833.  That's in
PyShell.py:ModifiedInterpreter(), around line 322.  There should be no
problem changing it to, say, 8843 if that solves the problem.  Just
run IDLE as root with the -n switch, load the PyShell module, change that
line, and try again.

In the future, IDLE will find another port if one is in use.  That
will pave the way for running multiple IDLEs, and also fix this
problem.

-- 
KBK



More information about the IDLE-dev mailing list