This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: simple moves freeze IDLE
Type: Stage:
Components: IDLE Versions: Python 2.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: kbk Nosy List: douglas_goodall, josiahcarlson, kbk, rhettinger, ronaldoussoren, taleinat
Priority: high Keywords:

Created on 2006-10-05 04:46 by douglas_goodall, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (7)
msg30161 - (view) Author: Douglas W. Goodall (douglas_goodall) Date: 2006-10-05 04:46
Using version 2.5 for Windows...

import os

then type "print os." and wait for the 
hint window. then scroll to the bottom (spawnv).

That's it. At this point IDLE is frozen.

I have done it a few times in a row. It seems
very reproduceable to me.

Be well. Doug
msg30162 - (view) Author: Josiah Carlson (josiahcarlson) * (Python triager) Date: 2006-10-07 16:58
Logged In: YES 
user_id=341410

I can reproduce this on 2.5 beta 2, and it dies exactly when
'spawnv' is highlighted.  I have no suggested fixes, only
reproducing to verify that this is not user-specific bug.
msg30163 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2006-10-08 03:16
Logged In: YES 
user_id=80475

I can reproduce this in Py2.5 final.  This may be a 
TkInter bug and not unique to IDLE or to Windows.
msg30164 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2006-10-08 17:47
Logged In: YES 
user_id=580910

As an additional data point: this seems to work just fine on Mac OS X.
msg30165 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2006-12-09 17:33
This cause for this bug is an endless loop in AutoCompleteWindow.py, line 121:

114 selstart = self.completions[cursel]
[snip...]
121 while cursel > 0 and selstart[:i] <= self.completions[cursel-1]:
122     i += 1
123 newstart = selstart[:i]

The case where this loop becomes endless only arises when the same completion item appears twice in the completions list, thus self.completions[cursel-1] and self.completions[cursel] are identical.

This happens with the os module because spawnv and spawnve appear twice in os.__all__.

Solution:
1) Fix the potentially endless loop (add a bound for i)
2) Remove identical completion items from the completions list (its a bug anyways)
msg30166 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2006-12-15 05:15
Rev 53042
Also, it appears that os.__all__ is fixed.  Thanks for the analysis!
msg62376 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2008-02-14 04:52
backported 2.5.2c1
History
Date User Action Args
2022-04-11 14:56:20adminsetgithub: 44083
2008-02-14 04:52:41kbksetmessages: + msg62376
2006-10-05 04:46:38douglas_goodallcreate