> 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.