[tbnl-devel] Re: That Memory Consumption Problem Unique to OS/X (Again)
Bob Hutchison
hutch at recursive.ca
Fri Apr 1 23:11:51 UTC 2005
On Apr 1, 2005, at 5:14 PM, Bob Hutchison wrote:
> Hi,
>
> I've been looking into that unbound memory consumption situation when
> directly connecting to TBNL (that doesn't happen when going through
> mod_lisp or Araneida and only seems to happen on OS/X).
>
> I put some debugging statements into KMRCL and have (finally) noticed
> something that was blindingly obvious before.
>
> There is a KMRCL function lw-worker in listener.lisp that is called
> for every request made to TBNL directly. It is called only once (or,
> at least, a very few times) if TBNL is invoked indirectly (i.e. via
> mod_lisp or Araneida). The call to this function is through a lambda
> that is defined in make-socket-server and passed to
> comm:start-up-server.
A bit more specific information. In the worker initializer there is a
lambda being assigned to the thread-fun slot. In the case of
mod_lisp->TBNL this function very rarely returns (but it does). In the
case of browser->TBNL this function always returns.
So it turns out that the tbnl::listen-for-request function is
returning. Don't know why yet.
How could this be chewing up memory? Where is the bug, surely returning
from the listener-function should cause things to be cleaned up?
>
> I am assuming at this point that this has something to do with the
> problem.
>
> Now, I don't really understand what is going on here. I will continue
> to look into this, but if anyone happens to already know what is going
> on here I'd love to hear about it.
>
> Cheers,
> Bob
>
>
----
Bob Hutchison -- blogs at <http://www.recursive.ca/hutch/>
Recursive Design Inc. -- <http://www.recursive.ca/>
More information about the Tbnl-devel
mailing list