> OK, looks like Tcl 8.4.7 introduced the leak.  Here's my test
> run against Tcl 8.4.6:

I would suspect this patch from Kenny / Mistachkin (applied by me):

2004-07-20  Jeff Hobbs  <[EMAIL PROTECTED]>

        * generic/tclEvent.c:       Correct threaded obj allocator to
        * generic/tclInt.h:         fully cleanup on exit and allow for
        * generic/tclThreadAlloc.c: reinitialization. [Bug #736426]
        * unix/tclUnixThrd.c:       (mistachkin, kenny)
        * win/tclWinThrd.c:

and this other looks possible:

2004-05-05  David Gravereaux <[EMAIL PROTECTED]>

        * generic/tclInt.h:
        * generic/tclThread.c:
        * generic/tclEvent.c:
        * unix/tclUnixThrd.c:
        * win/tclWinThrd.c:  Provisions made so masterLock, initLock,
        allocLock and joinLock mutexes can be recovered during
        Tcl_Finalize.

Jeff

> -----Original Message-----
> From: AOLserver Discussion
> [mailto:[EMAIL PROTECTED] On Behalf Of Dossy Shiobara
> Sent: April 6, 2005 6:21 PM
> To: [email protected]
> Subject: Re: [AOLSERVER] Leaky AS/Tcl memory allocator -- Tcl
> 8.4.7 the culprit
>
>
> On 2005.04.06, Dossy Shiobara <[EMAIL PROTECTED]> wrote:
> > OK, time to binary search to figure out what Tcl version introduced
> > this leak.  :-)
>
>
>     $ LD_LIBRARY_PATH=`pwd` ./tclsh
>     % info patchlevel
>     8.4.6
>     % lappend auto_path /usr/lib/tcl8.4; package require Thread
>     2.6.1
>     % exec ps -p [pid] -o pid,vsz,rss,args
>       PID   VSZ  RSS COMMAND
>      8317 12704 1996 ./tclsh
>     % for {set i 0} {$i < 1000} {incr i} {
>         thread::join [thread::create -joinable {}]
>     }
>     % exec ps -p [pid] -o pid,vsz,rss,args
>       PID   VSZ  RSS COMMAND
>      8317 21192 2272 ./tclsh
>
> Same test against Tcl 8.4.7:
>
>     $ LD_LIBRARY_PATH=`pwd` ./tclsh
>     % info patchlevel
>     8.4.7
>     % lappend auto_path /usr/lib/tcl8.4; package require Thread
>     2.6.1
>     % exec ps -p [pid] -o pid,vsz,rss,args
>       PID   VSZ  RSS COMMAND
>      9358 12692 2000 ./tclsh
>     % for {set i 0} {$i < 1000} {incr i} {
>         thread::join [thread::create -joinable {}]
>     }
>     % exec ps -p [pid] -o pid,vsz,rss,args
>       PID   VSZ  RSS COMMAND
>      9358 48272 29432 ./tclsh
>
>
> If anyone wants to review the changes to Tcl between 8.4.6
> and 8.4.7, you can produce the diff like this:
>
>     $ cvs -z6 -d :pserver:[EMAIL PROTECTED]:/cvsroot/tcl
> rdiff -rcore-8-4-6 -rcore-8-4-7 tcl > tcl-846-847.diff
>
> In the meantime, everyone who is seeing unexplained nsd
> memory growth if you're running Tcl >= 8.4.7, please roll
> back to Tcl 8.4.6 and see if that makes the problem go away.
> (Andrew?  Janine?  etc.)
>
> -- Dossy


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to