Subject: Re: Memory leakage in Lisp
From: Erik Naggum <erik@naggum.no>
Date: 20 Nov 2002 00:32:23 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3246741143948417@naggum.no>

* Drew McDermott
| I know that garbage collection is supposed to make memory leaks
| impossible, but in fact they do seem to occur.

  A memory leak is defined as memory that cannot be referenced, yet is not
  reclaimed and available for re-use.  Since the whole point with garbage
  collection is to reclaim memory that cannot be referenced, and copying
  garbage collectors have a really hard time copying memory that is not
  actually referenced, something is clearly amiss here.  Unless you think
  there is a bug in the garbage collection algorithm, I think calling it a
  "memory leak" is misleading.

  I presume you are not talking about the memory that has been allocated
  from the system and that is available to allocate from within the Common
  Lisp system.  You can ask Allegro CL to release such memory with the
  function `system:resize-areas´.

| I have had the following experience in more than one Lisp implementation:
| Memory space is allocated and then never reclaimed by the garbage
| collector, even though there is no way that I know of to get to the stuff
| that is supposedly still in use.

  How do you see the discrepancy?  Is the output from `(room t)´ misleading?

-- 
Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.