<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/incrtcl/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/incrtcl/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 12 Jun 2024 08:59:57 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/incrtcl/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Destructor silently fails to delete class object</title><link>https://sourceforge.net/p/incrtcl/bugs/293/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello, &lt;/p&gt;
&lt;p&gt;I am using tclsh 8.6 and itcl 4.2.1. My machine's OS is CentOS Linux release 7.9.2009 (Core). &lt;br/&gt;
I have noticed a bug in itcl destructor. A destructor with tcl syntax error can silently pass, but the object is not deleted. I created an itcl::local instance of my_class (a class with a syntax error in destructor) inside a procedure body. First procedure call passes with the error silented (which is already quite bad). Another call fails because of already existing object with the specified name in the current namespace. At that point I can't remove the object manually, since interpreter claims that it is currently being deleted. &lt;/p&gt;
&lt;p&gt;Check the following example:&lt;/p&gt;
&lt;p&gt;package require itcl&lt;/p&gt;
&lt;p&gt;itcl::class my_class {&lt;br/&gt;
    destructor {&lt;br/&gt;
      puts "my_class destructor start"&lt;br/&gt;
      dict for {k v} {&lt;br/&gt;
        puts "syntax error on purpose" &lt;br/&gt;
       }&lt;br/&gt;
    }&lt;br/&gt;
  }&lt;br/&gt;
  proc my_proc {} {&lt;br/&gt;
    itcl::local my_class 123&lt;br/&gt;
  }&lt;br/&gt;
  puts "Error in destructor is silented"&lt;br/&gt;
  my_proc                                                                   &lt;br/&gt;
  puts "'123' exists in current namespace"&lt;br/&gt;
  my_proc&lt;br/&gt;
  itcl::delete object 123 ;# -&amp;gt; can't delete an object while it is being destructed&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michał Mrozik</dc:creator><pubDate>Wed, 12 Jun 2024 08:59:57 -0000</pubDate><guid>https://sourceforge.nete95f00181408c235cce06cdfc08cc754d5a51925</guid></item><item><title>Thread containing an itcl::ensemble crashes by releasing </title><link>https://sourceforge.net/p/incrtcl/bugs/292/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;thread::send -async &lt;span&gt;[thread::create {thread::wait}]&lt;/span&gt; {&lt;br/&gt;
    package require Itcl&lt;br/&gt;
    ::itcl::ensemble dummy {}&lt;br/&gt;
} result&lt;br/&gt;
After releasing the thread, the interpreter crashes with "alloc: invalid block..."&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Szabó László Zoltán</dc:creator><pubDate>Wed, 26 May 2021 12:05:18 -0000</pubDate><guid>https://sourceforge.nete4e2c9d78533c6be304a5bf69ec273e002b2298e</guid></item><item><title>#291 memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/?limit=25#4cc2</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed-out-of-date&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;: 3.3.0 --&amp;gt; 4.0*&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Don Porter</dc:creator><pubDate>Fri, 31 May 2019 15:46:09 -0000</pubDate><guid>https://sourceforge.net0062a9390ba25fa83afa6c958b1b28864148f46b</guid></item><item><title>#291 memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/?limit=25#a4a7</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Sure looks like this was fixed more than 2 years ago. Upgrade to fix.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://core.tcl-lang.org/itcl/info/0b0d0e0b8cd8105c" rel="nofollow"&gt;https://core.tcl-lang.org/itcl/info/0b0d0e0b8cd8105c&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Don Porter</dc:creator><pubDate>Fri, 31 May 2019 15:45:11 -0000</pubDate><guid>https://sourceforge.nete44b88259c2eec53f1b6fcc863b13064ae11fe95</guid></item><item><title>#291 memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/?limit=25#d05c</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;That said, the routine ItclCreateArgList() in current development certainly includes ckfree() calls on both argv and defaultArgv.  Can you specify the code path that misses those calls and leaks?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Don Porter</dc:creator><pubDate>Fri, 31 May 2019 15:31:54 -0000</pubDate><guid>https://sourceforge.netf092965a0fff98f7df6dbab7f699653ec54266f6</guid></item><item><title>#291 memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/?limit=25#8208</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;~~~&lt;br/&gt;
All work on Itcl 4.0.* is abandoned. Upgrade to Itcl 4.1.2 or development trunk.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Don Porter</dc:creator><pubDate>Fri, 31 May 2019 15:30:34 -0000</pubDate><guid>https://sourceforge.net81c16a985246d61e03ee8ec6858ba3a1b30bd350</guid></item><item><title>#291 memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/?limit=25#4396</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;My Itcl version is 4.0.4&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gevorg Tevosyan</dc:creator><pubDate>Fri, 31 May 2019 13:43:51 -0000</pubDate><guid>https://sourceforge.net9baee0df82ebd2fb026db7af55af4565893ce072</guid></item><item><title>memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;file -&amp;gt; itclHelpers.c&lt;br/&gt;
function -&amp;gt;ItclCreateArgList&lt;/p&gt;
&lt;p&gt;Tcl_SplitList allocates memory on argv and defaultArgv but those not fried in this function after usage which cause memory leaks&lt;/p&gt;
&lt;p&gt;Below documentation for Tcl_SplitList  &lt;a href="https://www.tcl.tk/man/tcl8.4/TclLib/SplitList.htm" rel="nofollow"&gt;https://www.tcl.tk/man/tcl8.4/TclLib/SplitList.htm&lt;/a&gt; in which it says that it is caller responsibility to free memory.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br/&gt;
Gevorg&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gevorg Tevosyan</dc:creator><pubDate>Fri, 31 May 2019 13:34:24 -0000</pubDate><guid>https://sourceforge.net060ff1d045b0e86f8e864e073be8a26485781098</guid></item><item><title>memory leak in ItclCreateArgList function</title><link>https://sourceforge.net/p/incrtcl/bugs/291/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 291 has been modified: memory leak in ItclCreateArgList function&lt;br/&gt;
Edited By: Don Porter (dgp)&lt;br/&gt;
Status updated: u'open' =&amp;gt; u'closed-out-of-date'&lt;br/&gt;
_milestone updated: u'3.3.0' =&amp;gt; u'4.0*'&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gevorg Tevosyan</dc:creator><pubDate>Fri, 31 May 2019 13:34:24 -0000</pubDate><guid>https://sourceforge.net94d02bb0fc18bb910d3e44e2347f38f52e034dc3</guid></item><item><title>Class Procedures Can Be Called Like Methods</title><link>https://sourceforge.net/p/incrtcl/bugs/290/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Class procedures can be erroneously called like methods. They even have access to instance variables:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;package require Itcl

itcl::class A {

    public proc hello {} {
        puts hello
    }

    private variable var there

    public proc there {} {
        puts $var
    }
}

# Works as expected.
A::hello

# Works, but shouldn't.
set a [A #auto]
$a hello

# Can even access instance variables.
$a there
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;With Itcl 4.1.2:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;hello
hello
there
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;With Itcl 3.4:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;hello
bad option "hello": should be one of...
  a0 cget -option
  a0 configure ?-option? ?value -option value...?
  a0 isa className
    while executing
"$a hello "
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Tomkinson</dc:creator><pubDate>Thu, 28 Mar 2019 12:50:11 -0000</pubDate><guid>https://sourceforge.net1743196d1089f8abde3dfc7d51346f1e6018d359</guid></item></channel></rss>