From: SourceForge.net <no...@so...> - 2012-01-27 14:32:42
|
Bugs item #2824981, was opened at 2009-07-21 12:47 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=2824981&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: 38. Init - Library - Autoload >Group: current: 8.5.11 Status: Open Resolution: None >Priority: 9 Private: No Submitted By: Zbigniew (zbigniew_b) >Assigned to: Don Porter (dgp) Summary: lack of [set] causes infinite loop through [unknown] Initial Comment: It seems, that "rename" command is faulty - by trying, as example: % rename set asd % asd a 0 ...one can see, that any other input is impossible, while CPU is at full power. Tested on Linux. Test with tclsh8.5 revealed no such problem, but still another one: $tclsh8.5 % rename set asd % asd a 1 1 % asd b 2 2 % set a 1 too many nested evaluations (infinite loop?) ...and since this time, every try to run any other non-existing command is answered with "too many nested evaluations (infinite loop?)" instead of with usual "invalid command name". ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2012-01-27 06:32 Message: This bug fix didn't get backported to 8.5. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2009-12-30 05:52 Message: The problem with [unknown] is now fixed in HEAD: errors in setting two variables were [catch]ed, so that the infinite loop was not being detected. Bug kept open because there is a deeper problem: this behaviour should NOT be triggerable with a plain script, infinite recursion of the unknown handler should never happen. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2009-12-29 09:11 Message: Updated title to be more descriptive of the real issue ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2009-12-10 19:29 Message: still present ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2009-07-21 16:47 Message: 8.6 seems to be miscounting recursion levels from [unknown] proc history args {} rename set xx set x 1 enters a busy loop and never hits the recursion limit. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2009-07-21 14:24 Message: The 8.5 behaviour is correct - it is a consequence of your breaking [unknown] (which uses [set]) by not providing a reasonable implementation of [set]. This causes [unknown] to call itself recursively. Not sure yet about what is happening with 8.6 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=2824981&group_id=10894 |