<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/tcl/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/tcl/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/tcl/bugs/</id><updated>2013-06-06T14:26:15Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>bad stack top in nested [dict for]</title><link href="https://sourceforge.net/p/tcl/bugs/5249/" rel="alternate"/><published>2013-06-06T14:26:15Z</published><updated>2013-06-06T14:26:15Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.nete77eb729faef0a77281ea033398e2743dba0ae5d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Using a --enable-symbols=all build of either the trunk,&lt;br /&gt;
or the 8.6.0 release:&lt;/p&gt;
&lt;p&gt;$ cat demo.tcl&lt;br /&gt;
apply {{} {&lt;br /&gt;
dict for {a b} {c d} {&lt;br /&gt;
dict for {e f} {g h} {&lt;br /&gt;
return 5&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
$ make shell SCRIPT=demo.tcl&lt;br /&gt;
...&lt;br /&gt;
Bad stack top 4 at pc 104 in TclNRExecuteByteCode (min 0, max 3)&lt;br /&gt;
executing dict for {e f} {g h} {&lt;br /&gt;
return 5&lt;br /&gt;
}&lt;br /&gt;
TclNRExecuteByteCode execution failure: bad stack top&lt;br /&gt;
make: *** [shell] Abort trap&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>bad stack top in nested [dict for]</title><link href="https://sourceforge.net/p/tcl/bugs/5248/" rel="alternate"/><published>2013-06-06T14:12:39Z</published><updated>2013-06-06T14:12:39Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.net72e625faf65b53f64a19abed5c2f1299b920cfed</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Using a --enable-symbols=all build of either the trunk,&lt;br /&gt;
or the 8.6.0 release:&lt;/p&gt;
&lt;p&gt;$ cat demo.tcl&lt;br /&gt;
apply {{} {&lt;br /&gt;
dict for {a b} {c d} {&lt;br /&gt;
dict for {e f} {g h} {&lt;br /&gt;
return 5&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
$ make shell SCRIPT=demo.tcl&lt;br /&gt;
...&lt;br /&gt;
Bad stack top 4 at pc 104 in TclNRExecuteByteCode (min 0, max 3)&lt;br /&gt;
executing dict for {e f} {g h} {&lt;br /&gt;
return 5&lt;br /&gt;
}&lt;br /&gt;
TclNRExecuteByteCode execution failure: bad stack top&lt;br /&gt;
make: *** [shell] Abort trap&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>return in expr mangles the stack</title><link href="https://sourceforge.net/p/tcl/bugs/5247/" rel="alternate"/><published>2013-06-05T21:22:32Z</published><updated>2013-06-05T21:22:32Z</updated><author><name>Donal K. Fellows</name><uri>https://sourceforge.net/u/dkf/</uri></author><id>https://sourceforge.netb8595a73edb483b6a111447e4e58a9e44f5cd743</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;This crashes in a full debug build (without the optimizer work I'm going to commit very soon):&lt;br /&gt;
apply {{} {expr {[return foo] + $a + $b}}}&lt;/p&gt;
&lt;p&gt;Error is:&lt;br /&gt;
bad stack adjustment when compiling expr (was 0 instead of 1)&lt;/p&gt;
&lt;p&gt;I believe (from scanning the fossil history) that you may have fixed something in this area. (Note that I don't know what bytecode sequence is generated; disassembling hits the same panic.)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>basic-46.1 hangs</title><link href="https://sourceforge.net/p/tcl/bugs/5246/" rel="alternate"/><published>2013-06-05T13:31:25Z</published><updated>2013-06-05T13:31:25Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.netb4522baa404e49c01ab55aa1210547761b39ad88</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;On the trunk, in a --enable-symbols=all build,&lt;br /&gt;
test basic-46.1 never returns.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Memory leaks in compiled code</title><link href="https://sourceforge.net/p/tcl/bugs/5245/" rel="alternate"/><published>2013-06-01T21:03:55Z</published><updated>2013-06-01T21:03:55Z</updated><author><name>Donal K. Fellows</name><uri>https://sourceforge.net/u/dkf/</uri></author><id>https://sourceforge.netec4fd78bab1c8b4a72bd4b14a2be0654a23765f7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;This procedure leaks memory when run (or would if it didn't crash):&lt;/p&gt;
&lt;p&gt;proc foo {} {while 1 {list a [list b [continue]]}}&lt;/p&gt;
&lt;p&gt;The problem? The INST_CONTINUE doesn't clear things down. (This is a general problem if we've got a [return -code continue]; this is all work-in-progress.) So we add tracking of stack depth (dkf-compile-improvements branch) so we can issue the right number of INST_POPs and it hangs without memory consumption, absolutely correctly. Yay!&lt;/p&gt;
&lt;p&gt;Let's try in our enhanced code with a new procedure:&lt;/p&gt;
&lt;p&gt;proc foo {} {while 1 {puts {*}[puts {*}[continue]]}}&lt;/p&gt;
&lt;p&gt;This is now worse; it leaks memory like it is going out of fashion! The problem is that we've got a build-up on the TD-&amp;gt;auxObjList that can't be cleared.&lt;/p&gt;
&lt;p&gt;I've not analyzed what happens when there's a [catch] involved.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>stack imbalance panic from [list]</title><link href="https://sourceforge.net/p/tcl/bugs/5244/" rel="alternate"/><published>2013-05-29T15:43:56Z</published><updated>2013-05-29T15:43:56Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.net9c8297250ee1db9d08694c3ead8903ee2e2550d4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;% proc foo {} {&lt;br /&gt;
list [append ::dgp a b c]&lt;br /&gt;
}&lt;br /&gt;
% foo&lt;br /&gt;
bad stack adjustment when compiling list (was 2 instead of 1)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>panic in [array set] compiler</title><link href="https://sourceforge.net/p/tcl/bugs/5243/" rel="alternate"/><published>2013-05-24T16:55:03Z</published><updated>2013-05-24T16:55:03Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.net470166e2ec8f80d7a8dcc2f53e9e27d93dab609f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In a --enable-symbols=all build of the trunk:&lt;/p&gt;
&lt;p&gt;$ make shell&lt;br /&gt;
...&lt;br /&gt;
% array set foo 4&lt;br /&gt;
bad stack adjustment when compiling array (was 2 instead of 1)&lt;br /&gt;
make: *** [shell] Abort trap&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>[file owned] undocumented Windows defects</title><link href="https://sourceforge.net/p/tcl/bugs/5242/" rel="alternate"/><published>2013-05-21T18:59:34Z</published><updated>2013-05-21T18:59:34Z</updated><author><name>Don Porter</name><uri>https://sourceforge.net/u/dgp/</uri></author><id>https://sourceforge.netd31c2b0e61b1430372d37f65309aec3b7cb6deb2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;[file owned] is useless on Windows, always returning true.&lt;/p&gt;
&lt;p&gt;This is noted in comments, but not documented.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>lsort -nocase does not sort non-ASCII correctly</title><link href="https://sourceforge.net/p/tcl/bugs/5241/" rel="alternate"/><published>2013-05-20T17:42:15Z</published><updated>2013-05-20T17:42:15Z</updated><author><name>Ashok P. Nadkarni</name><uri>https://sourceforge.net/u/apnadkarni/</uri></author><id>https://sourceforge.net4148580f8bc832704867d75c9c74d8e9a3cd8d24</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;From the chat&lt;/p&gt;
&lt;p&gt;I don't expect the following two commands to give the same answer&lt;br /&gt;
[00:00]   apn (wits) 93 % lsort  [list \u101 \u100]&lt;br /&gt;
Ā ā&lt;br /&gt;
(wits) 94 % lsort  -nocase [list \u101 \u100]&lt;br /&gt;
Ā ā&lt;br /&gt;
[00:01]   apn With -nocase, I would expect the second command to return ā Ā&lt;br /&gt;
[00:02]       yukonbob exits, stage left!&lt;br /&gt;
[00:02]   apn just like&lt;br /&gt;
[00:02]   apn (wits) 96 % lsort [list a A]&lt;br /&gt;
A a&lt;br /&gt;
(wits) 97 % lsort -nocase [list a A]&lt;br /&gt;
a A&lt;br /&gt;
[00:04]   dgp file the bug&lt;/p&gt;
&lt;p&gt;The issue boils down to MergeLists using strcasecmp which does not handle non-ASCII characters.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>If a temporary file cannot be opened Tcl_LoadFile can crash</title><link href="https://sourceforge.net/p/tcl/bugs/5240/" rel="alternate"/><published>2013-05-18T18:43:10Z</published><updated>2013-05-18T18:43:10Z</updated><author><name>Roy Keene</name><uri>https://sourceforge.net/u/rkeene/</uri></author><id>https://sourceforge.netd08eeb5b644dda4d781b8279489258ad836f5a4e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;copyToPtr can be NULL and it should be checked before passing it to Tcl_IncrRefCount()&lt;/p&gt;
&lt;p&gt;&lt;a href="http://core.tcl.tk/tcl/artifact/26a06b015bfec491bb32903223af5152b3ceeb0d?ln=3230-3231" rel="nofollow"&gt;http://core.tcl.tk/tcl/artifact/26a06b015bfec491bb32903223af5152b3ceeb0d?ln=3230-3231&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Prelimnary patch attached, however after applying this patch I then get:&lt;br /&gt;
Tcl_FSGetFileSystemForPath called with NULL object&lt;br /&gt;
Segmentation fault (core dumped)&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>